Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 95538 - python-updater uses bad ordering and doesn't repect Ctrl-C
Summary: python-updater uses bad ordering and doesn't repect Ctrl-C
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-09 02:39 UTC by Patrick Lauer
Modified: 2006-02-02 13:21 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
the patch for depreorder.py (depreorder.py.patch,2.36 KB, patch)
2005-09-12 08:05 UTC, Andres Loeh (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Lauer gentoo-dev 2005-06-09 02:39:37 UTC
from twisted 2.0.0:
Traceback (most recent call last):
  File "setup.py", line 20, in ?
    from twisted import copyright
  File "./twisted/__init__.py", line 21, in ?
    raise ImportError, "you need zope.interface installed
(http://zope.org/Products/ZopeInterface/)"
ImportError: you need zope.interface installed
(http://zope.org/Products/ZopeInterface/)

!!! ERROR: dev-python/twisted-2.0.0 failed.

net-zope/zopeinterface-3.0.1 (18/32) would have been merged later.
Every single merge had to be Ctrl-C'ed, python-updater doesn't exit correctly

Reproducible: Always
Steps to Reproduce:
1. emerge lots of python programs, including twisted
2. update python to 2.4
3. run python-updater

Actual Results:  
see error above

Expected Results:  
fix my python programs ;-)

Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0,
2.6.12-rc5 i686)
=================================================================
System uname: 2.6.12-rc5 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.6.12
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5, 2.4.1
sys-apps/sandbox:    1.2.8
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.16-r1
sys-devel/libtool:   1.5.18
virtual/os-headers:  2.6.11-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/"
LDFLAGS="-Wl,-O1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apache2 apm avi
bash-completion berkdb bidi bigger-fonts bitmap-fonts bootsplash ccache cdda
cddb cdparanoia cdr chroot crypt cups curl dga divx4linux dv dvd dvdr dvdread
ecc eds emboss encode esd fam fbcon ffmpeg fftw foomaticdb fortran gd
gd-external gdbm gif gimp gimpprint glep gmp gphoto2 gpm graphviz gstreamer
imagemagick imlib ipv6 jabber jack jikes jit jpeg jpeg2k kde kdeenablefinal
ladcca libg++ libwww lm_sensors lzo lzw-tiff mad matroska mhash mikmod mime
mjpeg mmx mmxext mng motif mozilla mozsvg mp3 mpeg mpeg4 ncurses nls nptl nvidia
ogg oggvorbis openal opengl oss pam parse-clocks pdf pdflib perl physfs png
python qt quicktime readline real recode ruby samba sdl spell sqlite sse sse2
ssl tcltk tcpd tetex threads tiff transcode truetype truetype-fonts type1-fonts
utf8 vorbis win32codecs wxgtk1 xine xml2 xv xvid zlib userland_GNU kernel_linux
elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Comment 1 Alastair Tse (RETIRED) gentoo-dev 2005-06-10 08:00:05 UTC
i thought it would just fail silently and tell you at the end what it failed to fix and you could do it yourself. 

i guess the thing is you can't abort the whole process if one package fails because others might still work 
without that package? as i don't have twisted-2.0 and zope installed, i'm not quite sure how the 
dependencies with those packages work out in python-updater. any of the other python devs care the 
comment?
Comment 2 Andres Loeh (RETIRED) gentoo-dev 2005-09-12 08:04:04 UTC
I'm using depreorder.py within ghc-updater, which is a near-clone of
python-updater, and I also discovered that the dependency ordering
isn't correct. If I understand the code correctly, it fails with nested
dependencies. Assume package A depends on B, and package B depends on C.
Then the original code will create a list [B, A, C, B], and then remove
duplicates yielding [B, A, C], which is obviously wrong.

I've patched depreorder.py to use a topological sort of the dependency
cache instead. I hope that the code is correct. It at least seems to work
in the few limited test cases I've put it through.

Would be nice if you'd consider this patch for inclusion.

Cheers,
  ks
Comment 3 Andres Loeh (RETIRED) gentoo-dev 2005-09-12 08:05:16 UTC
Created attachment 68252 [details, diff]
the patch for depreorder.py
Comment 4 Bryan Østergaard (RETIRED) gentoo-dev 2006-02-02 13:21:33 UTC
Thanks Andres, added your patch to python-updater in 2.4.2-r1. Not going to change the ctrl-C handling at this moment.