Subject: Few thoughts about pkgsrc and low disk space computers
To: None <tech-pkg@netbsd.org>
From: Michal Pasternak <michal@pasternak.w.lub.pl>
List: tech-pkg
Date: 08/15/2003 02:55:39
Hi,

I know I can do below stuff by hand, or with a little help from shell and
some utilities, but that's not the point. If the things can be done in a bit
better way without breaking anything, this is generally a good thing. The
thing I like most about NetBSD is, that NetBSD is being developed in a
really good and optimized way. Below you will find my thoughts about pkgsrc
and low disk space systems - things, that could (propably) be changed to make
pkgsrc behave better on such computers.

1. Suppose a package is built as a dependency. I'd expect behaviour like:

   - check if dependency is available
   - if not, build and install it
   - *clean it*
   - return to build of ,,main'' package
  
   As it came out, dependencies are not cleaned automatically, I have to 
   ,,make clean-depends''. Why this is default behaviour? What are the pro's
   of not cleaning dependencies automatically?

2. Why the dependencies are checked _after_ the package has been extracted?
   Wouldn't it be a bit better to first check if the dependencies are
   available, if not - build them first, then clean them, then extract the
   ,,main'' package and return to it's build?
   
3. For *build* dependencies only: suppose a package A needs package B to
   build. Package B is not installed. Wouldn't it be useful to add an option
   to automatically deinstall build depends (package B) after a successful
   build of package A in case package B is not needed by any other packages?

4. I found pkg_tarup very useful. Do you? Do you think, that further
   development of this utility could be useful? IMO it could really use 3
   new options:
   - possibility to tarup more, than one package given on command line
   - possibility to tarup a package with it's dependencies
   - some option to increase output verbosity
   
   Do you think, that adding such options to pkg_tarup would be useful,
   or would it be a waste of time (just because pkgsrc can do such things) ?   
   Don't forget, that pkg_tarup can save a lot of time, when you don't have
   a .tgz file of installed package and you need to install it quick on some
   other computer.
   
Making such changes to pkgsrc behaviour would lower it's demand for disk
space, especially if we consider big packages (such as mozilla or
openoffice.org) or packages with a lot of dependencies (meta/gnome2,
meta/kde3).

What do you think about it? Could it break anything? I trust NetBSD
developers, so if they put things this way (for example, extract before
build-depends), this is propably the most proper way - but if we change the
order the things are done, would it break anything?

Regards,
-- 
Micha³ Pasternak :: http://pasternak.w.lub.pl
I just discovered Marshall, Kirk and McKusick are really a single person!