* [gentoo-dev] Summary: Install CD Bloat thread
@ 2003-08-22 0:08 Alec Berryman
2003-08-22 4:52 ` Owen Gunden
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Alec Berryman @ 2003-08-22 0:08 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2137 bytes --]
Install CD Bloat Thread Summary:
Kurt Lieber started off the thread:
"I've used the same installation CD for most of my gentoo installs over
the past few months, so I was shocked today when I realized that the
smallest install ISO that we currently offer (at least for x86) is
80MB. When I started with Gentoo, it was ~15MB.
What brought about the nearly six-fold increase in size for our basic
installation CD?"
The first culprit pointed out was vim. Many said that they would not
need vim, or even vi, to edit their /etc/make.conf. Others said that
because vi was a UNIX/Linux/POSIX.2 standard, it needed to be on the
CD. Although no compromise was reached, it was generally agreed that
vim should be replaced by a smaller vi clone, perhaps nvi (the standard
BSD vi) or vi itself. Aron Griffis pleaded that no substandard vi
clones be considered. Several people asked that no tools duplicate
functionality, such as nano and vim. The thread degeneraged quickly.
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.
Sven Vermeulen asked if links would be kept or replaced with lynx.
While lynx is smaller, it does not display tables or frames. Links is
more difficult to configure with a proxy. Stewart Honsberger suggested
that lynx go on the minimal cd (see below), while lynx go on the larger
CDs.
Stuart Herbert suggested the use of cloop, which should be in portage in
less than a week.
Chris proposed three CD sets: an minimal install CD with a stage1
tarball, a large LiveCD with common UNIX tools and a GUI, as well as a
full GRP CD. Luke-Jr replied that the new InGen LiveCDs would fit as
the "large LiveCD", but thought that there would not be enough space to
also use that as a base for the full GRP CD. Stuart Herbert and others
asked for the minimal install CD to be less than 55MB in order to fit on
keychain USB devices. Others wanted the minimal install CD to size down
to the original 16MB. Another idea was for each user to generate his
own custom LiveCD through a set of scripts.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
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
2 siblings, 0 replies; 12+ messages in thread
From: Owen Gunden @ 2003-08-22 4:52 UTC (permalink / raw
To: gentoo-dev
On Thu, Aug 21, 2003 at 07:08:55PM -0500, Alec Berryman wrote:
> Stewart Honsberger suggested that lynx go on the minimal cd (see below),
> while lynx go on the larger CDs.
^^^^
I think you mean links here.
Excellent summary! Thanks so much for taking the time.
Owen
--
Howard Dean will enable hicks like me to get broadband.
http://www.deanforamerica.com/
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
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
2 siblings, 0 replies; 12+ messages in thread
From: Karsten Schulz @ 2003-08-22 10:28 UTC (permalink / raw
To: gentoo-dev
Alec,
thank you very much for your excellent summaries! I would like to
encourage you to go on with your work.
thanks again,
Karsten
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
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
2003-08-24 23:37 ` Georgi Georgiev
` (2 more replies)
2 siblings, 3 replies; 12+ messages in thread
From: Stuart Herbert @ 2003-08-24 21:09 UTC (permalink / raw
To: Alec Berryman, gentoo-dev
[-- 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 --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
2003-08-24 21:09 ` Stuart Herbert
@ 2003-08-24 23:37 ` Georgi Georgiev
2003-08-25 8:59 ` Paul de Vrieze
2003-08-25 0:53 ` [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread) Mamoru KOMACHI
2003-08-25 8:57 ` [gentoo-dev] Summary: Install CD Bloat thread Paul de Vrieze
2 siblings, 1 reply; 12+ messages in thread
From: Georgi Georgiev @ 2003-08-24 23:37 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1155 bytes --]
On 24/08/2003 at 22:09:12(+0100), Stuart Herbert used 6.6K just to say:
> > 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.
Well, there is always perlcc. One could make a huge, perlcc-compiled and
statically linked pptpclient for the LiveCD I guess. Or it doesn't have to be
static, keeping the necessary libs could be enough.
--
() Georgi Georgiev () The absent ones are always at fault. ()
() chutz@gg3.net () ()
() +81(90)6266-1163 () ()
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread)
2003-08-24 21:09 ` Stuart Herbert
2003-08-24 23:37 ` Georgi Georgiev
@ 2003-08-25 0:53 ` Mamoru KOMACHI
2003-08-25 1:16 ` Stuart Herbert
2003-08-25 8:57 ` [gentoo-dev] Summary: Install CD Bloat thread Paul de Vrieze
2 siblings, 1 reply; 12+ messages in thread
From: Mamoru KOMACHI @ 2003-08-25 0:53 UTC (permalink / raw
To: gentoo-dev
Hi,
At Sun, 24 Aug 2003 22:09:12 +0100,
Stuart Herbert wrote:
> 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.
I have a similar problem in http://bugs.gentoo.org/show_bug.cgi?id=27175
In that bug, carpaski said:
"inherit is NEVER allowed to be conditional that way.
Either you inherit, or you don't. There is no middle ground.
It can be worked around, but any auxdb variables MAY NOT be
involved in bash conditional statements."
I don't want to inherit if it isn't required, but Portage doesn't
allow it ;-( And the problem is there seems no way to remove certain
DEPENDs once you inherit it (in net-irc/irsii case, you cannot remove
dependency to perl if you inherit perl-module). From a comment about
conditional dependencies in net-im/licq-1.2.7.ebuild I thoght it is a
work around to remove undesired DEPEND if USE flag is not set, but
when I tried to emerge that ebuild I realised that it doesn't work :-(
Does anyone know how to deal with the problem?
regards,
--
Mamoru KOMACHI <usata@gentoo.org>
http://dev.gentoo.org/~usata/
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread)
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
0 siblings, 1 reply; 12+ messages in thread
From: Stuart Herbert @ 2003-08-25 1:16 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 945 bytes --]
On Monday 25 August 2003 1:53 am, Mamoru KOMACHI wrote:
> In that bug, carpaski said:
>
> "inherit is NEVER allowed to be conditional that way.
> Either you inherit, or you don't. There is no middle ground.
Ain't that a pain. Must be because eclasses can and do add their own
dependencies; having optional inherits would really make a mess of the
metacache I guess.
I'm glad you brought this up; it's not a restriction that I'd come across
before.
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 #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
2003-08-24 21:09 ` Stuart Herbert
2003-08-24 23:37 ` Georgi Georgiev
2003-08-25 0:53 ` [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread) Mamoru KOMACHI
@ 2003-08-25 8:57 ` Paul de Vrieze
2003-08-25 12:00 ` Stuart Herbert
2 siblings, 1 reply; 12+ messages in thread
From: Paul de Vrieze @ 2003-08-25 8:57 UTC (permalink / raw
To: gentoo-dev
> 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.
One thing, your list lists xinetd as a dependency of ftp, but is there
actually any reason to offer the server part of the ftp package at all. I
mean why would the livecd include an ftp server. I see the point of the
ftp client that is in that package, but imho removing the whole of xinetd
is no problem.
Paul
--
Paul de Vrieze
Researcher
Mail: pauldv@cs.kun.nl
Homepage: http://www.devrieze.net
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
2003-08-24 23:37 ` Georgi Georgiev
@ 2003-08-25 8:59 ` Paul de Vrieze
2003-08-25 9:12 ` Georgi Georgiev
0 siblings, 1 reply; 12+ messages in thread
From: Paul de Vrieze @ 2003-08-25 8:59 UTC (permalink / raw
To: gentoo-dev
>
> Well, there is always perlcc. One could make a huge, perlcc-compiled and
> statically linked pptpclient for the LiveCD I guess. Or it doesn't have to
> be
> static, keeping the necessary libs could be enough.
>
Just for fun you might want to create a dynamic and static version and
tell us how big these are (and compare them with the size of the minimal
perl install)
Paul
--
Paul de Vrieze
Researcher
Mail: pauldv@cs.kun.nl
Homepage: http://www.devrieze.net
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
2003-08-25 8:59 ` Paul de Vrieze
@ 2003-08-25 9:12 ` Georgi Georgiev
0 siblings, 0 replies; 12+ messages in thread
From: Georgi Georgiev @ 2003-08-25 9:12 UTC (permalink / raw
To: gentoo-dev
On 25/08/2003 at 10:59:11(+0200), Paul de Vrieze used 0.5K just to say:
> >
> > Well, there is always perlcc. One could make a huge, perlcc-compiled and
> > statically linked pptpclient for the LiveCD I guess. Or it doesn't have to
> > be
> > static, keeping the necessary libs could be enough.
> >
>
> Just for fun you might want to create a dynamic and static version and
> tell us how big these are (and compare them with the size of the minimal
> perl install)
pptpclient-1.2.0 is in C. Maybe include that one instead?
perlcc was not a good idea after all. The dynamic pptp_fe (version 1.1.0) is
880K, and libperl.so that it needs is 1M.
--
\ Georgi Georgiev \ Brain fried -- Core dumped \
/ chutz@gg3.net / /
\ +81(90)6266-1163 \ \
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Summary: Install CD Bloat thread
2003-08-25 8:57 ` [gentoo-dev] Summary: Install CD Bloat thread Paul de Vrieze
@ 2003-08-25 12:00 ` Stuart Herbert
0 siblings, 0 replies; 12+ messages in thread
From: Stuart Herbert @ 2003-08-25 12:00 UTC (permalink / raw
To: gentoo-dev; +Cc: livewire
Hi Paul,
On Monday 25 August 2003 9:57 am, Paul de Vrieze wrote:
> One thing, your list lists xinetd as a dependency of ftp, but is there
> actually any reason to offer the server part of the ftp package at all. I
> mean why would the livecd include an ftp server. I see the point of the
> ftp client that is in that package, but imho removing the whole of xinetd
> is no problem.
Well, ftpd is in livewire's list of packages for the install CD. It's
probably best for him to explain why it's on the list.
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
--
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] conditional dependencies (was: [gentoo-dev] Summary: Install CD Bloat thread)
2003-08-25 1:16 ` Stuart Herbert
@ 2003-08-25 16:47 ` Mamoru KOMACHI
0 siblings, 0 replies; 12+ messages in thread
From: Mamoru KOMACHI @ 2003-08-25 16:47 UTC (permalink / raw
To: gentoo-dev
At Mon, 25 Aug 2003 02:16:13 +0100,
Stuart Herbert wrote:
> Must be because eclasses can and do add their own dependencies;
> having optional inherits would really make a mess of the metacache I
> guess.
I found a workaround to deal with that problem (but not sure this is
the right way to do it). Eclasses silently add E_*DEPEND and emerge
seems to catch dependencies not only from *DEPEND but also from
E_*DEPEND, so you may want to write
inherit elisp
E_DEPEND="emacs? ( ${E_DEPEND} )"
E_RDEPEND="emacs? ( ${E_RDEPEND} )"
DEPEND="[...]"
to turn off emacs dependency when USE="-emacs". This way, metacache
will not be messed up.
regards,
--
Mamoru KOMACHI <usata@gentoo.org>
http://dev.gentoo.org/~usata/
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2003-08-25 17:07 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox