Subject: Wher do binary packages go.
To: None <current-users@NetBSD.ORG>
From: Jesus M. Gonzalez <jgb@ordago.uc3m.es>
List: current-users
Date: 03/13/1995 15:45:06
First of all, I'm not sure of this discussion beloging to this list (what about a netbsd-packages list?)

Then, I'd like to tell how do we organize our packages. 

To begin with, NetBSD is not
our only O.S. We have to support also SunOS, HP/UX and even Linux. So,we need an
schema which accomodates well this multi-OS environment.

Then, we don't want to mix O.S. whith applications. The point here is that O.S. versions
change, but binary packages usually work fine from version to version of the same O.S.
So, we want to keep O.S.s ``isolated'', so that transitions to new versions are smoother.

With these objective in mind, our schema for installed binary packages is the following:

1. In every machine we mantain two heirarchies. One (/usr/local), for packages
which are machine dependent (e.g., progra, binaries and such). Other (/vol/share)
for packages which are machine independent (e.g., LaTeX styles, Tcl/Tk applicationes).
This way, we can share files between architectures, when appropiate. You can
also make NFS-mountable /usr/local and /vol/share, without having to bother with
other problems.

2. Every package gets its own directory under /usr/local/install (e.g., /usr/local/install/gnat-2.03)
or /vol/share. Then, you build links (when apporpiate) from /usr/local/bin or /usr/local/lib
or whatever. When you have to install a new version of the package (say, gnat-2.04),
you just poulate /usr/local/install/gnat-2.04, and change the links, and everybody
(which NFS-mounts /usr/local) sees no change. Then you can safely just
rm -rf gnat-2.03, to free the space.

3. Since all O.S. files aren't under /vol/share or /usr/local, when you upgrade to,
say, NetBSD-1.1, you just install the new version, remount /usr/local and /vol/share,
and everything works fine. No new installations, no new copy of packages to /usr/bin
or whatever, etc.

4. This can be completed with some automatization tools. Currently, we are experimenting
with pkg_tools and amd to help in this direction.

This is just an small overview. If you are interested in this approach, please let me know.
I can send you a small document about the details.

Hope this helps,

		Jesus.

--
Jesus M. Gonzalez Barahona    | Universidad Carlos III (Madrid, Spain)
tel: +34 1 624 94 58          | e-mail: jgb@inf.uc3m.es
fax: +34 1 624 94 30          |         jgb@ordago.uc3m.es
(Sometimes our headers are not o.k., please reply to any of this addresses)
.From within Universidad Carlos III, you can better use jgb@ordago.uc3m.es