Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 604030

Summary: gnome-base/gnome-control-center uses wrong use flag (smbclient) for net-fs/samba
Product: Portage Development Reporter: christof
Component: Core - DependenciesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: major CC: bruce, christof, daniel, dev-portage, jdavid.ibp, josef64, profunctor, shadaloo, thomas, zamabe
Priority: Normal Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=608546
Whiteboard:
Package list:
Runtime testing required: ---

Description christof 2016-12-29 13:28:05 UTC
gnome-control-center-3.20.1-r1 uses wrong use flag for >=net-fs/samba-3.6.14-r1[smbclient].

>=net-fs/samba-3.6.14-r1[client] would be the right choice.

$ diff /usr/portage/gnome-base/gnome-control-center/gnome-control-center-3.20.1-r1.ebuild /usr/local/portage/gnome-base/gnome-control-center/gnome-control-center-3.20.1-r1.ebuild 
60c60 
<       || ( >=net-fs/samba-3.6.14-r1[smbclient] >=net-fs/samba-4.0.0[client] ) ) 
--- 
>       || ( >=net-fs/samba-3.6.14-r1[client] >=net-fs/samba-4.0.0[client] ) ) 

Reproducible: Always

Steps to Reproduce:
1. emerge =gnome-base/gnome-3.20 with cups useflag
2.
3.
Actual Results:  
 # emerge -avuN gnome-base/gnome 
setlocale: unsupported locale setting 
setlocale: unsupported locale setting 

These are the packages that would be merged, in order: 

Calculating dependencies... done! 

emerge: there are no ebuilds built with USE flags to satisfy ">=net-fs/samba-3.6.14-r1[smbclient]". 
!!! One of the following packages is required to complete your request: 
- net-fs/samba-4.2.11::gentoo (Missing IUSE: smbclient) 
(dependency required by "gnome-base/gnome-control-center-3.20.1-r1::gentoo[cups]" [ebuild]) 
(dependency required by "gnome-base/gnome-core-apps-3.20.0::gentoo" [ebuild]) 
(dependency required by "gnome-base/gnome-3.20.0::gentoo" [ebuild]) 
(dependency required by "gnome-base/gnome" [argument])
Comment 1 christof 2016-12-29 13:30:03 UTC
using an local overlay and changing smbclient to client useflag fixes the problem

$ diff /usr/portage/gnome-base/gnome-control-center/gnome-control-center-3.20.1-r1.ebuild /usr/local/portage/gnome-base/gnome-control-center/gnome-control-center-3.20.1-r1.ebuild 
60c60 
<       || ( >=net-fs/samba-3.6.14-r1[smbclient] >=net-fs/samba-4.0.0[client] ) ) 
--- 
>       || ( >=net-fs/samba-3.6.14-r1[client] >=net-fs/samba-4.0.0[client] ) )
Comment 2 Pacho Ramos gentoo-dev 2016-12-31 13:28:31 UTC
Why are USE flags renamed without checking for reverse deps? :S
Comment 3 Antoine Pinsard 2017-01-08 08:43:04 UTC
Actually `|| ( >=net-fs/samba-3.6.14-r1[client] >=net-fs/samba-4.0.0[client] )` is equivalent to `>=net-fs/samba-3.6.14-r1[client]`. But it can also be simplified into `net-fs/samba[client]` as oldest version in tree is 4.2.11 anyway.

Pacho Ramos, I don't think the issue is about USE flag renaming, but rather that smbclient-3.6.25 (which had smbclient useflag) was removed: https://gitweb.gentoo.org/repo/gentoo.git/commit/net-fs/samba?id=0aa1ea43d64b5c40839f1fbb4c1a176c5826ba6c
Comment 4 Pacho Ramos gentoo-dev 2017-02-04 13:25:30 UTC
[master 3b973ea] gnome-base/gnome-control-center: Clean samba deps now that samba-3 was removed due to security issues, this also solves #604030
 3 files changed, 2 insertions(+), 157 deletions(-)
 delete mode 100644 gnome-base/gnome-control-center/gnome-control-center-3.20.1.ebuild
 rename gnome-base/gnome-control-center/{gnome-control-center-3.20.2.ebuild => gnome-control-center-3.20.2-r1.ebuild} (98%)
 rename gnome-base/gnome-control-center/{gnome-control-center-3.22.1.ebuild => gnome-control-center-3.22.1-r1.ebuild} (97%)

Anyway, maybe portage could simply try to use the alternative in || ( ) construct when the first one is unavailable :/
Comment 5 josef.95 2017-02-06 15:27:16 UTC
It works for me, after I set the "client" Useflag on the samba package

echo "net-fs/samba client" >> /etc/portage/package.use
Comment 6 Zac Medico gentoo-dev 2017-02-06 17:41:30 UTC
(In reply to josef.95 from comment #5)
> It works for me, after I set the "client" Useflag on the samba package
> 
> echo "net-fs/samba client" >> /etc/portage/package.use

You have to do that because otherwise the code for bug 278729 causes emerge to choose the >=net-fs/samba-3.6.14-r1[smbclient] atom.
Comment 7 Zac Medico gentoo-dev 2017-02-06 17:43:51 UTC
(In reply to Pacho Ramos from comment #4)
> Anyway, maybe portage could simply try to use the alternative in || ( )
> construct when the first one is unavailable :/

Since you want it to default to >=net-fs/samba-4.0.0[client] even if the user does not have USE=client enabled, you should put >=net-fs/samba-4.0.0[client] on the left side. So instead of this:

  || ( >=net-fs/samba-3.6.14-r1[smbclient] >=net-fs/samba-4.0.0[client] )

You want this:

  || ( >=net-fs/samba-4.0.0[client] >=net-fs/samba-3.6.14-r1[smbclient] )
Comment 8 Zac Medico gentoo-dev 2017-02-06 22:42:38 UTC
(In reply to christof from comment #0)
> emerge: there are no ebuilds built with USE flags to satisfy
> ">=net-fs/samba-3.6.14-r1[smbclient]". 
> !!! One of the following packages is required to complete your request: 
> - net-fs/samba-4.2.11::gentoo (Missing IUSE: smbclient) 
> (dependency required by
> "gnome-base/gnome-control-center-3.20.1-r1::gentoo[cups]" [ebuild]) 

This will fix it:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc0d0dbd656eeeef6f343c0d346ca59aa719c654
Comment 9 Pacho Ramos gentoo-dev 2017-02-07 09:28:49 UTC
(In reply to Zac Medico from comment #6)
> (In reply to josef.95 from comment #5)
> > It works for me, after I set the "client" Useflag on the samba package
> > 
> > echo "net-fs/samba client" >> /etc/portage/package.use
> 
> You have to do that because otherwise the code for bug 278729 causes emerge
> to choose the >=net-fs/samba-3.6.14-r1[smbclient] atom.

But, why is it not trying to fallback to the other alternative when the previous one is not available at all (before dying completely)?
Comment 10 Zac Medico gentoo-dev 2017-02-07 17:07:17 UTC
(In reply to Pacho Ramos from comment #9)
> (In reply to Zac Medico from comment #6)
> > (In reply to josef.95 from comment #5)
> > > It works for me, after I set the "client" Useflag on the samba package
> > > 
> > > echo "net-fs/samba client" >> /etc/portage/package.use
> > 
> > You have to do that because otherwise the code for bug 278729 causes emerge
> > to choose the >=net-fs/samba-3.6.14-r1[smbclient] atom.
> 
> But, why is it not trying to fallback to the other alternative when the
> previous one is not available at all (before dying completely)?

I've filed bug 608546 for this.
Comment 11 Pacho Ramos gentoo-dev 2017-02-07 20:36:32 UTC
thanks!