From: Stuart Herbert <stuart@gentoo.org>
To: Alec Berryman <alec@lorax.wox.org>, gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] Summary: Install CD Bloat thread
Date: Sun, 24 Aug 2003 22:09:12 +0100 [thread overview]
Message-ID: <200308242209.18942.stuart@gentoo.org> (raw)
In-Reply-To: <1061510935.2407.7.camel@localhost.localdomain>
[-- Attachment #1.1: body text --]
[-- Type: text/plain, Size: 1241 bytes --]
Hi Alec,
First off - great summary!
On Friday 22 August 2003 1:08 am, Alec Berryman wrote:
> Install CD Bloat Thread Summary:
[ snip ]
> Another culprit for the increase was the inclusion of Perl 5. No one
> could figure out a good reason for it to be on there.
pptpclient requires it.
There are a number of packages that pull in Perl 5 during the process of
creating the CD image, but pptpclient is the only package that survives
through to the actual CD image that genuinely needs Perl 5. See the
attachment for all the gory details.
The only way to leave Perl 5 off the CD is to drop pptpclient. I couldn't
find any alternative on Freshmeat, and I suspect that many people who install
Gentoo Linux have ISPs who use PPTP.
Best regards,
Stu
--
Stuart Herbert stuart@gentoo.org
Gentoo Developer http://www.gentoo.org/
Beta packages for download http://dev.gentoo.org/~stuart/packages/
Come and meet me in March 2004 http://www.phparch.com/cruise/
GnuGP key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C
--
[-- Attachment #1.2: livecd-perl5.txt --]
[-- Type: text/plain, Size: 4521 bytes --]
Analysis of perl-5.8 on the basic install CD
--------------------------------------------
In Alec's recent summary of the discussion on bloat on the basic
x86 install CD for Gentoo 1.4, the point was made that no-one is
really clear as to *why* perl-5.8 is part of the image.
So I decided to find out
I decided the best way to do this would be to work from first principles,
and find out what it would take to build a basic install CD image from
scratch without perl.
Summary
-------
Do we need perl-5.8 on the final CD install image? Yes, for pptpclient.
The Gory Details
----------------
1. default-1.4-x86 profile
'emerge system' is the command run at stage 2 of the Gentoo installation
process. This automatically pulls in perl-5.8, because it is listed
in the 'profile' for Gentoo 1.4 on x86.
Solution: create a new profile, listing the packages required for the
basic install CD. Make sure perl-5.8 isn't included in the list of
packages in the new profile.
This solution has the advantage of 'documenting' (well, sort of!) the
list of packages that make up the basic CD image.
2. Vim
Even with USE="minimal", building vim pulls in perl. There's no real
need to use vim on the install image; app-editors/vi is sufficient
for the purposes of installing Gentoo.
Solution: remove 'vim' from the install CD, and add 'apps-editors/vi'
instead.
3. openssl
openssl uses perl as part of its compilation stage, but doesn't (as far
as I can tell) need perl once installed.
Solution: allow openssl to install perl as a dependency, and then remember
to remove perl ('emerge -C perl') later.
4. sys-apps/help2man
help2man is a dependency of diffutils. help2man requires perl as a runtime
dependency. We don't need help2man on the basic install CD; is there a way
to get rid of it?
Solution: by adding the 'build' USE flag, we convince diffutils not to
build its documentation, and not to DEPEND on help2man at all.
5. sys-devel/autoconf
autoconf is a perl script.
Solution: remember to remove autoconf and perl when we're done building
the software for the CD image.
6. sys-devel/automake
Like autoconf, automake is a perl script.
Solution: remember to remove perl when we're done.
7. sys-apps/util-linux
util-linux lists perl as a runtime dependency. However, unless I've missed
something, our util-linux ebuild does not install anything that requires
perl at all. It would appear that the ebuild needs fixing.
Solution: remember to remove perl when we're done.
8. net-misc/openssh
Like the autoconf and automake ebuilds, the ebuild for openssh uses perl
to perform search and replace; something that can also be done using sed.
Unlike the autoconf and automake ebuilds, openssh doesn't need perl at
runtime. This ebuild needs fixing.
Solution: remember to remove perl when we're done.
9. net-irc/irssi
irssi is an excellent text-mode IRC client; it's my personal favourite.
It uses perl for scripted extensions - a feature we're not going to miss
on a minimal boot CD image.
The weird thing is, the ebuild very clearly only depends on perl if the
'perl' USE flag is set. So, why is perl being pulled in? Well, the
irssi ebuild inherits the perl-module eclass, and *that's* where the
dependency comes from.
Solution: fix the ebuild to only inherit perl-module if the perl USE flag
is set; until then, ensure -perl is set in the USE flags, and remember to
remove perl when we're done.
10. net-dialup/pptpclient
pptpclient is used to connect to ISPs that use the PPTP protocol. PPTP
is a tunnelling protocol apparently credited to Microsoft, and is
documented in RFC 2647.
This package includes perl scripts, and probably (definitely?) cannot work
without perl.
Solutions:
1) Drop support for users who need PPTP support. Not very sociable.
2) Find a PPTP package that doesn't use Perl. Gentoo doesn't seem
to have an ebuild for an alternative, and a quick search on Freshmeat
doesn't look too promising.
3) Produce two install CD images - one with PPTP support, and one without.
4) Find another way to reduce the disk size (like -nls in the USE flags?)
11. sys-apps/xinetd
xinetd is a dependency of the net-ftp/ftpd server that's included in the
list of packages for the basic CD install image. xinetd includes a perl
script called xconv.pl, which appears to translate traditional UNIX inetd.conf
files into xinetd's own format.
Solution: we don't need xconv.pl working on the basic install CD image, so
perl can be safely removed (along with the xconv.pl script)
[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-08-24 21:11 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-22 0:08 [gentoo-dev] Summary: Install CD Bloat thread Alec Berryman
2003-08-22 4:52 ` Owen Gunden
2003-08-22 10:28 ` Karsten Schulz
2003-08-24 21:09 ` Stuart Herbert [this message]
2003-08-24 23:37 ` Georgi Georgiev
2003-08-25 8:59 ` Paul de Vrieze
2003-08-25 9:12 ` Georgi Georgiev
2003-08-25 0:53 ` [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread) Mamoru KOMACHI
2003-08-25 1:16 ` Stuart Herbert
2003-08-25 16:47 ` Mamoru KOMACHI
2003-08-25 8:57 ` [gentoo-dev] Summary: Install CD Bloat thread Paul de Vrieze
2003-08-25 12:00 ` Stuart Herbert
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200308242209.18942.stuart@gentoo.org \
--to=stuart@gentoo.org \
--cc=alec@lorax.wox.org \
--cc=gentoo-dev@gentoo.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox