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