ports/99647: portupgrade -R portupgrade-2.1.1,2 breaks pkgdb
S Roberts
stacey at vickiandstacey.com
Fri Jun 30 15:40:24 UTC 2006
>Number: 99647
>Category: ports
>Synopsis: portupgrade -R portupgrade-2.1.1,2 breaks pkgdb
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jun 30 15:40:19 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: S Roberts
>Release: FreeBSD 6.1-STABLE i386
>Organization:
>Environment:
System: FreeBSD chimera.vickiandstacey.com 6.1-STABLE FreeBSD 6.1-STABLE #0: Sun May 28 11:47:03 BST 2006 sroberts at chimera.vickiandstacey.com:/usr/obj/usr/src/sys/STEEL i386
>Description:
After fresh cvsup of ports tree today, attempts to portupgrade portupgrade to latest in ports
results in broken pkgdb. Here is the output from the portupgrade process:
# portupgrade -R portupgrade-2.1.1,2
---> Upgrading 'portupgrade-2.1.1,2' to 'portupgrade-2.1.3.1,2' (sysutils/portupgrade)
---> Building '/usr/ports/sysutils/portupgrade'
===> Cleaning for ruby-1.8.4_8,1
===> Cleaning for ruby18-bdb-0.5.9
===> Cleaning for perl-5.8.8
===> Cleaning for db41-4.1.25_3
===> Cleaning for portupgrade-2.1.3.1,2
===> Vulnerability check disabled, database not found
===> Found saved configuration for portupgrade-2.0.1_2,1
=> pkgtools-2.1.3.1.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/sem/.
pkgtools-2.1.3.1.tar.bz2 100% of 107 kB 88 kBps
===> Extracting for portupgrade-2.1.3.1,2
=> MD5 Checksum OK for pkgtools-2.1.3.1.tar.bz2.
=> SHA256 Checksum OK for pkgtools-2.1.3.1.tar.bz2.
===> portupgrade-2.1.3.1,2 depends on file: /usr/local/bin/ruby18 - found
===> Patching for portupgrade-2.1.3.1,2
===> portupgrade-2.1.3.1,2 depends on file: /usr/local/bin/ruby18 - found
===> portupgrade-2.1.3.1,2 depends on file: /usr/local/bin/ruby18 - found
===> Configuring for portupgrade-2.1.3.1,2
===> Building for portupgrade-2.1.3.1,2
===> bin (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/bin
/usr/local/bin/ruby18 -wc pkg_fetch
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' pkg_fetch
> .build/pkg_fetch
/usr/local/bin/ruby18 -wc pkg_glob
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' pkg_glob >
.build/pkg_glob
/usr/local/bin/ruby18 -wc pkg_sort
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' pkg_sort >
.build/pkg_sort
/usr/local/bin/ruby18 -wc pkgdb
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' pkgdb >
.build/pkgdb
/usr/local/bin/ruby18 -wc portcvsweb
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' portcvsweb
> .build/portcvsweb
/usr/local/bin/ruby18 -wc portsclean
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' portsclean
> .build/portsclean
/usr/local/bin/ruby18 -wc portsdb
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end' portsdb >
.build/portsdb
/usr/local/bin/ruby18 -wc portupgrade
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end'
portupgrade > .build/portupgrade
/usr/local/bin/ruby18 -wc portversion
Syntax OK
/usr/local/bin/ruby18 -pe ' if $. == 1; if /^#!/; sub /^#!\s*\S*(\benv\s+)?\bruby/,
"#!/usr/local/bin/ruby18"; else; $_ = "#!/usr/local/bin/ruby18\n" + $_; end; end'
portversion > .build/portversion
gzip -cn pkg_deinstall.1 > pkg_deinstall.1.gz
gzip -cn pkg_fetch.1 > pkg_fetch.1.gz
gzip -cn pkg_glob.1 > pkg_glob.1.gz
gzip -cn pkg_sort.1 > pkg_sort.1.gz
gzip -cn pkgdb.1 > pkgdb.1.gz
gzip -cn portcvsweb.1 > portcvsweb.1.gz
gzip -cn portsclean.1 > portsclean.1.gz
gzip -cn portsdb.1 > portsdb.1.gz
gzip -cn portupgrade.1 > portupgrade.1.gz
gzip -cn portversion.1 > portversion.1.gz
===> etc (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/etc
/usr/local/bin/ruby18 -p -e 'sub(%r:/usr/local:, "/usr/local")' -e 'sub(%r:(/etc/rc\.subr):,
"/usr/local\\1") if !File.exist?("/etc/rc.subr")' status-pkg.sh > .build/status-pkg.sh
gzip -cn pkgtools.conf.5 > pkgtools.conf.5.gz
===> lib (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/lib
/usr/local/bin/ruby18 -wc pkg.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkg.rb > .build/pkg.rb
/usr/local/bin/ruby18 -wc pkgdb.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkgdb.rb > .build/pkgdb.rb
/usr/local/bin/ruby18 -wc pkginfo.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkginfo.rb > .build/pkginfo.rb
/usr/local/bin/ruby18 -wc pkgmisc.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkgmisc.rb > .build/pkgmisc.rb
/usr/local/bin/ruby18 -wc pkgtools.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkgtools.rb > .build/pkgtools.rb
/usr/local/bin/ruby18 -wc pkgtsort.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkgtsort.rb > .build/pkgtsort.rb
/usr/local/bin/ruby18 -wc pkgversion.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' pkgversion.rb >
.build/pkgversion.rb
/usr/local/bin/ruby18 -wc portinfo.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' portinfo.rb > .build/portinfo.rb
/usr/local/bin/ruby18 -wc ports.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' ports.rb > .build/ports.rb
/usr/local/bin/ruby18 -wc portsdb.rb
Syntax OK
/usr/local/bin/ruby18 -p -e 'sub %r:/usr/local:, "/usr/local"' portsdb.rb > .build/portsdb.rb
===> misc (all)
===> misc/bash (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/misc/bash
===> misc/tcsh (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/misc/tcsh
===> misc/zsh (all)
Warning: Object directory not changed from original
/usr/ports/sysutils/portupgrade/work/pkgtools-2.1.3.1/misc/zsh
---> Backing up the old version
---> Uninstalling the old version
---> Deinstalling 'portupgrade-2.1.1,2'
[Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 366 packages found (-1 +0) (...)
done]
---> Installing the new version via the port
===> Installing for portupgrade-2.1.3.1,2
===> portupgrade-2.1.3.1,2 depends on file: /usr/local/bin/ruby18 - found
===> portupgrade-2.1.3.1,2 depends on file:
/usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6/bdb.so - found
===> portupgrade-2.1.3.1,2 depends on file: /usr/local/bin/perl5.8.8 - found
===> Generating temporary packing list
===> Checking if sysutils/portupgrade already installed
===> bin (install)
install -o root -g wheel -m 555 .build/pkg_fetch /usr/local/sbin/pkg_fetch
install -o root -g wheel -m 555 .build/pkg_glob /usr/local/sbin/pkg_glob
install -o root -g wheel -m 555 .build/pkg_sort /usr/local/sbin/pkg_sort
install -o root -g wheel -m 555 .build/pkgdb /usr/local/sbin/pkgdb
install -o root -g wheel -m 555 .build/portcvsweb /usr/local/sbin/portcvsweb
install -o root -g wheel -m 555 .build/portsclean /usr/local/sbin/portsclean
install -o root -g wheel -m 555 .build/portsdb /usr/local/sbin/portsdb
install -o root -g wheel -m 555 .build/portupgrade /usr/local/sbin/portupgrade
install -o root -g wheel -m 555 .build/portversion /usr/local/sbin/portversion
install -o root -g wheel -m 444 pkg_deinstall.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 pkg_fetch.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 pkg_glob.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 pkg_sort.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 pkgdb.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 portcvsweb.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 portsclean.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 portsdb.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 portupgrade.1.gz /usr/local/man/man1
install -o root -g wheel -m 444 portversion.1.gz /usr/local/man/man1
/usr/local/man/man1/pkg_which.1.gz -> /usr/local/man/man1/pkgdb.1.gz
/usr/local/man/man1/portinstall.1.gz -> /usr/local/man/man1/portupgrade.1.gz
/usr/local/man/man1/ports_glob.1.gz -> /usr/local/man/man1/portsdb.1.gz
/usr/local/sbin/pkg_deinstall -> /usr/local/sbin/pkg_glob
/usr/local/sbin/pkg_which -> /usr/local/sbin/pkgdb
/usr/local/sbin/portinstall -> /usr/local/sbin/portupgrade
/usr/local/sbin/ports_glob -> /usr/local/sbin/portsdb
===> etc (install)
install -o root -g wheel -m 555 .build/status-pkg.sh /usr/local/etc/pkgtools.status-pkg.sh
install -o root -g wheel -m 444 pkgtools.conf /usr/local/etc/pkgtools.conf.sample
install -o root -g wheel -m 444 pkgtools.conf.5.gz /usr/local/man/man5
===> lib (install)
install -o root -g wheel -m 444 .build/pkg.rb .build/pkgdb.rb .build/pkginfo.rb
.build/pkgmisc.rb .build/pkgtools.rb .build/pkgtsort.rb .build/pkgversion.rb .build/portinfo.rb
.build/ports.rb .build/portsdb.rb `/usr/local/bin/ruby18 -rrbconfig -e 'puts "%s/%s.%s" %
%w[sitedir MAJOR MINOR].map { |k| Config::CONFIG[k] }'`
===> misc (install)
===> misc/bash (install)
mkdir -p /usr/local/share/examples/pkgtools/bash
install -o root -g wheel -m 444 complete.sample /usr/local/share/examples/pkgtools/bash
===> misc/tcsh (install)
mkdir -p /usr/local/share/examples/pkgtools/tcsh
install -o root -g wheel -m 444 complete.sample /usr/local/share/examples/pkgtools/tcsh
===> misc/zsh (install)
mkdir -p /usr/local/share/zsh/site-functions
install -o root -g wheel -m 444 _pkgtools /usr/local/share/zsh/site-functions
mkdir -p /usr/local/share/doc/pkgtools
install -c -o root -g wheel -m 444 ChangeLog NEWS README /usr/local/share/doc/pkgtools
===> Running ldconfig
/sbin/ldconfig -m /usr/local/lib/compat/pkg
===> Installing ldconfig configuration file
===> Running ldconfig
/sbin/ldconfig -m /usr/local/lib/compat/pkg
if [ ! -f /usr/local/etc/pkgtools.conf ]; then /bin/cp -p /usr/local/etc/pkgtools.conf.sample
/usr/local/etc/pkgtools.conf; fi
===> Registering installation for portupgrade-2.1.3.1,2
===> Cleaning for ruby-1.8.4_8,1
===> Cleaning for ruby18-bdb-0.5.9
===> Cleaning for perl-5.8.8
===> Cleaning for db41-4.1.25_3
===> Cleaning for portupgrade-2.1.3.1,2
---> Cleaning out obsolete shared libraries
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... /var/db/pkg/pkgdb.db: unexpected file
type or format -- Invalid argument; rebuild needed] [Rebuilding the pkgdb <format:bdb_btree> in
/var/db/pkg ... /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:647:in `which': /var/db/pkg/pkgdb.db:
unexpected file type or format -- Invalid argument: Cannot update the pkgdb!]: Cannot update the
pkgdb!] (PkgDB::DBError) from /usr/local/sbin/portsclean:322:in `libclean'
from /usr/local/sbin/portsclean:306:in `libclean'
from /usr/local/sbin/portsclean:153:in `main'
from /usr/local/lib/ruby/1.8/optparse.rb:815:in `initialize'
from /usr/local/sbin/portsclean:67:in `main'
from /usr/local/sbin/portsclean:684
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ...
/var/db/pkg/pkgdb.db: unexpected file type or format --
Invalid argument; rebuild needed] [Rebuilding the pkgdb
<format:bdb_btree> in /var/db/pkg ...
/var/db/pkg/pkgdb.db: unexpected file type or format --
Invalid argument: Cannot update the pkgdb!]: Cannot
update the pkgdb!]
/usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:444:in
`__system': Command failed [exit code 1]:
/usr/local/sbin/pkgdb -aFQ (CommandFailedError)
from
/usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:467:in
`__sudo'
from
/usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:473:in
`xsystem!'
from
/usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:960:in
`autofix!'
from
/usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:956:in
`autofix'
from
/usr/local/sbin/portupgrade:475:in
`main'
from
/usr/local/sbin/portupgrade:714:in
`main'
from
/usr/local/lib/ruby/1.8/optparse.rb:815:in
`initialize'
from
/usr/local/sbin/portupgrade:209:in
`main'
from
/usr/local/sbin/portupgrade:1951
chimera#
I attempted to run pkgdb -fu to see if this might be of any assistandce:
chimera# pkgdb -fu
---> Updating the pkgdb
[Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... /var/db/pkg/pkgdb.db: unexpected file
type or format -- Invalid argument: Cannot update the pkgdb!]
chimera#
>How-To-Repeat:
Cvsup ports tree to today's latest
Portupgrade portupgrade
>Fix:
Don't know.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list