[PATCH 0/3] Mark some packages as not supported on the hurd.

  • Done
  • quality assurance status badge
Details
3 participants
  • Janneke Nieuwenhuizen
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 5 Sep 2023 13:17
(address . guix-patches@gnu.org)
87v8codg2o.fsf@cbaines.net
Mark some packages as not supported on the hurd.

Christopher Baines (3):
gnu: musl-cross: Remove i586-gnu from supported-systems.
gnu: linux-libre-headers: Remove i586-gnu from supported-systems.
gnu: skalibs: Remove i586-gnu from %supported-systems.

gnu/packages/heads.scm | 1 +
gnu/packages/linux.scm | 1 +
gnu/packages/skarnet.scm | 1 +
3 files changed, 3 insertions(+)


base-commit: e7b6cd86ef856b52817428227f9c3d3297312262
--
2.41.0
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmT3Dl9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XdscQ/9ErZWaYf/N/eV6hlObvrKJ+nm5tGPxtGU
s3k4MJNs4igD6sA2uides3Z344xp7fFV0Si/PhZjHxXmU2UQj32kmZ7uBJyQyOkj
FjfqnmVN67n2EgLRC2dbSyIFbnGMkzkk3zPkNRHY2LpwitOXcJL8jVLima1TsnfL
Z7HJRpi6KQJSwnKMtHnEjqs8zXCmqGBFgVFghD00Rv9AZGctZJLu0+QxwIcfBwd3
JE2Ad83wbr6DX7YAgdnYz/xO0JbzbzBKBKBzC9rIct4FEWzPXdGKV2X26Jf8NUVP
CyftWKw8gJ02wISSn53znoNd+vOa+pAOswdM3LwDRQ2AbWyQHhZ4npeZPglbSqiA
DVBYfS1w0dx4JNC2/Ex2AcExNzW0LU+2laj38mUsx7X6DcuuXSyfRe3uRsfTXcBV
Wmvp7R/asCPOOKcRkflj6aMUuSs/572HoXroqa7/m/ylTlcxCsSmhTx4IenWY7Sa
Fyi3jaq2syFvzb5cRYdeeyxodiM15rTFBzHqI8ucSWQH9eBRy8u1pupIV6ohD2WX
sPsZ8IAH6N+9hEpw/pyUGzGB1MRubafSSuoRg3D4So+trzGxUxVspaPfKiYyFW1X
yMQ+d0sCWCkoBiESoCrgj//cy8tUd0v9nmKfTekZl0GnJnG0zknYPRzslkVQsaFq
GRLSq+48HJA=
=UWz9
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 5 Sep 2023 13:35
[PATCH 3/3] gnu: skalibs: Remove i586-gnu from %supported-systems.
(address . 65755@debbugs.gnu.org)
e7e2ff6c978d1d1adce3e9a4b145564d9eaf9f93.1693913712.git.mail@cbaines.net
* gnu/packages/skarnet.scm (skalibs)[supported-systems]: Remove i586-gnu.
---
gnu/packages/skarnet.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 2c7b0f9c23..6781e2eb58 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -49,6 +49,7 @@ (define-public skalibs
(substitute* "Makefile"
(("\\$\\(wildcard src/lib\\*/\\*.c\\)")
"$(sort $(wildcard src/lib*/*.c))")))))))
+ (supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://skarnet.org/software/skalibs/")
(synopsis "Platform abstraction libraries for skarnet.org software")
(description
--
2.41.0
C
C
Christopher Baines wrote on 5 Sep 2023 13:35
[PATCH 2/3] gnu: linux-libre-headers: Remove i586-gnu from supported-systems.
(address . 65755@debbugs.gnu.org)
f97d7b9d5972af6a0b6c77f44f0ff0eb1c49815e.1693913712.git.mail@cbaines.net
As I don't think attempting to build for the Hurd is useful.

* gnu/packages/heads.scm (make-linux-libre-headers*): Remove i586-gnu from
supported-systems.
---
gnu/packages/linux.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9142f6edf1..9e28eb44ad 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -737,6 +737,7 @@ (define (make-linux-libre-headers* version gnu-revision source)
(format p "~a-default~%" ,version)))))))
#:allowed-references ()
#:tests? #f))
+ (supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://www.gnu.org/software/linux-libre/")
(synopsis "GNU Linux-Libre kernel headers")
(description "Headers of the Linux-Libre kernel.")
--
2.41.0
C
C
Christopher Baines wrote on 5 Sep 2023 13:35
[PATCH 1/3] gnu: musl-cross: Remove i586-gnu from supported-systems.
(address . 65755@debbugs.gnu.org)
c19b899ce0dc8daa1862a17adfdb37f1233274e9.1693913712.git.mail@cbaines.net
As I don't think musl supports the Hurd.

* gnu/packages/heads.scm (musl-cross)[supported-systems]: Remove i586-gnu.
---
gnu/packages/heads.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/heads.scm b/gnu/packages/heads.scm
index 212849f2a9..268d4d0198 100644
--- a/gnu/packages/heads.scm
+++ b/gnu/packages/heads.scm
@@ -158,6 +158,7 @@ (define-public musl-cross
(uri "http://www.musl-libc.org/releases/musl-1.1.24.tar.gz")
(sha256
(base32 "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k"))))))
+ (supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://github.com/osresearch/heads")
(synopsis "Musl-cross gcc 5 toolchain")
(description "Musl-cross toolchain: binutils, gcc 5 and musl.")

base-commit: e7b6cd86ef856b52817428227f9c3d3297312262
--
2.41.0
L
L
Ludovic Courtès wrote on 12 Sep 2023 09:21
Re: bug#65755: [PATCH 0/3] Mark some packages as not supported on the hurd.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 65755@debbugs.gnu.org)
87cyynq2jy.fsf@gnu.org
Hi,

Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (4 lines)
> gnu: musl-cross: Remove i586-gnu from supported-systems.
> gnu: linux-libre-headers: Remove i586-gnu from supported-systems.
> gnu: skalibs: Remove i586-gnu from %supported-systems.

LGTM!

Ludo’.
C
C
Christopher Baines wrote on 12 Sep 2023 09:46
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65755-done@debbugs.gnu.org)
87msxrx29c.fsf@cbaines.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (10 lines)
> Hi,
>
> Christopher Baines <mail@cbaines.net> skribis:
>
>> gnu: musl-cross: Remove i586-gnu from supported-systems.
>> gnu: linux-libre-headers: Remove i586-gnu from supported-systems.
>> gnu: skalibs: Remove i586-gnu from %supported-systems.
>
> LGTM!

Great, I've pushed this to master as
53f510dad6cc1b55b4abdbbfd55e507a9463a80f.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUAF09fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xf31Q/+P/e+BpEyuR3sUwoIzFJSatnJmxmQYJlJ
526OJuLkjNVATcNTHTt/U3Xnsd7hR/FZQiBgfQHE8D044xx4lQWtmO4u5lO/gsBO
KYE6ruzYSlXp3b9TCugKU2DVmGWE1+zQmwh3RmTRaBmi0EelGqIQMROBQuxIfKHR
diCJoKC8xVt5AVqVox+Mlywn2o+lUdcrVa2KctWHiBDqr25Smc0PE4GVEuuKaUGp
n25HVV9Qjs8jGjsTyDd63+oWeeMPjb+w5GLowJqedB4XQpZBNZNa0PxtrwpsxeA9
fCB7FyUl99b8Q2au2S+M2hu9U80WNUw42DXAiYiv4pTpzkr+w2NPMnuCC0UTPtt/
endiLaboiA/579MTIBaSmwc8wK6vljRFyx+2pS82ySjvwOvC9Fstkrt6qPdXzrWz
ypGkTM6DITFhPOlOeB9oXDmYikC1oaKuikv7HTZJTlmZxsir7E/b5oLB/BYNQHkr
BeGuuGjcs9REildDhAWKxFX4O2ADdHJaTc9QrUdM+ru+kb/T/9yxRDjpssF4PqD3
FT02q4724FWOmzWgHls2+eCOqXL3zqa4Qffl1fhf+2Qic37s20lFXuJPiAHRAUaf
u8ZcHRMoNFIKqiWhV5w0OsEAh3eWYGBtaBtFYBjJKM3XYZl1arxbJJp3cVTDfChI
9i1wFOKiGFI=
=Mt9d
-----END PGP SIGNATURE-----

Closed
J
J
Janneke Nieuwenhuizen wrote on 15 Sep 2023 20:32
This broke make check on master
(address . 65755@debbugs.gnu.org)
871qez1e59.fsf@gnu.org
Hi,

Marius found that building the updated "guix" package on the
just-rebased hurd-team branch failed.

It turns out that the packages.scm test on master fails notably:
package-transitive-supported-systems, implicit inputs

Toggle snippet (19 lines)
test-name: package-transitive-supported-systems, implicit inputs
location: /home/janneke/src/guix/master/tests/packages.scm:496
source:
+ (test-equal
+ "package-transitive-supported-systems, implicit inputs"
+ %supported-systems
+ (let ((p (dummy-package
+ "foo"
+ (build-system gnu-build-system)
+ (supported-systems
+ `("does-not-exist" "foobar" ,@%supported-systems)))))
+ (parameterize
+ ((%current-system "armhf-linux"))
+ (package-transitive-supported-systems p))))
expected-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "i586-gnu" "powerpc-linux")
actual-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "powerpc-linux")
result: FAIL

The culprit is this commit

0e08ad7f19d5b29a4883468552b5d213a7bdb66e
gnu: linux-libre-headers: Remove i586-gnu from supported-systems.

Greetings,
Janneke

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
C
C
Christopher Baines wrote on 15 Sep 2023 20:56
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)
874jjvqmel.fsf@cbaines.net
Janneke Nieuwenhuizen <janneke@gnu.org> writes:

Toggle quote (24 lines)
> Marius found that building the updated "guix" package on the
> just-rebased hurd-team branch failed.
>
> It turns out that the packages.scm test on master fails notably:
> package-transitive-supported-systems, implicit inputs
>
> test-name: package-transitive-supported-systems, implicit inputs
> location: /home/janneke/src/guix/master/tests/packages.scm:496
> source:
> + (test-equal
> + "package-transitive-supported-systems, implicit inputs"
> + %supported-systems
> + (let ((p (dummy-package
> + "foo"
> + (build-system gnu-build-system)
> + (supported-systems
> + `("does-not-exist" "foobar" ,@%supported-systems)))))
> + (parameterize
> + ((%current-system "armhf-linux"))
> + (package-transitive-supported-systems p))))
> expected-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "i586-gnu" "powerpc-linux")
> actual-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "powerpc-linux")
> result: FAIL

I would say interesting, but I've struggled with the supported system
stuff for years. The data service does use
package-transitive-supported-systems, but in a very weird way. To check
if a package supports a system, you call
package-transitive-supported-systems with the package and system (as the
second optional argument), then check if that system is present in the
returned list.

This is to say that in my uninformed opinion, the presence of the system
which you pass to package-transitive-supported-systems in the returned
list seems to mean something, but I wouldn't be able to say anything
else about the returned value.

I don't think there's anything wrong with adjusting the expectation to
have the test pass, but to me the longer term thing to do is look at
changing the code around supported systems.

On not breaking tests when making changes though, I don't generally run
make check unless I'm changing code in guix/ but it would be nice to
start QA doing that for every patch series. We should also probably try
to avoid tests that break when making changes to packages.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUErRJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xf4HhAAjIKlLiK6SQlIDol1fu0Eug2nXpwAwFim
1WiCaWlUBBSJZm6ESVch2VeDHAeysvlCB65CNlmK0QNyQCyQ9CjMpOypp/eoVMlu
LTkzyIAwG9EUhrLCpIhN3i09HQ4uyTdcOn1YK8p3lND9yiP4g77otmW+r+MKkStS
9Z0zt9V652BaUkdHJFEzsWE1nY/Ptv5f+ewknzb3fD7rxQEZOo5b0LlQaW/JRamW
ycHZUn5/Q8ISgv5t6BdkUS/RQo4Fa4CgiEhH2eKt8UmDHeKwcJMdFRICE3k6h0xn
f0DZA6UuNOOLhPJW34PU5xwyz+cB170NTg5iHzYZcgUNXW2nCGjtFpXcQPu0PIEk
k5L4Vx05WiPdlsVGmrhhBm/5cwwDZGXrrwz99DimuWDzvod+4x/uYEMKnx0SLnTt
lt7hERvUca6l1V94pAra8xl0vo7yiDxCjZkvsS1UoX3rfZTpjuCkWKYN3p2MCTM1
4TCdg4eBxku+Bkno6r25rDsLO8wzbfOSdWj1a47+Y7tTIEXr3f7VNBq0DouCrcUM
gjCV/TaqPrm7nGdMzPuh5BI05ZYJozwbyoJsQz57xG+9YthkATb9kryK6HiO0adQ
a9EYwAIl5YsRN7mWW6g4LBiJemherHLZ831seOX1e3ZmQ99ua+AnvkQcOyo7xAO/
oJQVK9cJI50=
=nKGY
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 15 Sep 2023 21:43
Re: bug#65755: [PATCH 0/3] Mark some packages as not supported on the hurd.
(name . Christopher Baines)(address . mail@cbaines.net)
87h6nv1ati.fsf_-_@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (26 lines)
> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Marius found that building the updated "guix" package on the
>> just-rebased hurd-team branch failed.
>>
>> It turns out that the packages.scm test on master fails notably:
>> package-transitive-supported-systems, implicit inputs
>>
>> test-name: package-transitive-supported-systems, implicit inputs
>> location: /home/janneke/src/guix/master/tests/packages.scm:496
>> source:
>> + (test-equal
>> + "package-transitive-supported-systems, implicit inputs"
>> + %supported-systems
>> + (let ((p (dummy-package
>> + "foo"
>> + (build-system gnu-build-system)
>> + (supported-systems
>> + `("does-not-exist" "foobar" ,@%supported-systems)))))
>> + (parameterize
>> + ((%current-system "armhf-linux"))
>> + (package-transitive-supported-systems p))))
>> expected-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "i586-gnu" "powerpc-linux")
>> actual-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "powerpc-linux")
>> result: FAIL

[...]

Toggle quote (4 lines)
> I don't think there's anything wrong with adjusting the expectation to
> have the test pass, but to me the longer term thing to do is look at
> changing the code around supported systems.

Agreed, we need to change the expected result to:

(filter target-linux? %supported-systems)

This is expected given that ‘%current-system’ is set to *-linux.

Toggle quote (4 lines)
> On not breaking tests when making changes though, I don't generally run
> make check unless I'm changing code in guix/ but it would be nice to
> start QA doing that for every patch series.

Yes!

Toggle quote (3 lines)
> We should also probably try to avoid tests that break when making
> changes to packages.

We try to avoid it but there are a few cases where we test real packages
that we hope rarely change.

Thanks,
Ludo’.
J
J
Janneke Nieuwenhuizen wrote on 15 Sep 2023 22:06
(name . Ludovic Courtès)(address . ludo@gnu.org)
87wmwryzet.fsf@gnu.org
Ludovic Courtès writes:

Hi,

Toggle quote (6 lines)
> Christopher Baines <mail@cbaines.net> skribis:
>
>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>
>>> Marius found that building the updated "guix" package on the
>>> just-rebased hurd-team branch failed.
[..]

Toggle quote (10 lines)
>> I don't think there's anything wrong with adjusting the expectation to
>> have the test pass, but to me the longer term thing to do is look at
>> changing the code around supported systems.
>
> Agreed, we need to change the expected result to:
>
> (filter target-linux? %supported-systems)
>
> This is expected given that ‘%current-system’ is set to *-linux.

That makes sense (and fixes it :)

Pushed to master as edca2863bcb52388fe454e14136264a4f7490273

Thanks!
Janneke

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
?