Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688214 - app-portage/mirrorselect: USE=ipv6 request
Summary: app-portage/mirrorselect: USE=ipv6 request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2019-06-17 11:48 UTC by tot-to
Modified: 2019-07-17 05:22 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mirrorselect: make netselect ipv6 support optional (netselect-make-netselect-ipv6-support-optional.patch,1.61 KB, patch)
2019-07-13 05:12 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tot-to 2019-06-17 11:48:11 UTC
Upgrading mirrorselect to 2.2.5 requires net-analyzer/netselect with USE=ipv6:

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by app-portage/mirrorselect-2.2.5::gentoo
# required by @selected
# required by @world (argument)
>=net-analyzer/netselect-0.4 ipv6

But on my system IPv6 is disabled both in kernel and in make.conf. So, it doesn't make sense to have just two packages with IPv6 support.

Please make it possible to disable IPv6 support in mirrorselect.
Comment 1 Zac Medico gentoo-dev 2019-06-17 20:13:59 UTC
According to bug 582508 comment #1, the plan is to enable IPv6 support in netselect unconditionally. In that case, it won't make sense for mirroselect to have USE=ipv6.

Does net-analyzer/netselect build for you with USE=ipv6 enabled?
Comment 2 Robin Bankhead 2019-07-07 20:55:28 UTC
(In reply to Zac Medico from comment #1)
> According to bug 582508 comment #1, the plan is to enable IPv6 support in
> netselect unconditionally. In that case, it won't make sense for mirroselect
> to have USE=ipv6.
> 
> Does net-analyzer/netselect build for you with USE=ipv6 enabled?

I have the same configs (ipv6 disabled in make.conf and kernel). I can successfully build net-analyzer/netselect[ipv6] but the resulting binary is unusable, even if specifying ipv4 only:

# netselect -vvvv -4 debian.org
netselect: socket: Address family not supported by protocol

Needless to say mirrorselect therefore also does not work.
Comment 3 Zac Medico gentoo-dev 2019-07-08 06:52:45 UTC
(In reply to Robin Bankhead from comment #2)
> (In reply to Zac Medico from comment #1)
> > According to bug 582508 comment #1, the plan is to enable IPv6 support in
> > netselect unconditionally. In that case, it won't make sense for mirroselect
> > to have USE=ipv6.
> > 
> > Does net-analyzer/netselect build for you with USE=ipv6 enabled?
> 
> I have the same configs (ipv6 disabled in make.conf and kernel). I can
> successfully build net-analyzer/netselect[ipv6] but the resulting binary is
> unusable, even if specifying ipv4 only:
> 
> # netselect -vvvv -4 debian.org
> netselect: socket: Address family not supported by protocol
> 
> Needless to say mirrorselect therefore also does not work.

Maybe we can consider that as a netselect bug.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2019-07-11 20:02:55 UTC
Um, so if you make a very specific effort to go out of your way to disable IPv6, then IPv6 does not work?
Comment 5 Zac Medico gentoo-dev 2019-07-11 20:14:53 UTC
(In reply to Jeroen Roovers from comment #4)
> Um, so if you make a very specific effort to go out of your way to disable
> IPv6, then IPv6 does not work?

The problem is that IPv4 does not work either, as shown in comment #2:

> # netselect -vvvv -4 debian.org
> netselect: socket: Address family not supported by protocol
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2019-07-11 20:31:32 UTC
OK, so how can we analyse this so that we may know at what level it fails? Is it DNS or IP or does USE=ipv6 on net-analyzer/netselect disable all IPv4 support? That last one should be quite easy to check but I just wonder how we got here to begin with.
Comment 7 Robin Bankhead 2019-07-11 21:11:45 UTC
I'm happy to raise a bug against netselect that it should check for kernel* ipv6 support if you think that's the appropriate next step, but it is mirrorselect that is currently making kernel support mandatory by proxy.

In my view, and it's only my view (plus the reporter's obv), it should be an optional flag in mirrorselect too.  I would say that as mirrorselect is part of the recommended install process, the implications of it requiring ipv6 should be weighed carefully.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2019-07-12 05:23:48 UTC
(In reply to Robin Bankhead from comment #2)
> I have the same configs (ipv6 disabled in make.conf and kernel). I can
> successfully build net-analyzer/netselect[ipv6] but the resulting binary is
> unusable, even if specifying ipv4 only:
> 
> # netselect -vvvv -4 debian.org
> netselect: socket: Address family not supported by protocol

The -4/-6 options are added by the Debian patch for version 0.4, so with USE=-ipv6 you should be seeing this instead:


# netselect -vvvv -4 debian.org
netselect: invalid option -- '4'
Usage: netselect [-v|-vv|-vvv] [-I] [-m max_ttl] [-s servers] [-t min_tries] host ...
Comment 9 Robin Bankhead 2019-07-12 08:01:31 UTC
(In reply to Jeroen Roovers from comment #8)
> (In reply to Robin Bankhead from comment #2)
> > I have the same configs (ipv6 disabled in make.conf and kernel). I can
> > successfully build net-analyzer/netselect[ipv6] but the resulting binary is
> > unusable, even if specifying ipv4 only:
> > 
> > # netselect -vvvv -4 debian.org
> > netselect: socket: Address family not supported by protocol
> 
> The -4/-6 options are added by the Debian patch for version 0.4, so with
> USE=-ipv6 you should be seeing this instead:
> 
> 
> # netselect -vvvv -4 debian.org
> netselect: invalid option -- '4'
> Usage: netselect [-v|-vv|-vvv] [-I] [-m max_ttl] [-s servers] [-t min_tries]
> host ...

If it had been built with -ipv6 (which it hasn't in the above case, in case that wasn't clear, because I'm no longer allowed to do that due to mirrorselect) then the option -4 would be implicit, surely.
Comment 10 Zac Medico gentoo-dev 2019-07-13 05:12:33 UTC
Created attachment 582696 [details, diff]
mirrorselect: make netselect ipv6 support optional

Since netselect with ipv6 support does not work on a system where
ipv6 is disabled, use a NETSELECT_SUPPORTS_IPV4_IPV6 variable to
optionally enable the use of netselect -4/-6 options. The ebuild
will use sed to set NETSELECT_SUPPORTS_IPV4_IPV6 = True when
USE=ipv6 is enabled, and will have a dependency like
RDEPEND=">=net-analyzer/netselect-0.4[ipv6(+)?]".
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2019-07-15 02:19:46 UTC
(In reply to Robin Bankhead from comment #9)
> If it had been built with -ipv6 (which it hasn't in the above case, in case
> that wasn't clear, because I'm no longer allowed to do that due to
> mirrorselect) then the option -4 would be implicit, surely.

Now I am still not sure whether it's a problem in upstream netselect-0.4 (and perhaps not 0.3?) or in the IPv6 patch.
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2019-07-15 02:28:00 UTC
In comment #8 I incorrectly referred to "Debian's" patch, but I meant the patch provided in https://github.com/apenwarr/netselect/pull/5 which does itself refer to a patch originating from Debian.
Comment 13 Martin Mokrejš 2019-07-15 08:58:38 UTC
Hi,
  I am another user having no support for IPv6 in kernel and with USE=-ipv6 set globally in make.conf. I am also asking for IPv6 being optional in any of the packages discussed. Thank you.
Comment 14 Larry the Git Cow gentoo-dev 2019-07-17 05:06:48 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/mirrorselect.git/commit/?id=95ba3ca5e8db2a6b360e4abdcee026076652551d

commit 95ba3ca5e8db2a6b360e4abdcee026076652551d
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2019-07-13 05:00:33 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2019-07-13 05:09:20 +0000

    netselect: make netselect ipv6 support optional
    
    Since netselect with ipv6 support does not work on a system where
    ipv6 is disabled, use a NETSELECT_SUPPORTS_IPV4_IPV6 variable to
    optionally enable the use of netselect -4/-6 options. The ebuild
    will use sed to set NETSELECT_SUPPORTS_IPV4_IPV6 = True when
    USE=ipv6 is enabled, and will have a dependency like
    RDEPEND=">=net-analyzer/netselect-0.4[ipv6(+)?]".
    
    Bug: https://bugs.gentoo.org/688214
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 mirrorselect/selectors.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
Comment 15 Larry the Git Cow gentoo-dev 2019-07-17 05:22:40 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7aecd01c953127eedcb83b0df45cf2e900fafef8

commit 7aecd01c953127eedcb83b0df45cf2e900fafef8
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2019-07-17 05:19:03 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2019-07-17 05:22:32 +0000

    app-portage/mirrorselect: Bump to version 2.2.6
    
    Make netselect ipv6 support conditional for bug 688214.
    
    Closes: https://bugs.gentoo.org/688214
    Package-Manager: Portage-2.3.69, Repoman-2.3.16
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 app-portage/mirrorselect/Manifest                  |  1 +
 app-portage/mirrorselect/mirrorselect-2.2.6.ebuild | 45 ++++++++++++++++++++++
 2 files changed, 46 insertions(+)