offlineimap build fails

OpenSubmitted by Bone Baboon.
Details
3 participants
  • Bone Baboon
  • Tobias Geerinckx-Rice
  • Mark H Weaver
Owner
unassigned
Severity
normal
B
B
Bone Baboon wrote on 4 May 03:11 +0200
(address . bug-guix@gnu.org)
87czu7joab.fsf@disroot.org
On a x86_64 computer when I run `guix build --no-substitutesofflineimap` the build fails because the "test_ipv6_available" testfails.
In the system configuration ipv6 is disabled:
```(kernel-arguments (append (list "nomodeset" "ipv6.disable=1") %default-kernel-arguments))```
Taking the failing test's name "test_ipv6_available" literally I wouldlike to ask if having this test required to build this offlineimapdependency is necessary? Could this test be allowed to fail or beskipped without failing the build? This would accommodate Guix userswho have disabled ipv6.
`guix describe` outputs:
```Generation 18 May 03 2021 13:15:55 (current) guix 065d2cd repository URL: https://git.savannah.gnu.org/git/guix.git commit: 065d2cd6ced96ddb38c15a46f798488f61660a33```
Build error:
```starting phase `check'============================= test session starts ==============================platform linux2 -- Python 2.7.17, pytest-4.6.11, py-1.8.1, pluggy-0.13.1rootdir: /tmp/guix-build-python2-rfc6555-0.0.0-1.1a181b4.drv-0/sourceplugins: hypothesis-4.57.1collected 5 items
tests/test_ipv6.py F.... [100%]
=================================== FAILURES ===================================_____________________________ test_ipv6_available ______________________________
def test_ipv6_available():
Toggle quote (1 lines)> assert rfc6555._detect_ipv6()
E assert FalseE + where False = <function _detect_ipv6 at 0xf6c2887c>()E + where <function _detect_ipv6 at 0xf6c2887c> = rfc6555._detect_ipv6
tests/test_ipv6.py:11: AssertionError====================== 1 failed, 4 passed in 0.19 seconds ======================command "pytest" "tests/test_ipv6.py" failed with status 1builder for `/gnu/store/4clr8jgvlbhp9qvyx2izdl5dmb8b0xsd-python2-rfc6555-0.0.0-1.1a181b4.drv' failed with exit code 1build of /gnu/store/4clr8jgvlbhp9qvyx2izdl5dmb8b0xsd-python2-rfc6555-0.0.0-1.1a181b4.drv failedView build log at '/var/log/guix/drvs/4c/lr8jgvlbhp9qvyx2izdl5dmb8b0xsd-python2-rfc6555-0.0.0-1.1a181b4.drv.bz2'.cannot build derivation `/gnu/store/pxqzkh8b6266qdrrxhfc74j6bjnb1567-offlineimap-7.3.3.drv': 1 dependencies couldn't be builtguix build: error: build of `/gnu/store/pxqzkh8b6266qdrrxhfc74j6bjnb1567-offlineimap-7.3.3.drv' failed```
T
T
Tobias Geerinckx-Rice wrote on 4 May 11:08 +0200
(name . Bone Baboon)(address . bone.baboon@disroot.org)
874kfioogp.fsf@nckx
Babs,
Bone Baboon via Bug reports for GNU Guix 写道:
Toggle quote (6 lines)> Taking the failing test's name "test_ipv6_available" literally I > would> like to ask if having this test required to build this > offlineimap> dependency
I think not, but you should report this upstream first. They look asleep but I didn't hold a mirror under their nose. If they don't respond we might hack around it in Guix.
I suggest that you enable IPv6 support in the meantime.
Toggle quote (2 lines)> This would accommodate Guix users who have disabled ipv6.
Guix doesn't virtualise the kernel and expects it to provide all that is needful. Linux offers knobs for *everything*; that doesn't mean everything is supported. Disabling kernel support for basic things (namespaces, UNIX domain sockets, IPv6) *will* break certain software.
We shouldn't feel obligated to accommodate strange configurations out of the box, but we try to do so when the maintenance cost is very low. In this case, you'd need to ensure the test still runs on the vast majority of systems with IPv6.
Kind regards,
T G-R
-----BEGIN PGP SIGNATURE-----
iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYJEPJg0cbWVAdG9iaWFzLmdyAAoJEA2w/4hPVW15Fz8A/iB3NIZxnohvdE8ZEI3oHqX76BmzHgSY0d9/WmV/p6RvAP4/EZ7pa8SalLFRxp+kaiYfw2nc53kVPuCjgvKi7LBLBA===GWrx-----END PGP SIGNATURE-----
M
M
Mark H Weaver wrote on 4 May 22:39 +0200
87y2cumdwt.fsf@netris.org
Hi,
Bone Baboon via Bug reports for GNU Guix <bug-guix@gnu.org> writes:
Toggle quote (5 lines)> On a x86_64 computer when I run `guix build --no-substitutes> offlineimap` the build fails because the "test_ipv6_available" test> fails.>> In the system configuration ipv6 is disabled:
[...]
Toggle quote (6 lines)> Taking the failing test's name "test_ipv6_available" literally I would> like to ask if having this test required to build this offlineimap> dependency is necessary? Could this test be allowed to fail or be> skipped without failing the build? This would accommodate Guix users> who have disabled ipv6.
I will defer to the Guix maintainers on this question, but I just wantedto point out that since 'offlineimap' is the _only_ package in Guix thatdepends on the 'python2-rfc6555' package, it's quite painless to workaround this particular issue using Guix's "--without-tests" packagetransformation option.
From the command line, you can simply do this:
guix build offlineimap --without-tests=python2-rfc6555
Within an OS configuration, or within a profile "manifest" file (if youuse "guix package --manifest", which is highly recommended), you can usethe following Scheme expression in place of 'offlineimap':
Toggle snippet (5 lines) (let ((transform (options->transformation '((without-tests . "python2-rfc6555"))))) (transform offlineimap))
Note that you'll also need to put "(use-modules (guix transformations))"at the top of the file, to import the 'options->transformation'procedure.
Please let us know if this works for you.
Thanks, Mark
-- Disinformation flourishes because many people care deeply about injusticebut very few check the facts. Ask me about https://stallmansupport.org.
B
B
Bone Baboon wrote on 5 May 03:35 +0200
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
874kfij735.fsf@disroot.org
Toggle quote (12 lines)>> This would accommodate Guix users who have disabled ipv6.>> Guix doesn't virtualise the kernel and expects it to provide all that> is needful. Linux offers knobs for *everything*; that doesn't mean> everything is supported. Disabling kernel support for basic things> (namespaces, UNIX domain sockets, IPv6) *will* break certain software.>> We shouldn't feel obligated to accommodate strange configurations out> of the box, but we try to do so when the maintenance cost is very low.> In this case, you'd need to ensure the test still runs on the vast> majority of systems with IPv6.
Sorry I should have explained the rationale for this in my initialmessage.
For privacy conscious individuals one tool for improving online privacyis a VPN service. Many VPN service providers recommend disablingipv6. This is because of ipv6 leaks.
https://ipv6leak.com/is a ipv6 leak testing site. It is the firstresult when searching for "ipv6 leak" with searx.ir. Using this websiteI can see that the privacy provided by my VPN service provider iscompromised by an ipv6 leak when I enable ipv6. This is why I have ipv6disabled.
I am open to suggestions on free software alternatives to using a VPNservice that do not require ipv6 to be disabled. The current VPN serviceI am using allows the use of a openvpn client so I do not need toinstall any proprietary software on my computer to use their service. Iam aware of Tor or I2P but have not yet looked into how I could to sendmy network traffic over those networks.
B
B
Bone Baboon wrote on 6 May 05:32 +0200
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
875yzwilkm.fsf@disroot.org
Tobias Geerinckx-Rice writes:
Toggle quote (2 lines)> you should report this upstream first
I have reported this to Seth Michael Larson the maintainer of rfc6555.https://pypi.org/project/rfc6555/
I also asked Seth Michael Larson if the rfc6555 test suite could bemodified so that test_ipv6_available does not fail if IPv6 is disabled.
B
B
Bone Baboon wrote 48 hours ago
(name . Mark H Weaver)(address . mhw@netris.org)(address . 48213@debbugs.gnu.org)
87a6p1fhkf.fsf@disroot.org
Mark H Weaver writes:
Toggle quote (32 lines)> Hi,>> Bone Baboon via Bug reports for GNU Guix <bug-guix@gnu.org> writes:>> On a x86_64 computer when I run `guix build --no-substitutes>> offlineimap` the build fails because the "test_ipv6_available" test>> fails.>> 'offlineimap' is the _only_ package in Guix that> depends on the 'python2-rfc6555' package, it's quite painless to work> around this particular issue using Guix's "--without-tests" package> transformation option.>> From the command line, you can simply do this:>> guix build offlineimap --without-tests=python2-rfc6555>> Within an OS configuration, or within a profile "manifest" file (if you> use "guix package --manifest", which is highly recommended), you can use> the following Scheme expression in place of 'offlineimap':>> --8<---------------cut here---------------start------------->8---> (let ((transform (options->transformation> '((without-tests . "python2-rfc6555")))))> (transform offlineimap))> --8<---------------cut here---------------end--------------->8--->> Note that you'll also need to put "(use-modules (guix transformations))"> at the top of the file, to import the 'options->transformation'> procedure.>> Please let us know if this works for you.
Thank you
I can build offlineimap with this command `guix build offlineimap--no-substitutes --without-tests=python2-rfc6555`.
How would I refer to offlineimap (built without tests) in theconfiguration of a substitute server's client? The client is notbuilding it's own packages and is instead relying on a substituteserver to build offlineimap without tests.
?