Subject: Re: Why pkgsrc "sucks"
To: Todd Vierling <tv@duh.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 08/24/2005 09:07:27
On Wed, 24 Aug 2005, Todd Vierling wrote:
> Yet another example of someone who hasn't dealt with the low-level reality
> of packaging. I've seen pkgsrc, "ports", RPM, dpkg (Debian), and SVR4 at a
> low level, and every single one of them invlaidate most of Pressey's
> arguments.
>
> It's mostly FUD, to be sure.
I read the entire thread. And overall it doesn't say anything bad. They
are moving to use pkgsrc as their official packaging system. :)
I'd like to make quick list of the positive reasons (and negative) for
pkgsrc. This list won't document, but point to URLs that have the details.
Please add your reasons or URLs, reword or reorder:
Positive
--------
* Pkgsrc provides a consistent build environment.
* Pkgsrc maintainers are knowledgable, helpful and friendly.
* Pkgsrc provides a wide-variety of up-to-date software.
* Pkgsrc offers an environment that can be reproduced on various
operating systems. Pkgsrc official supports several operating systems.
* Pkgsrc provides bootstrap mechanism to help support many (including
unknown) operating systems.
* Pkgsrc provides enhanced rc.d scripts for starting, stopping,
reloading, and verifying running services.
* Pkgsrc provides customizable configuration locations (software can
be built to install and use configurations where you want them).
* Pkgsrc cleans up unchanged configurations on package deinstalls.
* Pkgsrc does not overwrite configurations on package installations
(and default configurations also available in examples directory).
* Pkgsrc provides patches (as needed) for software for 64-bit
support and support for many platforms.
* Pkgsrc developers strive to add patches that help with portability
and not quick fixes for specific platforms.
* Pkgsrc developers often submit patches back to upstream developers.
* Pkgsrc's pkgviews feature allows installing same software with
different versions at same time (for improved upgrades).
* Pkgsrc offers a security vulnerability database for reporting known
security issues with installed packages.
* Pkgsrc has a team that keeps track of known security vulnerabilities
in a ticket system (specific for security issues).
* Pkgsrc has a bug tracking system for suggesting new features and
reporting issues. (Pkgsrc has a team responsible for assigning new
problem reports.)
* Pkgsrc provides a public test playground for "works in progress" for
learning packaging and trying and sharing new packages.
* Pkgsrc provides a stable (includes security) collection and a
bleeding-edge collection. (New stable release each quarter with fixes
as necessary.)
* Pkgsrc is a mature project with constant development since 1997.
* Pkgsrc has over 350 maintainers. [Should document how many "active"
pkgsrc developers.]
* Pkgsrc provides support for using binary packages only and a
build-from-source system.
* Pkgsrc provides "options" framework for building customized packages.
* Pkgsrc provides a bulk build frameword for building multiple (or all)
packages.
* Pkgsrc provides several tools for maintaining pkgsrc and updating
packages.
* Pkgsrc provides mailing lists for usage and development discussion.
* Pkgsrc provides "The pkgsrc guide" and other documentation.
* Pkgsrc provides support for building and installing packages
for unprivileged (non-root) users.
Negative
--------
* Builds may be slow due to wrappers for defining a consistent build
environment.
* Software for reliably upgrading binary packages is limited because
no tools to use properly recorded usage of shared libraries (because
of open-ended dependencies).
* Bulk builds of packages using different customizable "options" is
not possible (except when different pkgsrc package is available for
each option).
Jeremy C. Reed
BSD News, BSD tutorials, BSD links
http://www.bsdnewsletter.com/