GNU bug report logs -
#73030
git send-email missing perl packages
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73030 in the body.
You can then email your comments to 73030 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#73030
; Package
guix
.
(Wed, 04 Sep 2024 18:59:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Simon Tournier <zimon.toutoune <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 04 Sep 2024 18:59:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi,
Using Guix 7fa9df4, I get the error:
--8<---------------cut here---------------start------------->8---
Not using SSL_VERIFY_PEER due to out-of-date IO::Socket::SSL.
To use SSL please install IO::Socket::SSL with version>=2.007 at /gnu/store/v6bivyjbg6bj07s8iqfzdm6hpvypc0p1-perl-5.36.0/lib/perl5/5.36.0/Net/SMTP.pm line 268.
--8<---------------cut here---------------end--------------->8---
when running “git send-email”. I have not investigated yet why it
fails. I notice this:
--8<---------------cut here---------------start------------->8---
$ guix gc --references $(readlink -f ~/.guix-profile/libexec/git-core/git-send-email)
/gnu/store/0yavjaj47a0g3lyw33q2m9whgl588ww7-perl-net-ssleay-1.92
/gnu/store/9wx8rvz984cizp3cq4ng2n1qlk2f1kkh-git-2.45.2
/gnu/store/h2vmf9krw1xmhdd5m52wqs0d7m2ryhxv-perl-gssapi-0.28
/gnu/store/pkd5amfn4wcqrd85x49035nhq8kxy906-perl-uri-5.05
/gnu/store/v6bivyjbg6bj07s8iqfzdm6hpvypc0p1-perl-5.36.0
/gnu/store/x47i4yafqxdav838aykda9c2hhhn9sa4-bash-minimal-5.1.16
/gnu/store/z542qwhy7nnzq7iyjpfxpib2vcx04j0r-git-2.45.2-send-email
--8<---------------cut here---------------end--------------->8---
which the package perl-io-socket-ssl seems missing.
To be precise, using my previous generation, I get:
bash-minimal-5.1.16
git-2.41.0
git-2.41.0-send-email
perl-5.36.0
perl-authen-sasl-2.16
perl-digest-hmac-1.04
perl-gssapi-0.28
perl-io-socket-ssl-2.081
perl-net-smtp-ssl-1.04
perl-net-ssleay-1.92
perl-uri-5.05
and now, I get:
bash-minimal-5.1.16
git-2.45.2
git-2.45.2-send-email
perl-5.36.0
perl-gssapi-0.28
perl-net-ssleay-1.92
perl-uri-5.05
So the difference reads:
perl-authen-sasl-2.16
perl-digest-hmac-1.04
perl-io-socket-ssl-2.081
perl-net-smtp-ssl-1.04
Other said, if I run:
guix shell git git:send-email \
perl \
perl-authen-sasl perl-digest-hmac perl-io-socket-ssl perl-net-smtp-ssl
then the error is gone.
Cheers,
simon
Information forwarded
to
bug-guix <at> gnu.org
:
bug#73030
; Package
guix
.
(Thu, 05 Sep 2024 02:47:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 73030 <at> debbugs.gnu.org (full text, mbox):
Hi,
Using the fix <https://issues.guix.gnu.org/73034>, I get this error:
--8<---------------cut here---------------start------------->8---
Need MIME::Base64 and Authen::SASL todo auth at /gnu/store/imnyk8h2s6qfwd602n5vqxax8h33j2k5-git-2.45.2-send-email/libexec/git-core/.git-send-email-real line 1655.
--8<---------------cut here---------------end--------------->8---
My bad!
The issue is that ’package-transitive-propagated-inputs’ does not return
the package itself but only the dependent ones. Hence the explicit
dependents packages themselves are therefore missing.
Here, the snippet that fixes.
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> ,pp (delete-duplicates
(let ((these-inputs
(list (this-package-input "perl-authen-sasl")
(this-package-input "perl-net-smtp-ssl")
(this-package-input "perl-io-socket-ssl"))))
(append
these-inputs
(map last
(append-map
package-transitive-propagated-inputs
these-inputs)))))
$4 = (#<package perl-authen-sasl <at> 2.16 gnu/packages/web.scm:2476 72f60a906f20>
#<package perl-net-smtp-ssl <at> 1.04 gnu/packages/web.scm:4512 72f60a9169a0>
#<package perl-io-socket-ssl <at> 2.081 gnu/packages/web.scm:4206 72f60a90f160>
#<package perl-digest-hmac <at> 1.04 gnu/packages/perl.scm:4029 72f60df5e420>
#<package perl-gssapi <at> 0.28 gnu/packages/web.scm:3527 72f60a90c580>
#<package perl-uri <at> 5.05 gnu/packages/web.scm:4819 72f60a916160>
#<package perl-net-ssleay <at> 1.92 gnu/packages/tls.scm:819 72f60a7f3e70>)
--8<---------------cut here---------------end--------------->8---
compared to:
(assoc-ref inputs "perl-authen-sasl")
(assoc-ref inputs "perl-net-smtp-ssl")
(assoc-ref inputs "perl-io-socket-ssl")
(assoc-ref inputs "perl-gssapi")
(assoc-ref inputs "perl-digest-hmac")
(assoc-ref inputs "perl-uri")
(assoc-ref inputs "perl-net-ssleay")
Therefore, see v2.
Cheers,
simon
Information forwarded
to
bug-guix <at> gnu.org
:
bug#73030
; Package
guix
.
(Thu, 05 Sep 2024 02:56:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 73030 <at> debbugs.gnu.org (full text, mbox):
Hi,
For the fixes see <https://issues.guix.gnu.org/73034>.
Explanation below.
On Wed, 04 Sep 2024 at 20:57, Simon Tournier <zimon.toutoune <at> gmail.com> wrote:
> --8<---------------cut here---------------start------------->8---
> Not using SSL_VERIFY_PEER due to out-of-date IO::Socket::SSL.
> To use SSL please install IO::Socket::SSL with version>=2.007 at /gnu/store/v6bivyjbg6bj07s8iqfzdm6hpvypc0p1-perl-5.36.0/lib/perl5/5.36.0/Net/SMTP.pm line 268.
> --8<---------------cut here---------------end--------------->8---
It is a regression introduced in core-updates, recently merged,
f2886044: gnu: git: Remove labels and use gexps.
Well, it was not straightforward to spot the bug. :-) Especially when
’git bisect’ is useless. Therefore, I locally reverted all the 8
suspicious commits modifying packages as git or git-minimal and then
investigated one by one.
Once the culprit had been identified, it was easier to spot the
unexpected part. Roughly, this snippet:
;; Tell 'git-send-email' where perl modules are.
(wrap-program git-se*
`("PERL5LIB" ":" prefix
,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
(list
,@(transitive-input-references
'inputs
(map (lambda (l)
(assoc l (package-inputs this-package)))
'("perl-authen-sasl"
"perl-net-smtp-ssl"
"perl-io-socket-ssl")))))))
had been translated into:
;; Tell 'git-send-email' where perl modules are.
(wrap-program git-se*
`("PERL5LIB" ":" prefix
,(search-path-as-list
'("lib/perl5/site_perl")
'#$(delete-duplicates
(append-map
(compose last package-transitive-propagated-inputs)
(list (this-package-input "perl-authen-sasl")
(this-package-input "perl-net-smtp-ssl")
(this-package-input "perl-io-socket-ssl")))))))
The former essentially reads:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> ,use(gnu packages version-control)
scheme@(guix-user)> (define this-package git)
scheme@(guix-user)> ,pp (transitive-input-references
'inputs
(map (lambda (l)
(assoc l (package-inputs this-package)))
'("perl-authen-sasl"
"perl-net-smtp-ssl"
"perl-io-socket-ssl")))
$1 = ((assoc-ref inputs "perl-authen-sasl")
(assoc-ref inputs "perl-net-smtp-ssl")
(assoc-ref inputs "perl-io-socket-ssl")
(assoc-ref inputs "perl-gssapi")
(assoc-ref inputs "perl-digest-hmac")
(assoc-ref inputs "perl-uri")
(assoc-ref inputs "perl-net-ssleay"))
--8<---------------cut here---------------end--------------->8---
and the last essentially reads:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> ,use(srfi srfi-1)
scheme@(guix-user)> (define (this-package-input name) (or (lookup-package-input this-package name) (lookup-package-native-input this-package name)))
scheme@(guix-user)> ,pp (append-map
(compose last package-transitive-propagated-inputs)
(list (this-package-input "perl-authen-sasl")
(this-package-input "perl-net-smtp-ssl")
(this-package-input "perl-io-socket-ssl")))
$2 = ("perl-gssapi"
#<package perl-gssapi <at> 0.28 gnu/packages/web.scm:3527 72334030c580>
"perl-net-ssleay"
#<package perl-net-ssleay <at> 1.92 gnu/packages/tls.scm:819 72333ffc8e70>
"perl-uri"
#<package perl-uri <at> 5.05 gnu/packages/web.scm:4819 723340318160>)
--8<---------------cut here---------------end--------------->8---
Because ’last’ is applied before ’append-map’, it keeps only the last
elements of all the propagated-inputs for each of the 3. For instance:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (package-transitive-propagated-inputs (this-package-input "perl-authen-sasl"))
$3 = (("perl-digest-hmac" #<package perl-digest-hmac <at> 1.04 gnu/packages/perl.scm:4029 72333e2ba420>) ("perl-gssapi" #<package perl-gssapi <at> 0.28 gnu/packages/web.scm:3527 72334030c580>))
--8<---------------cut here---------------end--------------->8---
When what is needed is all the package objects. Therefore, it’s not
possible to compose.
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> ,pp (map last (append-map
package-transitive-propagated-inputs
(list (this-package-input "perl-authen-sasl")
(this-package-input "perl-net-smtp-ssl")
(this-package-input "perl-io-socket-ssl"))))
$4 = (#<package perl-digest-hmac <at> 1.04 gnu/packages/perl.scm:4029 72333e2ba420>
#<package perl-gssapi <at> 0.28 gnu/packages/web.scm:3527 72334030c580>
#<package perl-io-socket-ssl <at> 2.081 gnu/packages/web.scm:4206 723340310160>
#<package perl-uri <at> 5.05 gnu/packages/web.scm:4819 723340318160>
#<package perl-net-ssleay <at> 1.92 gnu/packages/tls.scm:819 72333ffc8e70>
#<package perl-net-ssleay <at> 1.92 gnu/packages/tls.scm:819 72333ffc8e70>
#<package perl-uri <at> 5.05 gnu/packages/web.scm:4819 723340318160>)
--8<---------------cut here---------------end--------------->8---
I guess that’s the same story for 'gitweb.cgi'.
Cheers,
simon
Merged 73030 73076.
Request was from
Simon Tournier <zimon.toutoune <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Mon, 09 Sep 2024 12:12:02 GMT)
Full text and
rfc822 format available.
Reply sent
to
Simon Tournier <zimon.toutoune <at> gmail.com>
:
You have taken responsibility.
(Mon, 09 Sep 2024 17:39:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Simon Tournier <zimon.toutoune <at> gmail.com>
:
bug acknowledged by developer.
(Mon, 09 Sep 2024 17:39:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 73030-done <at> debbugs.gnu.org (full text, mbox):
Hi Andreas,
On Fri, 06 Sep 2024 at 18:15, Andreas Enge <andreas <at> enge.fr> wrote:
> I think this may be a consequence of the recent core-updates merge.
Duplicate of <https://issues.guix.gnu.org/73030>.
Fixed by acba6223b5268ece0c6cb4b1ce346f5dc5e8affc.
Closing.
Cheers,
simon
Reply sent
to
Simon Tournier <zimon.toutoune <at> gmail.com>
:
You have taken responsibility.
(Mon, 09 Sep 2024 17:39:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Andreas Enge <andreas <at> enge.fr>
:
bug acknowledged by developer.
(Mon, 09 Sep 2024 17:39:03 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 08 Oct 2024 11:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 312 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.