Hi!
Ricardo Wurmus <rekado@elephly.net> skribis:
> “ltmain.sh” is instantiated from a template by libtool. It originally
> contains a /bin/sh shebang, and I think it should not be patched when
> installed to
>
> /gnu/store/…-libtool-2.4.6/share/libtool/build-aux/ltmain.sh
>
> This seems like a bug to me.
Definitely:
--8<---------------cut here---------------start------------->8---
$ head -1 $(find $(guix build libtool) -name ltmain.sh)
#!/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/sh
--8<---------------cut here---------------end--------------->8---
Opening a new bug now. This is with v0.12.0-176-ge087671.
Ludo’.
ludo@gnu.org (Ludovic Courtès) skribis:
> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>> “ltmain.sh” is instantiated from a template by libtool. It originally
>> contains a /bin/sh shebang, and I think it should not be patched when
>> installed to
>>
>> /gnu/store/…-libtool-2.4.6/share/libtool/build-aux/ltmain.sh
>>
>> This seems like a bug to me.
>
> Definitely:
>
> $ head -1 $(find $(guix build libtool) -name ltmain.sh)
> #!/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/sh
>
> Opening a new bug now. This is with v0.12.0-176-ge087671.
This was fixed by ng0 in 98341757c8c45fca8d2b53f9972f5c6a32cf2c95.
Ludo’.
Hi, Commit 98341757c8c45fca8d2b53f9972f5c6a32cf2c95, which was meant to fix this bug¹, actually failed to do so: --8<---------------cut here---------------start------------->8--- $ head -1 $(./pre-inst-env guix build libtool)/share/libtool/build-aux/ltmain.sh #!/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12/bin/sh $ git describe v0.12.0-3136-g7312c62d3 --8<---------------cut here---------------end--------------->8--- I think the problem is that we’re patching ltmain.in when we should really be patching the final file, after the ‘patch-shebangs’ phase. Ludo’. ¹ <http://bugs.gnu.org/25304>
[-- Attachment #1.1: Type: text/plain, Size: 784 bytes --] Hi, I was looking through the lists because I have a patch that does exactly what you describe here. I guess this goes to core updates, so this version is on top of it. WDYT? Happy hacking! Miguel ludo@gnu.org (Ludovic Courtès) writes: > Hi, > > Commit 98341757c8c45fca8d2b53f9972f5c6a32cf2c95, which was meant to fix > this bug¹, actually failed to do so: > > $ head -1 $(./pre-inst-env guix build libtool)/share/libtool/build-aux/ltmain.sh > #!/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12/bin/sh > $ git describe > v0.12.0-3136-g7312c62d3 > > I think the problem is that we’re patching ltmain.in when we should > really be patching the final file, after the ‘patch-shebangs’ phase. > > Ludo’. > > ¹ <http://bugs.gnu.org/25304> [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: 0001-libtoolize.patch --] [-- Type: text/x-patch, Size: 2039 bytes --] From 145273418d3131bcf3b73d416d19f641645cf3f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= <rosen644835@gmail.com> Date: Fri, 13 Nov 2020 15:24:46 +0100 Subject: [PATCH] gnu: libtool: Restore shebangs on all libtoolize files. * gnu/packages/autotools.scm (libtool)[restore-build-aux-shebang]: New phase after install. [restore-ltmain-shebang]: Remove phase, it is now performed by the phase restore-build-aux-shebang. --- gnu/packages/autotools.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 96f2925180..c9e1c9bcf1 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -444,11 +444,19 @@ Makefile, simplifying the entire process for the developer.") (("/bin/sh") (string-append bash "/bin/sh"))) #t))) - (add-after 'patch-source-shebangs 'restore-ltmain-shebang - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "build-aux/ltmain.in" - (("^#!.*/bin/sh$") "#!/bin/sh")) - #t))))) + ;; These files may be copied into source trees by libtoolize, + ;; therefore they must not point to store file names that would be + ;; leaked with tarballs generated by make dist. + (add-after 'install 'restore-build-aux-shebang + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/share/libtool/build-aux"))) + (for-each (lambda (file) + (format #t "restoring shebang on `~a'~%" file) + (substitute* file + (("^#!.*/bin/sh") "#!/bin/sh"))) + (find-files dir ".*")) + #t)))))) (synopsis "Generic shared library support tools") (description -- 2.29.2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 658 bytes --]
Hi! Miguel Ángel Arruga Vivas <rosen644835@gmail.com> skribis: > I was looking through the lists because I have a patch that does exactly > what you describe here. I guess this goes to core updates, so this > version is on top of it. WDYT? Yes, looks like a change for ‘core-updates’. > From 145273418d3131bcf3b73d416d19f641645cf3f8 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= > <rosen644835@gmail.com> > Date: Fri, 13 Nov 2020 15:24:46 +0100 > Subject: [PATCH] gnu: libtool: Restore shebangs on all libtoolize files. You can add “Fixes <https://bugs.gnu.org/25304>.” > * gnu/packages/autotools.scm (libtool)[restore-build-aux-shebang]: New > phase after install. > [restore-ltmain-shebang]: Remove phase, it is now performed by the phase > restore-build-aux-shebang. LGTM, thanks for digging through old bugs! Ludo’.
[-- Attachment #1: Type: text/plain, Size: 1138 bytes --] Hi! Ludovic Courtès <ludo@gnu.org> writes: > Hi! > > Miguel Ángel Arruga Vivas <rosen644835@gmail.com> skribis: > >> I was looking through the lists because I have a patch that does exactly >> what you describe here. I guess this goes to core updates, so this >> version is on top of it. WDYT? > > Yes, looks like a change for ‘core-updates’. > >> From 145273418d3131bcf3b73d416d19f641645cf3f8 Mon Sep 17 00:00:00 2001 >> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= >> <rosen644835@gmail.com> >> Date: Fri, 13 Nov 2020 15:24:46 +0100 >> Subject: [PATCH] gnu: libtool: Restore shebangs on all libtoolize files. > > You can add “Fixes <https://bugs.gnu.org/25304>.” > >> * gnu/packages/autotools.scm (libtool)[restore-build-aux-shebang]: New >> phase after install. >> [restore-ltmain-shebang]: Remove phase, it is now performed by the phase >> restore-build-aux-shebang. > > LGTM, thanks for digging through old bugs! > > Ludo’. Pushed as 8d263ff254292c9e13a9848f90b52263da52d570 to core-updates with that line added. Thanks for the quick review. :-) Happy hacking! Miguel [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 658 bytes --]