On 28 Jun, Leif Neland wrote:

> The steps needed for upgrading a package (from ports) would be:
> make install
> append foo-1.1/+REQUIRED_BY to foo-1.2/+REQUIRED_BY
> traverse /var/db/pkg/* and remove foo-1.1/replace with foo-1.2
> "subtract" foo-1.2/+CONTENT from foo-1.1/+CONTENT, only removing files
> needed only in foo-1.1
> remove /var/db/pkg/foo-1.1

cd /usr/ports/foo/bar
mv /var/db/pkg/bar-x.y.z/+REQUIRED_BY .
pkg_delete bar-a.b.c
make install
mv +REQUIRED_BY /var/db/pkg/bar-d.e.f
port_update.sh bar a.b.c d.e.f


# Syntax: port_update.sh <progname> <version_old> <version_new>
# yes, I know it's ugly

if [ ! $3  ]; then
  echo "$0 <name> <oldver> <newver>"
  exit 1

for i in `cat /var/db/pkg/${1}-${3}/+REQUIRED_BY`; do
  echo -n "Updating ${i}... "
  perl -npi -e "s:\@pkgdep\ ${1}\-${2}:\@pkgdep\ ${1}\-${3}:g" 
  echo "done"

Lazy disclaimer:
 - works for me
 - I think I know what I'm doing here (and what the limitations are
   (e.g. bar == libxyz && libmajorversion(old) !=


              The best things in life are free, but the
                expensive ones are still worth a look.

http://www.Leidinger.net                  Alexander+Home @ Leidinger.net
  GPG fingerprint = 7423 F3E6 3A7E B334 A9CC  B10A 1F5F 130A A638 6E7E

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to