pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg_rr multimedia/farsight2 infinite loop



On 2 October 2010 02:54, Greg Troxel <gdt%ir.bbn.com@localhost> wrote:
>
> "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

It is rebuilding farsight2 successfully ad infinitum.  Alan Barret's
patch does not seem to solve the problem (for some reason the patch
did not apply cleanly, so I applied it manually).  Following a
successfull build of farsight2, I still see

RR> Re-checking for unsafe installed packages (unsafe_depends_strict=YES)
RR> Packages to rebuild:
rr> MISMATCH_TODO=[cdparanoia faad2 gst-plugins0.10-esound
gst-plugins0.10-oss gst-plugins0.10-vorbis lame libao libao-oss
libid3tag libmad libmpcdec libsndfile mpc musicpd ncmpc fribidi
libiconv p5-MIME-Base64 wv avr-libc avrdude db4 cmake cpuflags giblib
hdf5 libbonoboui libgnome libixp librfuncs mercurial ncurses ncursesw
p5-Compress-Raw-Bzip2 p5-Compress-Raw-Zlib p5-IO-Compress p5-enum
subversion xulrunner vim-gtk2 wily qemu suse32_compat suse32_openssl
suse_aspell suse_base suse_compat suse_expat suse_fontconfig
suse_freetype2 suse_gdk-pixbuf suse_glx suse_gtk suse_gtk2
suse_libcups suse_libjpeg suse_libpng suse_libtiff suse_libxml2
suse_locale suse_openmotif suse_openssl suse_slang suse_vmware
suse_x11 libXgFonts font-adobe-100dpi font-adobe-75dpi
font-adobe-utopia-100dpi font-adobe-utopia-75dpi
font-adobe-utopia-type1 font-alias font-bh-100dpi font-bh-75dpi
font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi
font-bh-ttf font-bh-type1 font-bitstream-100dpi font-bitstream-75dpi
font-bitstream-type1 font-cursor-misc font-daewoo-misc font-dec-misc
font-ibm-type1 font-isas-misc font-jis-misc font-misc-misc
font-mutt-misc font-sony-misc mplayer-fonts terminus-font urw-fonts
vera-ttf ImageMagick babl djvulibre-lib djvulibre-tools feh gegl gimp
gnome-icon-theme-extras gnuplot ilmbase imlib2 libexif libungif libwmf
mng openexr plotutils qiv clisp erlang erlang-doc erlang-man jabref
mutt R maxima wxMaxima modular-xorg-apps modular-xorg-fonts
modular-xorg-libs pkg_developer suse fbreader p5-Business-ISBN
p5-Business-ISBN-Data adobe-flash-plugin ffmpeg gnome-media
gst-plugins0.10-bad gst-plugins0.10-theora gst-plugins0.10-v4l2
gst-plugins0.10-xvid libdv libdvdcss libdvdread libflashsupport
mplayer mplayer-share x264-devel xvidcore kphone p5-IO-Socket-INET6
p5-Net-LibIDN p5-Socket6 rsync ser tightvncviewer unison wget wpa_gui
createbuildlink lintpkgsrc p5-pkgsrc-Dewey pkg_comp pkg_leaves
pkgdepgraph pkgdiff pkglint pkgse revbump url2pkg verifypc evince
foomatic-ppds foomatic-ppds-cups hpijs libgnomeprintui libspectre
mpage poppler-glib xpdf gpgme libgnome-keyring p5-Crypt-SSLeay
p5-Digest p5-Digest-SHA1 p5-IO-Socket-SSL p5-Net-SSLeay sudo mksh
eggdbus estd fam gnome-vfs liblinebreak xmlrpc-c-ss arora newsbeuter
openconnect paraview surf vpnc-script wmii dillo firefox libgtkhtml
libwww lynx midori p5-HTML-Parser p5-HTML-Tagset p5-URI p5-libwww
dmenu gtk2-chtheme qt3-libs qt4-libs qt4-sqlite3 qt4-tools
rxvt-unicode wxGTK28 xbindkeys xf86-input-keyboard xf86-input-mouse
xf86-video-intel xf86-video-vesa xf86-video-wsfb xinput xosd
cdparanoia]
rr> REBUILD_TODO=[]
rr> UNSAFE_TODO=[]
RR> Building dependency graph for installed packages
RR> Tsorting dependency graph
RR> Selecting farsight2 (multimedia/farsight2) as next package to replace

While debugging, I also discovered that pkg_rr had updated
pkgtools/pkg_install, after which I could no longer pkg_add newly
built packages using the system pkg_add binary.  For some reason,
pkg_rr didn't like my trick of chmod -x ing system binaries to run
pkgsrc's versions instead, and kept looking for /usr/sbin/pkg_admin
and /usr/sbin/pkg_info, so I symlinked them to the pkgsrc versions
(this is all happening inside a pkg_comp chroot).

I don't know if it is safe to delete pkg_install on NetBSD in order to
use the system version, after having installed some packages with the
newer pkgsrc version (the "marked as not for deletion" message scared
me, and I don't want to screw up my pkgsrc db by using incompatible
versions of the tools).

Now I am beginning to think that I have created enough of a mess to
justify nuking the entire pkg_comp chroot and rebuilding everything
from scratch, *sigh* (but perhaps I should first give Ian Leroux's
patch a try as well).

Thank you for your help.

Pouya

>
> 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
>
>


Home | Main Index | Thread Index | Old Index