Packaging system suggestion (pkgsrc.org propaganda)

Joerg Sonnenberger joerg at britannica.bec.de
Fri Jan 9 03:55:10 PST 2004


On Sun, Jan 04, 2004 at 01:31:09AM +0100, Michal Pasternak wrote:
> I have decided to write this e-mail after a short discussion with Eirik on
> irc.freenode.net . I have no idea if this topic was discussed or not, excuse
> me. I have not used DragonflyBSD yet. I am not subscribed to any of your
> e-mail lists, please CC: me. I don't plan to do both, I am already
> overworked and burried in e-mail -- sorry.

It was discussed, but without pkgsrc yet.

> So, making it support DFBSD should be easy -- just because it includes
> quality infrastructure for adding more platforms / operating systems.

Good reason

> 
> Also, that's my personal feeling, but you can easily check it: pkgsrc.org
> Makefiles seem to be much more cleaner, than FreeBSD Ports Makefiles are.
> Pkgsrc doesn't blindly belive, that file called "libfoo.so.0" is the
> required dependency, it checks the packaging system for a specific package,
> it can distinguish between "foo-0" and "foo-0nb1" (revision 1). Pkgsrc
> installations don't write or install anything outside /usr/pkg on non-NetBSD
> systems. The build system *is* clean.

The build system itself is clean, what is missing in my eyes is something
like the FAKE step from the OpenBSD ports. Therefore building a package
should work without the need to modify anything outside the build area.
This is possible with chroot or union mounts, but both require root rights
to use. The VFS environments for DragonFly could provide this too, but
that's still future.

> But, as you claim on http://www.dragonflybsd.org/Goals/packages.cgi , your
> build system has to be better, than FreeBSD Ports. You want to support
> installation of the same package in different versions. You want to make the
> package "see" only the needed libraries, when it builds.
> 
> If I did understand the above page right, than I can make statement, that
> pkgsrc already has those features.

Basically yes. Esp. the buildlink feature is the biggest advantage of pkgsrc
vs. Free-/OpenBSD ports. This is orthonal to read-only VFS environments
since in fact these environments could be used to implement buildlinks.
The pkgviews stuff is great, too, though VFS environments would save us all
the symlinks.

[snip]
> Pkgsrc has many more interesting features. Not to mention userbase and
> support, we have quite large work-in-progress repository
> http://pkgsrc-wip.sf.net , which anyone can join and contribute to (I am one
> of pkgsrc-wip developers). This speeds up the development process. Pkgsrc
> can use different compilers (on SunOS it can use SunPro compiler; it can of
> course use different GCC versions). The system is highly customizeable.
> XFree86 4.3.0 packages from pkgsrc-wip repository already can be built on
> Linux, NetBSD and FreeBSD (and propably some more operating systems).

ACK.

> Pkgsrc already contains thousands of packages, just waiting to be ported to
> DragonflyBSD. If it is good for many other platforms and operating systems,
> why should it be bad for DragonflyBSD?

The question is not wether it is bad, but wether it is good enough.
IMO there are three features from the OpenBSD ports which are highly
useful:
- the fake installation I mentioned already
- the flavors to reduce the number of packages and allows correct
  handling of updates etc. of customized packages
- the subpackages and pseudo-packages which are esp. useful to handle
  large software packages like XFree86 and dynamically loadable plug-ins.

IMO with this features pkgsrc would be very good foundation.

Joerg

[snip]

> Regards,
> -- 
> Michal Pasternak :: http://pasternak.w.lub.pl :: http://winsrc.sf.net
> :: free, legal mp3 :: darmowe, legalne mp3 :: http://magnatune.com ::
> 





More information about the Submit mailing list