Updating Packages in pkgsrc
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