Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 95038 - Perl ebuild installing the minimum required to run GNU autotools on it (adds minimal to IUSE).
Summary: Perl ebuild installing the minimum required to run GNU autotools on it (adds ...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Perl Ebuild Requests
URL:
Whiteboard:
Keywords:
Depends on: 110453
Blocks:
  Show dependency tree
 
Reported: 2005-06-04 09:54 UTC by René Rhéaume (a.k.a. repzilon, rener)
Modified: 2008-03-16 14:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
My ebuild with minimal USE flag support and other personal tweaks (perl-5.8.5-r6.ebuild,15.94 KB, text/plain)
2005-06-04 09:56 UTC, René Rhéaume (a.k.a. repzilon, rener)
Details
Updated ebuild with support for pod2man (perl-5.8.5-r6.ebuild,16.09 KB, text/plain)
2005-06-07 03:09 UTC, René Rhéaume (a.k.a. repzilon, rener)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description René Rhéaume (a.k.a. repzilon, rener) 2005-06-04 09:54:09 UTC
Many (if not most) users on Gentoo use Perl only when the GNU autotools is
required to emerge some piece of software. They do not need the full-blown Perl.
Some distributions, like Debian, Mandr* and ex-Connectiva (before they were
bought by Mandr*Soft), provide a package named "perl-base", which contains the
interpreter executable and a subset of the modules.

I merged the file list for perl-base from the three distributions mentionned
above and added some files to the list to get autotools working. I sucessfully
emerged xine-lib 1.0.1-r1 with my minimal perl install.

As you may have guessed, I added a minimal flag to IUSE. The main changes are
the addition of src_remove_extra_files() called conditionally at the end of
src_install() and a conditionnal install target reducing emerge time when
"minimal" is used. Size went down from ~12300 Kib to 940 Kib!

Of course, more testing is needed. Either patch yourself a test ebuild or use
mine, make a package of your current perl, emerge perl using the new ebuild,
then emerge software when you have to. When you encounter a missing Perl module
error when emerging, please report it here.

Reproducible: Didn't try
Steps to Reproduce:
Comment 1 René Rhéaume (a.k.a. repzilon, rener) 2005-06-04 09:56:25 UTC
Created attachment 60593 [details]
My ebuild with minimal USE flag support and other personal tweaks
Comment 2 René Rhéaume (a.k.a. repzilon, rener) 2005-06-07 03:09:46 UTC
Created attachment 60763 [details]
Updated ebuild with support for pod2man

You must have pod2man if don't want wget build to fail. It added around 52 Kib
to the tbz2 size (I am still under the Mib :-)). Also, binutils would like to
have pod2man to generate its manual pages, but not having it is not fatal
unlike wget.
Comment 3 René Rhéaume (a.k.a. repzilon, rener) 2005-06-07 03:13:15 UTC
From the gentoo-embedded list
An archive link:
http://marc.theaimsgroup.com/?l=gentoo-embedded&m=111812930800365&w=2
> One of the problems perl exposes (bugged one maintainer, but no answer), 
> is that each time you rebuild it, it builds .ph versions of all the 
> installed .h headers (the more pkgs in the mean time on the dev box, the 
> more files). All distros I have seen limit the creation to some 
> well-known/really needed files (they check if a pkg is installed, get the 
> list of headers from pkg, and build only those). Such a behaviour could be 
> also desired at least for USE=minimal.

> Peter

This is something I have not looked yet but certainly worth I spend some time on it.
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2005-06-07 03:27:22 UTC
Not sure what the poster is referring to - there was a bug for this, which was  
the proper way to bring it up - and the creation of ph files is now completely  
limited to those that are truly necessary.   
  
I'm not ignoring this bug, btw - just trying to grok how to deal with it.  
Here's my issue: say we offer a minimal perl install per this bug request.  
Maybe it provides a virtual for perl (though in that case you have to wait  
until we can provide versioned virtuals so that apps that dep on having  
perl-5.X.X for a certain functionality in the core interpreter can have their  
dependancy met) - that still leaves us with then needing to create an ebuild  
for every single module that used to be provided by the core install but isn't  
because they're using minimal perl.  
  
I think I need more time to think on this one :) There is a use flag for  
minimal that might make this more doable if merged into the mainstream ebuild, 
but even then we would need to consider folks that install minimal, but then 
later on decide they want package foo - which has no dep for bar because prior 
to minimal it was part of the core install. ack. 
 
ie, i'm here, thinking, blogging, not sleeping 
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2005-06-07 03:33:11 UTC
...On the other hand, and I just thought of this...if our perl became minimal 
default (with a PDEPEND for !minimal calling a post-emerge of the other modules 
in perl-core as needed) this would solve things like conflicts between core 
modules and ebuilds...a lot of collision protects would be fixed...hmmm...need 
to pass this to -dev and see what other folks think...i'm too on the fense to 
make a decision at the moment 
Comment 6 Peter Gantner (a.k.a. nephros) 2005-08-16 03:08:40 UTC
Not sure if this is the right bug to report this, but I'm running a 
USE="minimal" perl install here, and trying to upgrade autoconf results in:

Making all in m4sugar
make[2]: Entering directory `/var/tmp/portage/autoconf-2.59-r7/work/autoconf-2.
59/lib/m4sugar'
../../tests/autom4te                            \
        --language=m4sugar                      \
        --freeze                        \
        --output=m4sugar.m4f
Can't locate loadable object for module Data::Dumper in @INC (@INC contains: /
var/tmp/portage/autoconf-2.59-r7/work/autoconf-2.59/tests/../lib /etc/perl /usr/
lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/
perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i686-linux /usr/lib/perl5/
vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.
8.6/i686-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.7/i686-linux /usr/
lib/perl5/5.8.7 /usr/local/lib/site_perl .) at /var/tmp/portage/autoconf-2.59-
r7/work/autoconf-2.59/tests/../lib/Autom4te/C4che.pm line 35
Compilation failed in require at /var/tmp/portage/autoconf-2.59-r7/work/
autoconf-2.59/tests/../lib/Autom4te/C4che.pm line 35.
BEGIN failed--compilation aborted at /var/tmp/portage/autoconf-2.59-r7/work/
autoconf-2.59/tests/../lib/Autom4te/C4che.pm line 35.
Compilation failed in require at /var/tmp/portage/autoconf-2.59-r7/work/
autoconf-2.59/tests/.././bin/autom4te line 39.
BEGIN failed--compilation aborted at /var/tmp/portage/autoconf-2.59-r7/work/
autoconf-2.59/tests/.././bin/autom4te line 39.
make[2]: *** [m4sugar.m4f] Error 2
make[2]: Leaving directory `/var/tmp/portage/autoconf-2.59-r7/work/autoconf-2.
59/lib/m4sugar'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/autoconf-2.59-r7/work/autoconf-2.
59/lib'
make: *** [all-recursive] Error 1

emerge -pv perl autoconf
[ebuild   R   ] dev-lang/perl-5.8.7  +berkdb -build -debug -doc +gdbm -ithreads 
-minimal* -perlsuid 0 kB
[ebuild     U ] sys-devel/autoconf-2.59-r7 [2.59-r6] -emacs 0 kB

Re-emerging with -minimal now, hope this works; let me know if you need more 
info or if I shoud file another bug.
Comment 7 Porges 2005-08-17 02:42:22 UTC
I'd like to confirm the previous post. With this bug I am unable to "emerge
system" on a fresh install with the "minimal" USE flag. This needs fixing! (I
would upgrade the severity... but I can't ;])
Comment 8 René Rhéaume (a.k.a. repzilon, rener) 2005-08-17 17:47:34 UTC
This is a real bug. Unfortunately, I cannot reproduce it on my system. I
correctly emerged autoconf 2.59-r6 and 2.59-r7 using perl 5.8.6-r5. I cannot try
perl 5.8.7 yet because I am still on dial up :-(

@Peter Gantner
What is the result of your emerge perl and autoconf without the minimal USE flag?
Can you also supply the your perl package contents (file list) ? Of course, only
if you emerged a full perl-5.8.7 without problems.

@Porges
Can you supply the output of emerge -pv system | grep perl ? I would like to
know which version of perl it tries to install.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2005-09-04 04:12:32 UTC
Mass re-assign.
Comment 10 René Rhéaume (a.k.a. repzilon, rener) 2005-10-30 12:06:17 UTC
The problem Peter Gantner and Porges got (see comments #6 and #7) is caused by
bug #110453. A fix is available and I successfully emerged autoconf-2.59-r7
using a patched perl 5.8.7-r1 ebuild.

I would like to include ${prV}/File/Temp.pm in the minimal set. Many perl
scripts use it for temporary file handling.

I also have to investigate why the minimal perl 5.8.7 tbz2 grew by ~350Kib. And
no, it is not because of ${prV}/File/Temp.pm (around ~64Kib uncompressed, and
the *compressed* tarball grew much more).
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2008-03-16 14:51:50 UTC
Dead bug.