FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 09-09-2012, 03:53 AM
Matthias Bethke
 
Default Perl: please don't delete packlists

I just tried (and failed) to pack a script with App::FatPacker and
noticed Gentoo follows the bad example of most other distributions in
removing all .packlist files from Perl module installations.

These files are the only system-independent way of determining which
modules belong together as part of a CPAN distribution, e.g. to find
that Template::Parser belongs to the Template Toolkit proper while
Template::Timer is an external add-on. FatPacker needs them to determine
which modules to pack into the archive that makes a standalone script
not requiring any external non-core modules, and so do various other
bits such as Module::Installed.

Can we please keep these? It's not like a handful of files with a couple
hundred bytes per installed module at worst made any significant
difference in either disk use or search times, but removing them is a
Bad Idea that probably came from Debian and needlessly breaks stuff.

I solved my problem by

a) removing the patches to ExtUtils::MakeMaker that delete packlist
creation from the perl and vendor targets in generated makefiles, and

b) modifying perl-module.eclass so it removes only empty *.bs files:

--- /usr/portage/eclass/perl-module.eclass.orig 2012-09-01 08:26:44.245212715 -0600
+++ /usr/portage/eclass/perl-module.eclass 2012-09-01 10:22:10.308419665 -0600
@@ -123,7 +123,7 @@
--installdirs=vendor
--libdoc=
--destdir="${D}"
- --create_packlist=0
+ --create_packlist=1
"${myconf_local[@]}"
einfo "perl Build.PL" "$@"
perl Build.PL "$@" <<< "${pm_echovar}"
@@ -341,8 +341,7 @@
debug-print-function $FUNCNAME "$@"
perl_set_version
if [[ -d ${D}/${VENDOR_ARCH} ]] ; then
- find "${D}/${VENDOR_ARCH}" -type f -a ( -name .packlist
- -o ( -name '*.bs' -a -empty ) ) -delete
+ find "${D}/${VENDOR_ARCH}" -type f -a ( -name '*.bs' -a -empty ) -delete
find "${D}" -depth -mindepth 1 -type d -empty -delete
fi
}

The perl_delete_packlist() function should probably not be called that any more
as it only deals with DynaLoader files now but that would require changing a
few ebuilds as well:

dev-libs/libprelude
www-apache/mod_perl
net-analyzer/rrdtool

I think Gentoo of all distributions should aim to provide software as
"original" as possible. If there are any reasons that I have ignored so
far why people would want the current behavior, how about I make this
patch conditional on a new use flag?

cheers,
Matthias
 
Old 09-10-2012, 05:22 AM
Kent Fredric
 
Default Perl: please don't delete packlists

On 9 September 2012 15:53, Matthias Bethke <matthias@towiski.de> wrote:
> I think Gentoo of all distributions should aim to provide software as
> "original" as possible. If there are any reasons that I have ignored so
> far why people would want the current behavior, how about I make this
> patch conditional on a new use flag?

I'd suggest not a USE flag, at least, not at present, it would
needlessly require all ebuilds to have that useflag, which would be a
significant noise to users.

I'd rather a documented( in the eclass ) ENV variable that could
toggle this behaviour that was /not/ a use-flag, so only people who
cared about that sort of behaviour could adjust it.

Then the question is only really as to what a "Sane default" is. Seems
the sane default is to install packlists, but have it being
disable-able by ENV change for the people who have the tuits to know
"I'll never need those, and if I do, I can handle the need to rebuild
everything with them".

Additionally, it /might/ be nice if we could have a 3rd party ( Gentoo
) tool that reads a dists CONTENTS file and re-creates packlist files
when needed, but thats more work than the above at present. =)

--
Kent

perl -e "print substr( "edrgmaM SPA NOcomil.ic@tfrken", $_ * 3,
3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"

http://kent-fredric.fox.geek.nz
 
Old 09-10-2012, 07:28 AM
Michał Górny
 
Default Perl: please don't delete packlists

On Mon, 10 Sep 2012 17:22:14 +1200
Kent Fredric <kentfredric@gmail.com> wrote:

> On 9 September 2012 15:53, Matthias Bethke <matthias@towiski.de>
> wrote:
> > I think Gentoo of all distributions should aim to provide software
> > as "original" as possible. If there are any reasons that I have
> > ignored so far why people would want the current behavior, how
> > about I make this patch conditional on a new use flag?
>
> I'd suggest not a USE flag, at least, not at present, it would
> needlessly require all ebuilds to have that useflag, which would be a
> significant noise to users.
>
> I'd rather a documented( in the eclass ) ENV variable that could
> toggle this behaviour that was /not/ a use-flag, so only people who
> cared about that sort of behaviour could adjust it.
>
> Then the question is only really as to what a "Sane default" is. Seems
> the sane default is to install packlists, but have it being
> disable-able by ENV change for the people who have the tuits to know
> "I'll never need those, and if I do, I can handle the need to rebuild
> everything with them".

I think the relevant env variable is called INSTALL_MASK then .

--
Best regards,
Michał Górny
 

Thread Tools




All times are GMT. The time now is 06:58 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org