Subject: pkg vs. rpm
To: None <tech-pkg@netbsd.org>
From: Hubert Feyrer <feyrer@rfhs8012.fh-regensburg.de>
List: tech-pkg
Date: 12/29/1998 16:51:58
Over my holidays, I found time to read the RPM book (Edward C. Bailey:
Maximum RPM; ISBN 0-672-31105-4; also available as PostScript somewhere
Online). Here's a quick comparison of the things where it is better ("+")
or worse ("-") than NetBSD, plus other comments ("*").

 - Weak build system: only a few macros for extracting & patching sources
 + strong file handling via binary pkgs
 + config file handling (does backups)
 + better integration of MD5 checking
 + general emphasize on binary packages (yes, I count this as an
   advantage!), building remains as an alternative.
 + list of files belonging to a package aren't stored on a per-package
   base, but rather are stored in one place, allowing mapping of a single
   file back to it's package (so you can find out which package a file
   belongs to)
 + ability to include (and remove :-) whole directories in pkgs' PLIST
   (-equivalents)
 + Absolute paths in file lists, relocated if necessary -> allows for
   packages to span more than one base-dir
 + Subpackages: generate several (binary!) packages from one (1) build,
   e.g. get a pico and a pine package at the same time
 + library + API for accessing information stored in RPM DB
 * Package upgrading (by first removing old package, then installind new
   one; possible due to weak dependencies support)
 - dependencies handling is weak due to require/provide mechanism, no
   build-in, automatic installation of depending packages. 
 + Flexible querying: documentation for a package, config files of a
   package, packages can be named by name or by handing one of it's files; 
   query language (ok, this might be some sort of overkill... :-)
 + Verifying of packages (owner, permissions, file contents via MD5, ...)
 - The existence of SRPMS (source packages including unmodified sources
   plus patches plus build descrption) contradicts (IMHO) the "pristine
   source" concept. 
 + Cleaning of the building dir before/after building (we sometimes run
   into this...)
 * Some support for non-/-based building and non-root-building is
   available, but of questionable use for general packages
 * Some multi-architecture support is available to conditionalize file
   lists, build instructions, ...
 - Copyright.

In short, RPM's handling of binary files is very good, while it's building
system is very week, compared to the NetBSD one. We should implement some
of the concepts for handling binary pkgs. 


 - Hubert

-- 
Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>