"Pouya D. Tafti" <pouya%san-serriffe.org@localhost> writes:
> Invoking
>
> pkg_rolling-replace -suv
>
> inside a pkg_comp chroot on my machine enters an infinite loop at
> multimedia/farsight2. This is the first time I am using pkg_rr. Any
> suggestions how I should move forward?
Basically, kill it and look at the log and figure out whether it is
rebuilding something successfully again and again, or failing at
something. Ian Leroux has a pending patch (below) to at least stop
instead of looping when py25-foo is installed but python version default
is set to 26. Alan Barret has posted a patch that addresses the
underlying problem:
http://mail-index.netbsd.org/pkgsrc-users/2010/08/29/msg012674.html
I havne't had time to test these patches (and don't want to commit them
during the freeze anyway), but I would be very interested in hearing if
either/both work well for you. (I think apb's fix is the key one, but
Ian's should make any other similar failures less troublesome.)
--- /usr/pkg/sbin/pkg_rolling-replace 2010-08-21 22:31:26.000000000 -0400
+++ pkg_rr.patched 2010-09-14 21:44:47.000000000 -0400
@@ -413,13 +413,16 @@
echo "${OPI} Tsorting dependency graph"
TSORTED=$(echo $DEPGRAPH_INSTALLED $DEPGRAPH_SRC | tsort)
+ pkgdir=
for pkg in $TSORTED; do
if is_member $pkg $REPLACE_TODO; then
+ pkgdir=$(${PKG_INFO} -Q PKGPATH $pkg)
+ [ -n "$pkgdir" ] || abort "Couldn't extract PKGPATH from installed
package $pkg"
break;
fi
done
- pkgdir=$(${PKG_INFO} -Q PKGPATH $pkg)
- [ -n "$pkgdir" ] || abort "Couldn't extract PKGPATH from installed package
$pkg"
+ # loop should never exit without selecting a package
+ [ -n "$pkgdir" ] || abort "pkg_chk reports the following packages need
replacing, but they are not installed: $REPLACE_TODO"
echo "${OPI} Selecting $pkg ($pkgdir) as next package to replace"
sleep 1
Attachment:
pgpQpux74jTxe.pgp
Description: PGP signature