guix-devel
[Top][All Lists]
Advanced

[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"

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]