[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1019202: dh-make-elpa: crashes with: Can't locate object method "gecos"



Lev Lamberov <dogsleg@debian.org> writes:
> Пн 05 сен 2022 @ 09:51 David Bremner <bremner@debian.org>:
>
>> Package: dh-make-elpa
>> Version: 0.19.1
>> Severity: important
[snip]
> Hmm... have you changed directory to srv.el before running dh-make-elpa?
> Because I cannot reproduce this, see:
>
> $ git clone -o upstream https://github.com/legoscia/srv.el
> $ cd srv.el/
> $ dh-make-elpa --pkg-emacsen
> I: couldn't generate d/docs: not fully implemented
> $ ls
> debian  srv.el
> $ ls debian/
> changelog  control  copyright  elpa  gbp.conf  rules  source  watch
>

Interesting!  I can confirm two failures, and the second is the one
David reported.  In an up-to-date clean sid schroot:

  $ sudo apt install dh-make-elpa && cd /tmp
  $ git clone -o upstream https://github.com/legoscia/srv.el && cd srv.el
  $ dh-make-elpa --pkg-emacsen
  Can't locate Email/Date/Format.pm in @INC (you may need to install the
Email::Date::Format module) (@INC contains: /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0
/usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34
/usr/share/perl/5.34 /usr/local/lib/site_perl) at
/usr/share/perl5/DhMakeELPA/Command/make.pm line 28. BEGIN
failed--compilation aborted at
/usr/share/perl5/DhMakeELPA/Command/make.pm line 28. Compilation failed
in require at /usr/share/perl5/DhMakeELPA.pm line 58. 

#1, dh-make-elpa is missing a depends on libemail-date-format-perl
    Presumably this dependency was previously transitively fulfilled?

  $ sudo apt install libemail-date-format-perl

#2, (the one this bug is about)

  $ dh-make-elpa --pkg-emacsen
  Can't locate object method "gecos" via package "sten" (perhaps you
forgot to load "sten"?) at /usr/share/perl5/DhMakeELPA/Command/Packaging.pm line 127.

  $ ls debian/
  changelog  elpa  source

  $ rm -rf debian
  $ perl -d `which dh-make-elpa` --pkg-emacsen
    DB<1> n
    Can't locate object method "gecos" via package "sten" (perhaps you forgot to load "sten"?) at /usr/share/perl5/DhMakeELPA/Command/Packaging.pm line 127.
     at /usr/share/perl5/DhMakeELPA/Command/Packaging.pm line 127.
            DhMakeELPA::Command::Packaging::get_name(DhMakeELPA::Command::make=HASH(0x55e6f856ff18))
called at /usr/share/perl5/DhMakeELPA/Command/Packaging.pm line 137
            DhMakeELPA::Command::Packaging::get_developer(DhMakeELPA::Command::make=HASH(0x55e6f856ff18))
called at /usr/share/perl5/DhMakeELPA/Command/make.pm line 131
            DhMakeELPA::Command::make::create_changelog(DhMakeELPA::Command::make=HASH(0x55e6f856ff18),
"/tmp/srv.el/debian/changelog", undef) called at /usr/share/perl5/DhMakeELPA/Command/make.pm line 50
            DhMakeELPA::Command::make::execute(DhMakeELPA::Command::make=HASH(0x55e6f856ff18))
called at /usr/share/perl5/DhMakeELPA.pm line 65
            DhMakeELPA::run("DhMakeELPA") called at /usr/bin/dh-make-elpa line 14 
Debugged program terminated.

Sorry I can't help more...Perl idioms look backwards to my simple mind...

I don't understand why "getpwent" isn't being used here to get the 5th
field for the account that matches $name.  Also, probably a red herring,
but the Perl docs I've read all call the gecos field "$gcos" for some
reason.

Regards,
Nicholas

Attachment: signature.asc
Description: PGP signature


Reply to: