Subject: Default package installation: intermixed vs. separate
To: None <>
From: Curt Sampson <>
List: tech-pkg
Date: 01/08/1999 23:45:58
Todd Veirling and I have a proposal to bring forth soon regarding
default paths and whatnot in packages; the last flamewar^Wthread
on this cleared up one of the areas in which we were not sure what
direction to go. The other area has to do with separating or
intermixing packages.

Anything in /etc, /var or /usr/X11R6 is intermixed with the system
already. However, other things destined for {bin,sbin,lib,share,etc.}
go under /usr/pkg/... rather than /usr/....

Now, the /usr/pkg paths will stay compiled into all the binaries,
but it's possible to intermix the binaries by symlinking
/usr/pkg -> /usr rather than making /usr/pkg a separate directory.

This, of course, won't happen on systems that have packages already
installed; the only time the package system itself would be able
to decide whether to create the symlink or the package directory
itself would be if /usr/pkg does not currently exist. So keep in
mind that the `default intermixed' option will only affect freshly
installed systems.

What we need to know is, on a freshly installed system, should
pkg_add create /usr/pkg as a directory, or as a symlink to /usr?

The big advantage of creating it as a symlink is that users new to
NetBSD (though potentially plenty of experience with other Unicies)
won't have to do the following:

    1. Add /usr/pkg/bin (and /usr/pkg/sbin) to their paths.

    2. Add -I/usr/pkg/include and -L/usr/pkg/lib when compiling
    things that use the package libraries. (Gnu autoconfig does
    not know to do this.)

This, to me, seems a decided advantage in attracting new users:
we're compatable with other systems, rather than having an
incompatability that probably, from their point of view, is
gratuitious. Yet current systems are not affected at all, since
they already have a /usr/pkg. The only disadvantage would be
unexpected behaviour on newly installed NetBSD systems for current
NetBSD users, but these people are easily reached through the NetBSD
mailing lists.

The two objections I anticipate are the following:

1. Those users that do want a separate directory for disk space
reasons automatically get an intermixed one. I don't think that
this is a big problem, since those users are likely to create a
separate partition before they install any packages anyway.

2. It's more difficult to tell the difference between package files
and base system files. We're in the process of developing a
centralised database of files that gives their origin right now,
so I don't think that this will be a problem in the future; you'll
just be able to ask the package system where a particular file came

Curt Sampson  <>   604 801 5335   De gustibus, aut bene aut nihil.
The most widely ported operating system in the world: