pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkgsrc in real life


After testing and becoming acquainted with pkgsrc under Solaris during
the last months, I would like to start using it "for real", in a
multi-machine/multi-user environment. I'd like to know, what best
practices others have developed for such a scenario.

- How do you separate build and install phase? A "make update" that
deletes in-use binaries and then compiles for some hours is a no-go.

- How do you preserve certain versions of packages, that your users rely on?

- How do you keep up with new releases and fixes, without sticking to
the quarterly stable releases?

My idea at the moment is to keep track of the CVS, and from time to
time "freeze" the installation, to have stable versions of complete
pkgsrc trees. The most recent frozen tree is declared "current":

/usr/pkg-current -> pkg-20090315
/usr/pkg-head -> pkg-20090404

Users would have "/usr/pkg-current/bin" in their PATHs, and would
automatically get the latest stable version of pkgsrc, when the
symlink is switched to the next release. If necessary, they could go
back to an older version, or they could test the most recent ("head")
version to anticipate any problems before they end up in the stable
tree. This would hopefully allow a smoother transition (for me and the
users) than switching from one quarterly release to the next in one
big step.

The source tree would follow CVS, but whenever a release is frozen, a
copy of the current version is made (for reference, and security

The downside is, that for every new release, a complete bootstrap and
install is necessary, as you need the versioned paths inside the
packages (e.g. runpaths for shared libraries).

Does this make sense? Are there any better and/or easier schemes? I'm
sure I will end up with dozens of old, undeletable trees, because at
least one user would claim that only with this version his software
will work.

BTW: I know about pkgviews. But from the 85 packages I need to install
(resulting in more than 300 depending packages), only 27 seem to
support this feature.

Thanks for any reply,

Joern Clausen

Home | Main Index | Thread Index | Old Index