summaryrefslogtreecommitdiff
path: root/pkgtools/revbump
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2005-01-05 00:31:38 +0000
committerwiz <wiz@pkgsrc.org>2005-01-05 00:31:38 +0000
commit5e4042e56510ab48bfd7b398ddde223ea69aa492 (patch)
treea36b10d4164e1ffccc97f044584b6de5b6679525 /pkgtools/revbump
parenteadcf718bd3fd64b5524aa2d6e9273982dcc230a (diff)
downloadpkgsrc-5e4042e56510ab48bfd7b398ddde223ea69aa492.tar.gz
Initial import of revbump-0.1:
Tools for bumping PKGREVISIONs and adapting BUILDLINK_RECOMMENDED versions to the latest version automatically. This tool is mostly intended for pkgsrc developers with commit access. Originally written by Julio M. Merino Vidal with some improvements by me. Comments for the package from Jeremy C. Reed -- thanks!
Diffstat (limited to 'pkgtools/revbump')
-rw-r--r--pkgtools/revbump/DESCR5
-rw-r--r--pkgtools/revbump/Makefile34
-rw-r--r--pkgtools/revbump/PLIST3
-rw-r--r--pkgtools/revbump/files/blbump146
-rw-r--r--pkgtools/revbump/files/blbump.165
-rw-r--r--pkgtools/revbump/files/revbump165
-rw-r--r--pkgtools/revbump/files/revbump.1100
7 files changed, 518 insertions, 0 deletions
diff --git a/pkgtools/revbump/DESCR b/pkgtools/revbump/DESCR
new file mode 100644
index 00000000000..1956cd74113
--- /dev/null
+++ b/pkgtools/revbump/DESCR
@@ -0,0 +1,5 @@
+Tools for bumping PKGREVISIONs and adapting BUILDLINK_RECOMMENDED
+versions to the latest version automatically.
+
+This tool is mostly intended for pkgsrc developers with commit
+access.
diff --git a/pkgtools/revbump/Makefile b/pkgtools/revbump/Makefile
new file mode 100644
index 00000000000..f98dfea1ea4
--- /dev/null
+++ b/pkgtools/revbump/Makefile
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1.1.1 2005/01/05 00:31:38 wiz Exp $
+#
+
+DISTNAME= revbump-1.0
+CATEGORIES= pkgtools
+MASTER_SITES= # empty
+DISTFILES= # empty
+
+MAINTAINER= wiz@NetBSD.org
+HOMEPAGE= http://www.pkgsrc.org/
+COMMENT= Tools for bumping PKGREVISIONs (for pkgsrc developers)
+
+PKG_INSTALLATION_TYPES= overwrite pkgviews
+
+WRKSRC= ${WRKDIR}
+NO_BUILDLINK= yes
+NO_CHECKSUM= yes
+NO_CONFIGURE= yes
+USE_PERL5= run
+USE_LANGUAGES= # empty
+
+INSTALLATION_DIRS= bin man/man8
+
+do-build:
+ ${SED} -e "s!@PERL@!${PERL5}!g" ${FILESDIR}/revbump \
+ > ${WRKDIR}/revbump
+ ${SED} -e "s!@PERL@!${PERL5}!g" ${FILESDIR}/blbump \
+ > ${WRKDIR}/blbump
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/blbump ${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKDIR}/revbump ${PREFIX}/bin
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/pkgtools/revbump/PLIST b/pkgtools/revbump/PLIST
new file mode 100644
index 00000000000..326392a80fe
--- /dev/null
+++ b/pkgtools/revbump/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2005/01/05 00:31:38 wiz Exp $
+bin/blbump
+bin/revbump
diff --git a/pkgtools/revbump/files/blbump b/pkgtools/revbump/files/blbump
new file mode 100644
index 00000000000..cb6249c0286
--- /dev/null
+++ b/pkgtools/revbump/files/blbump
@@ -0,0 +1,146 @@
+#!@PERL@ -w
+#
+# $NetBSD: blbump,v 1.1.1.1 2005/01/05 00:31:39 wiz Exp $
+#
+# Copyright (c) 2003, 2004 The NetBSD Foundation, Inc.
+#
+# This code was originally contributed to the NetBSD Foundation, Inc.
+# by Julio Merino <jmmv@NetBSD.org> and Thomas Klausner <wiz@NetBSD.org>.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name of author nor the names of its contributors may
+# be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
+# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+$PKGSRCDIR = $ENV{PKGSRCDIR};
+if (! $PKGSRCDIR) {
+ $PKGSRCDIR = "/usr/pkgsrc";
+}
+
+sub usage {
+ print STDERR "usage: blbump [-p pkgsrcdir] [cat1/pkg1 ... catN/pkgN]\n\n";
+ print STDERR "If no packages are given as arguments, the list is read from stdin.\n";
+ print STDERR "Packages whose buildlink files cannot be updated automatically\n";
+ print STDERR "are written to stdout.\n";
+ exit 0;
+}
+
+sub blbump {
+ my $pkgdir = shift;
+ my ($oldpkgver, $pkgver, $done, $rev, $oldbl, $newbl, $backupbl);
+ local (*MAKE);
+
+ open(MAKE, '-|', "cd $PKGSRCDIR/$pkgdir ; make show-var VARNAME=PKGNAME");
+ $pkgver = <MAKE>;
+ close(MAKE);
+ chop $pkgver;
+ $pkgver =~ s/-([^-]*)$/>=$1/;
+
+ if (-f "$PKGSRCDIR/$pkgdir/buildlink3.mk") {
+ $ret = bumpbl("$PKGSRCDIR/$pkgdir/buildlink3.mk", $pkgver);
+ if ($ret == 0) {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+sub bumpbl {
+ $oldbl = shift;
+ $pkgver = shift;
+ my ($done, $rev, $newbl, $backupbl);
+ local (*OLDBL);
+
+ open(OLDBL, $oldbl) or return 0;
+ $newbl = "$oldbl.new";
+ open(NEWBL, ">$newbl");
+
+ $done = 0;
+ while (<OLDBL>) {
+ if ($done == 0 && /^(BUILDLINK_RECOMMENDED.+=[ \t]+)(.+)$/) {
+ print NEWBL "$1$pkgver\n";
+ $done = 1;
+ } elsif ($done == 0 && /^BUILDLINK_PKGSRCDIR(.*=[ \t]+)/) {
+ print NEWBL "BUILDLINK_RECOMMENDED${1}$pkgver\n";
+ print NEWBL $_;
+ $done = 1;
+ } else {
+ print NEWBL $_;
+ }
+ }
+
+ # no suitable place found
+ if ($done == 0) {
+ close(NEWBL);
+ close(OLDBL);
+ unlink "$newbl";
+ return 0;
+ }
+
+ close(NEWBL);
+ close(OLDBL);
+ rename("$newbl", "$oldbl");
+
+ return 1;
+}
+
+@PACKAGES = ();
+
+while (@ARGV) {
+ $arg = shift;
+ if ($arg eq '-h') {
+ usage();
+ } elsif ($arg eq '-p') {
+ $PKGSRCDIR = shift;
+ } else {
+ push @PACKAGES, $arg;
+ }
+}
+
+if (! -d $PKGSRCDIR || ! -d "$PKGSRCDIR/doc" || ! -d "$PKGSRCDIR/mk") {
+ print STDERR "Invalid pkgsrc directory $PKGSRCDIR\n";
+ exit 1;
+}
+
+if (! @PACKAGES) {
+ while (<STDIN>) {
+ chop;
+ push @PACKAGES, $_;
+ }
+}
+
+@valid = ();
+foreach $pkg (@PACKAGES) {
+ if (! -f "$PKGSRCDIR/$pkg/Makefile") {
+ print "$pkg\n";
+ } else {
+ print "$pkg\n" if blbump("$pkg") == 0;
+ $pkg =~ /\/(.*)$/;
+ push @valid, $1;
+ }
+}
+
+exit 0;
diff --git a/pkgtools/revbump/files/blbump.1 b/pkgtools/revbump/files/blbump.1
new file mode 100644
index 00000000000..7186f5a1b22
--- /dev/null
+++ b/pkgtools/revbump/files/blbump.1
@@ -0,0 +1,65 @@
+.\" $NetBSD: blbump.1,v 1.1.1.1 2005/01/05 00:31:39 wiz Exp $
+.\"
+.\" Copyright (c) 2003, 2004, 2005 The NetBSD Foundation, Inc.
+.\"
+.\" This code was originally contributed to the NetBSD Foundation, Inc.
+.\" by Julio Merino <jmmv@NetBSD.org> and Thomas Klausner <wiz@NetBSD.org>.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in
+.\" the documentation and/or other materials provided with the
+.\" distribution.
+.\" 3. Neither the name of author nor the names of its contributors may
+.\" be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
+.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
+.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd January 4, 2005
+.Dt BLBUMP 1
+.Os
+.Sh NAME
+.Nm blbump
+.Nd tool to help bumping dependencies in buildlink3 files automatically
+.Sh SYNOPSIS
+.Nm
+.Op Fl p Ar pkgsrcdir
+.Op cat1/pkg1 ... catN/pkgN
+.Sh DESCRIPTION
+.Nm
+is a perl script for pkgsrc developers that simplifies bumping
+buildlink3 file dependencies automatically.
+Given a package (in
+.Ar category/package
+format) on the command line or stdin, it will try to adjust the
+.Dv BUILDLINK_RECOMMENDED
+line for that package to the current version automatically.
+If
+.Fl p
+is given,
+.Ar pkgsrcdir
+is used instead of the default
+.Pa /usr/pkgsrc .
+.Nm
+reports successful updates on stdout, and prints the package name
+(in
+.Ar category/package
+form) on stdout for each package where it failed.
+.Sh SEE ALSO
+.Xr revbump 1
diff --git a/pkgtools/revbump/files/revbump b/pkgtools/revbump/files/revbump
new file mode 100644
index 00000000000..81c2ba26bc3
--- /dev/null
+++ b/pkgtools/revbump/files/revbump
@@ -0,0 +1,165 @@
+#!@PERL@ -w
+#
+# $NetBSD: revbump,v 1.1.1.1 2005/01/05 00:31:38 wiz Exp $
+#
+# Copyright (c) 2003, 2004 The NetBSD Foundation, Inc.
+#
+# This code was originally contributed to the NetBSD Foundation, Inc.
+# by Julio Merino <jmmv@NetBSD.org> and Thomas Klausner <wiz@NetBSD.org>.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name of author nor the names of its contributors may
+# be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
+# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+$PKGSRCDIR = $ENV{PKGSRCDIR};
+if (! $PKGSRCDIR) {
+ $PKGSRCDIR = "/usr/pkgsrc";
+}
+
+sub usage {
+ print STDERR "usage: revbump [-p pkgsrcdir] [cat1/pkg1 ... catN/pkgN]\n\n";
+ print STDERR "If no packages are given as arguments, the list is read from stdin.\n";
+ print STDERR "Packages for which revision cannot be bumped are written to stdout.\n";
+ exit 0;
+}
+
+sub revbump {
+ my $pkgdir = shift;
+ my ($pkg, $oldpkgver, $pkgver, $done, $rev, $oldmk, $newmk, $backupmk);
+ local (*OLDMK, *MAKE);
+
+ $pkgdir =~ /\/(.*)$/;
+ $pkg = $1;
+
+ $oldmk = "$PKGSRCDIR/$pkgdir/Makefile";
+
+ open(MAKE, '-|', "cd $PKGSRCDIR/$pkgdir ; make show-var VARNAME=PKGVERSION");
+ $oldpkgver = <MAKE>;
+ close(MAKE);
+ chop $oldpkgver;
+
+ open(OLDMK, $oldmk);
+ $newmk = "$oldmk.new";
+ open(NEWMK, ">$newmk");
+
+ $done = 0;
+ while (<OLDMK>) {
+ if ($done == 0 && /^PKGREVISION=([ \t]+)([0-9]+)$/) {
+ $done = $2 + 1;
+ print NEWMK "PKGREVISION=${1}${done}\n";
+ } elsif ($done == 0 && /^SVR4_PKGNAME=([ \t]+)/) {
+ print NEWMK "PKGREVISION=${1}1\n";
+ print NEWMK $_;
+ $done = 1;
+ } elsif ($done == 0 && /^CATEGORIES=([ \t]+)/) {
+ print NEWMK "PKGREVISION=${1}1\n";
+ print NEWMK $_;
+ $done = 1;
+ } else {
+ print NEWMK $_;
+ }
+ }
+
+ # no suitable place found
+ if ($done == 0) {
+ close(NEWMK);
+ close(OLDMK);
+ unlink "$newmk";
+ return 0;
+ }
+
+ close(NEWMK);
+ close(OLDMK);
+ $backupmk = "$oldmk.orig";
+ rename("$oldmk", "$backupmk");
+ rename("$newmk", "$oldmk");
+
+ open(MAKE, '-|', "cd $PKGSRCDIR/$pkgdir ; make show-var VARNAME=PKGVERSION");
+ $pkgver = <MAKE>;
+ close(MAKE);
+ chop $pkgver;
+
+ # compare previous PKGVERSION and current PKGVERSION to see if update
+ # was successful
+ print("Updated $pkgdir from $oldpkgver to $pkgver\n");
+ if ($oldpkgver =~ /.*nb([0-9]+)$/) {
+ $oldpkgver = $1;
+ } else {
+ $oldpkgver = 0;
+ }
+ if ($pkgver =~ /.*nb([0-9]+)$/) {
+ $pkgver = $1;
+ } else {
+ $pkgver = 0;
+ }
+ if ($oldpkgver + 1 != $pkgver) {
+ # unsuccessful, revert change
+ rename("$backupmk", "$oldmk");
+ return 0;
+ }
+
+ unlink "$backupmk";
+
+ return 1;
+}
+
+@PACKAGES = ();
+
+while (@ARGV) {
+ $arg = shift;
+ if ($arg eq '-h') {
+ usage();
+ } elsif ($arg eq '-p') {
+ $PKGSRCDIR = shift;
+ } else {
+ push @PACKAGES, $arg;
+ }
+}
+
+if (! -d $PKGSRCDIR || ! -d "$PKGSRCDIR/doc" || ! -d "$PKGSRCDIR/mk") {
+ print STDERR "Invalid pkgsrc directory $PKGSRCDIR\n";
+ exit 1;
+}
+
+if (! @PACKAGES) {
+ while (<STDIN>) {
+ chop;
+ push @PACKAGES, $_;
+ }
+}
+
+@valid = ();
+foreach $pkg (@PACKAGES) {
+ if (! -f "$PKGSRCDIR/$pkg/Makefile") {
+ print "$pkg\n";
+ } else {
+ print "$pkg\n" if revbump("$pkg") == 0;
+ $pkg =~ /\/(.*)$/;
+ push @valid, $1;
+ }
+}
+
+exit 0;
diff --git a/pkgtools/revbump/files/revbump.1 b/pkgtools/revbump/files/revbump.1
new file mode 100644
index 00000000000..1af07c981c0
--- /dev/null
+++ b/pkgtools/revbump/files/revbump.1
@@ -0,0 +1,100 @@
+.\" $NetBSD: revbump.1,v 1.1.1.1 2005/01/05 00:31:38 wiz Exp $
+.\"
+.\" Copyright (c) 2003, 2004, 2005 The NetBSD Foundation, Inc.
+.\"
+.\" This code was originally contributed to the NetBSD Foundation, Inc.
+.\" by Julio Merino <jmmv@NetBSD.org> and Thomas Klausner <wiz@NetBSD.org>.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in
+.\" the documentation and/or other materials provided with the
+.\" distribution.
+.\" 3. Neither the name of author nor the names of its contributors may
+.\" be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
+.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
+.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd January 4, 2005
+.Dt REVBUMP 1
+.Os
+.Sh NAME
+.Nm revbump
+.Nd tool to help bump PKGREVISIONs automatically
+.Sh SYNOPSIS
+.Nm
+.Op Fl p Ar pkgsrcdir
+.Op cat1/pkg1 ... catN/pkgN
+.Sh DESCRIPTION
+.Nm
+is a perl script for pkgsrc developers that simplifies bumping
+PKGREVISIONs automatically.
+Given a package (in
+.Ar category/package
+format) on the command line or stdin, it will try to increase
+the PKGREVISION for that package automatically.
+If
+.Fl p
+is given,
+.Ar pkgsrcdir
+is used instead of the default
+.Pa /usr/pkgsrc .
+.Nm
+reports successful updates on stdout, and prints the package name
+(in
+.Ar category/package
+form) on stdout for each package where it failed.
+.Sh EXAMPLES
+.Dl revbump devel/gmake x11/glib2
+.Pp
+would bump the PKGREVISIONs of gmake and glib2, as would
+.Bd -literal -offset indent
+revbump << EOF
+devel/gmake
+x11/glib2
+EOF
+.Ed
+.Pp
+The complete procedure for a recursive dependency bump for
+the openssl package using
+.Nm
+and
+.Xr blbump 1
+would be:
+.Bd -literal -offset indent
+cd /usr/pkgsrc
+cvs update
+make index
+make show-deps PKG=openssl > deps
+revbump < deps > deps.manual
+[handle the PKGREVISION bumps in deps.manual manually]
+blbump < deps > deps.manual
+[handle the *RECOMMENDED* bumps in deps.manual manually]
+cvs diff
+[look for PYPKGPREFIX -> py22 or py23pth expansions
+ in buildlink files and any unrelated diffs you have in your
+ local tree, and fix them]
+lintpkgsrc -d > deps.manual
+[fix broken dependencies noted by this (usually meta-pkg/kde3,
+ subversion, nessus)]
+cvs diff
+cvs commit
+.Ed
+.Sh SEE ALSO
+.Xr blbump 1