[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Enable deterministic perl archives.
From: |
Marius Bakke |
Subject: |
Re: [PATCH] Enable deterministic perl archives. |
Date: |
Sat, 26 Nov 2016 09:06:22 +0100 |
User-agent: |
Notmuch/0.23.2 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) |
Ludovic Courtès <address@hidden> writes:
> Hi,
>
> Marius Bakke <address@hidden> skribis:
>
>> Hi Guix,
>>
>> This patch disables installation of "perllocal.pod" files which records
>> build time and not much else in perl packages.
>>
>> I haven't checked whether this is needed for packages using 'Build.PL',
>> if you know any such package let me know.
>
> Are these perllocal.pod files really useless?
>
> In Debian this problem is filed as <https://bugs.debian.org/835815>.
> Apparently upstream ended up using SOURCE_DATE_EPOCH:
>
> https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/279
>
> Should we do that instead? Or are perllocal.pod pointless anyway?
As far as I can tell, they really are pointless. Makefiles generated by
MakeMaker have a "pure_install" target that do not create them.
From http://www.perlmonks.org/?node=ExtUtils%3A%3AMakeMaker:
"make install per default writes some documentation of what has been
done into the file $(INSTALLARCHLIB)/perllocal.pod. This feature can be
bypassed by calling make pure_install."
Here is a typical perllocal.pod:
--8<---------------cut here---------------start------------->8---
=head2 Tue Oct 25 03:46:54 2016: C<Module> L<Eval::Closure|Eval::Closure>
=over 4
=item *
C<installed into:
/gnu/store/8bqypkq60c72ndxfxi9g661r6rzby7iv-perl-eval-closure-0.14/lib/perl5/site_perl/5.24.0>
=item *
C<LINKTYPE: dynamic>
=item *
C<VERSION: 0.14>
=item *
C<EXE_FILES: >
=back
--8<---------------cut here---------------end--------------->8---
They contain build date, FFI language, link type, version and a list of
executables.
As far as I can tell, this is used by "traditional" package managers
such as CPAN, which appends information about all modules in a location
to a single perllocal.pod file [0]. Since our modules are
self-contained, they will not have any more utility than the above.
[0]: http://www.cpan.org/misc/cpan-faq.html#How_installed_modules
"Each time a module is installed on your system, it appends information
like the following to a file called perllocal.pod which can be found in
/usr/local/lib/perl5/version number/architecture/ or something akin to
that"
signature.asc
Description: PGP signature