unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] Enable deterministic perl archives.
Date: Sat, 26 Nov 2016 09:06:22 +0100	[thread overview]
Message-ID: <87lgw6hdhd.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <87r35zp2oz.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2240 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Hi,
>
> Marius Bakke <mbakke@fastmail.com> 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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2016-11-26  8:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23 17:53 [PATCH] Enable deterministic perl archives Marius Bakke
2016-11-25 23:19 ` Ludovic Courtès
2016-11-26  8:06   ` Marius Bakke [this message]
2016-11-28 13:42     ` Ludovic Courtès
2016-11-28 22:13       ` Marius Bakke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lgw6hdhd.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me \
    --to=mbakke@fastmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).