Updating Packages in pkgsrc
Thomas Klausner < wiz@NetBSD.org >
Use Cases
 - pkg_add gimp
 
 - pkg_update (*)
 
 - Security Update
 
 
pkg_add gimp
- install latest gimp version
 - or, latest gimp that fits - but warn about it
 - problem: name resolution (apache, py-*)
 
 
pkg_update (*)
- bring all installed packages to latest version
 - (except for automatically installed dependencies, as usual)
 
 
Security Update
- pkg_audit returns nothing (as far as possible)
 - all previously (manually) installed packages are still installed,
  in at least the same version
 
 
Source vs. Binary?
- mathematical approach
 - build binary packages from source
 - handle binary package updates
 
 
Requirements for a Consistent Set
 - all dependencies are present
 
 - no conflicts between them
 
 - all REQUIRES fulfilled
 
 - no library conflicts
 
 
Library Conflicts?
 - in dependency tree of one package only one version of a REQUIRES
 library
 
 - Not two different major versions of the same library
   
libfoo.so.1 vs. libfoo.so.2
  - Not two different paths to the same library
   
/usr/lib/libfoo.so.1 vs. /usr/pkg/lib/libfoo.so.1
 
 
Other Requirements
 - update handling should be in base pkg_install tools
 
 - use pkg_summary files for speed