Subject: Re: Why pkgsrc "sucks"
To: Jeremy C. Reed <reed@reedmedia.net>
From: pancake <pancake@phreaker.net>
List: tech-pkg
Date: 08/24/2005 23:51:54
>   * Software for reliably upgrading binary packages is limited because
>     no tools to use properly recorded usage of shared libraries (because
>     of open-ended dependencies).

this is slightly fixed by wip/apstget, using the "relink" command

pancake@pl2:~$ apstget 
Usage: /usr/pkg/bin/apstget [action] [pkgtargets...]

Actions:
  install      - install/update selected packages.
  upgrade      - update the selected packages and solves dependencies.
  dist-upgrade - update the entire system.
  remove       - remove the selected packages.
  update       - update the pkgsrc/-wip tree.
  relink       - try to solve all broken libs.
  clean        - clean all build directories.
  autoclean    - remove all outdated distfiles.
  orphan       - list orphaned packages.
  show         - show DESCR of target package.
  check        - Checks MD5s of pkg files.

Variables (environ|/usr/pkg/etc/apstget.conf):
  CLEAN_BUILD=1, INTERACTIVE=1, QUITE=0, IGNORE_ERRORS=0
  UPDATE_METHOD=cvs, UPDATE_ARGS, GET_FIRST=0, PREFERED
  BUILD_PACKAGES=0, SKIP_LICENSES=0

VERSION=20050301
pancake@pl2:~$ 

it works fine for me, all updates I do are using ${MAKE} replace, and relinking inverse dependencies of the library against the binaries and libraries that require the symbols.

Obviously, this is just a little hack, because, some updates requires an entire rebuild of dependencies (new symbols, etc)