From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31518 invoked by uid 1002); 24 Aug 2003 21:11:36 -0000 Mailing-List: contact gentoo-dev-help@gentoo.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Received: (qmail 29778 invoked from network); 24 Aug 2003 21:11:35 -0000 From: Stuart Herbert Reply-To: stuart@gentoo.org To: Alec Berryman , gentoo-dev@gentoo.org Date: Sun, 24 Aug 2003 22:09:12 +0100 User-Agent: KMail/1.5.3 References: <1061510935.2407.7.camel@localhost.localdomain> In-Reply-To: <1061510935.2407.7.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha1; boundary="Boundary-03=_+lSS/TjimJoyLAX"; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200308242209.18942.stuart@gentoo.org> Subject: Re: [gentoo-dev] Summary: Install CD Bloat thread X-Archives-Salt: abe3cdd6-2ec5-4877-bca6-a9ea486b1f63 X-Archives-Hash: 9e615959ecc9f5002ec5da570e9abdce --Boundary-03=_+lSS/TjimJoyLAX Content-Type: multipart/mixed; boundary="Boundary-01=_4lSS/620MhxKsuz" Content-Transfer-Encoding: 7bit Content-Description: signed data Content-Disposition: inline --Boundary-01=_4lSS/620MhxKsuz Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Description: body text Content-Disposition: inline Hi Alec, =46irst 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. =20 There are a number of packages that pull in Perl 5 during the process of=20 creating the CD image, but pptpclient is the only package that survives=20 through to the actual CD image that genuinely needs Perl 5. See the=20 attachment for all the gory details. The only way to leave Perl 5 off the CD is to drop pptpclient. I couldn't= =20 find any alternative on Freshmeat, and I suspect that many people who insta= ll=20 Gentoo Linux have ISPs who use PPTP. Best regards, Stu =2D-=20 Stuart Herbert stuart@gentoo.o= rg Gentoo Developer http://www.gentoo.or= g/ Beta packages for download http://dev.gentoo.org/~stuart/package= s/ Come and meet me in March 2004 http://www.phparch.com/cruis= e/ GnuGP key id# F9AFC57C available from http://pgp.mit.edu Key fingerprint =3D 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C =2D- --Boundary-01=_4lSS/620MhxKsuz Content-Type: text/plain; charset="iso-8859-1"; name="livecd-perl5.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="livecd-perl5.txt" 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) --Boundary-01=_4lSS/620MhxKsuz-- --Boundary-03=_+lSS/TjimJoyLAX Content-Type: application/pgp-signature Content-Description: signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQA/SSl+DC+AuvmvxXwRAhe4AJ0dsKZ8LMQD7cPlTgYkYKDRVPJayACdGu9g YZuAsI3o6vMc5DNz7osIGm8= =dXxa -----END PGP SIGNATURE----- --Boundary-03=_+lSS/TjimJoyLAX--