The error occurs when running porthole, regardless whether I am running porthole as root or as another user. I have already reinstalled porthole, I have also run python-updater. Reproducible: Always Actual Results: $ porthole Porthole: python version = 2.5.2 (r252:60911, Feb 10 2009, 20:33:24) [GCC 4.1.2 (Gentoo 4.1.2 p1.1)] importing installed modules STARTUP: id initialized to 161770 STARTUP: detected python-2.5, disabling pycrash inserting path to modules ['/usr/lib64/python2.5/site-packages/porthole', '/usr/lib64/python25.zip', '/usr/lib64/python2.5', '/usr/lib64/python2.5/plat-linux2', '/usr/lib64/python2.5/lib-tk', '/usr/lib64/python2.5/lib-dynload', '/usr/lib64/portage/pym', '/usr/lib64/python2.5/site-packages', '/usr/lib64/python2.5/site-packages/Numeric', '/usr/lib64/python2.5/site-packages/PIL', '/usr/lib64/python2.5/site-packages/gtk-2.0', '/usr/lib/portage/pym'] starting main() STARTUP: main(); importing config CONFIG: id initialized to 807860 CONFIGURATION: id initialized to 808047 STARTUP: config.id = 807860 STARTUP: main(); importing config.preferences PREFERENCES: id initialized to 825291 initializing utils.__init__.py DEBUG: id initialized to 826119 UTILS: mydebug.id = 826119 PREFERENCES: imported debug.id = 826119 STARTUP: main(); loading preferences STARTUP: main(); importing version STARTUP: main(); importing utils PORTHOLE: importing MainWindow MAINWINDOW: id initialized to 874258 BACKENDS: id initialized to 876948 BACKENDS: PORTAGE setting = portagelib PORTAGELIB: id initialized to 878086 STERMINAL: id initialized to 879503 VERSION_SORT: id initialized to 881445 PROPERTIES: id initialized to 883871 METADATA: id initialized to 884837 PORTAGELIB: portage version = 2.1.6.7 BACKENDS: portage_lib import complete : <module 'porthole.backends.portagelib' from '/usr/lib64/python2.5/site-packages/porthole/backends/portagelib.pyc'> DATABASE: id initialized to 588901 PACKAGE: id initialized to 589548 DBREADER: import id initialized to 589968 UTILITIES: id initialized to 590771 USERCONFIGS: id initialized to 591383 DBREADER: DatabaseReader.id initialized to 594652 Traceback (most recent call last): File "/usr/bin/porthole", line 98, in <module> main() File "/usr/lib64/python2.5/site-packages/porthole/startup.py", line 184, in main from porthole.mainwindow import MainWindow File "/usr/lib64/python2.5/site-packages/porthole/mainwindow.py", line 44, in <module> from porthole.packagebook.notebook import PackageNotebook File "/usr/lib64/python2.5/site-packages/porthole/packagebook/notebook.py", line 37, in <module> from porthole.packagebook.summary import Summary File "/usr/lib64/python2.5/site-packages/porthole/packagebook/summary.py", line 34, in <module> from porthole import db File "/usr/lib64/python2.5/site-packages/porthole/db/__init__.py", line 33, in <module> userconfigs = UserConfigs(True) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 137, in __init__ self.load(os.path.join(portage_lib.settings.user_config_dir,file)) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 149, in load self.atomize(lines, myfilename, self.db, self.sources) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 154, in atomize debug.dprint("USER_CONFIGS: atomize(); mytype = " + mytype) TypeError: cannot concatenate 'str' and 'NoneType' objects Exception in thread Thread-1 (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib64/python2.5/threading.py", line 486, in __bootstrap_inner File "/usr/lib64/python2.5/site-packages/porthole/db/dbreader.py", line 170, in run File "/usr/lib64/python2.5/site-packages/porthole/db/dbreader.py", line 80, in read_db File "/usr/lib64/python2.5/site-packages/porthole/db/dbreader.py", line 165, in get_installed File "/usr/lib64/python2.5/site-packages/porthole/backends/portagelib.py", line 695, in get_installed_list File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 963, in getallnodes File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 285, in cp_all File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 268, in cpv_all File "//usr/lib64/portage/pym/portage/__init__.py", line 290, in listdir File "//usr/lib64/portage/pym/portage/__init__.py", line 236, in cacheddir <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'stat' $ emerge --info Portage 2.1.6.7 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r8 x86_64) ================================================================= System uname: Linux-2.6.27-gentoo-r8-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_3800+-with-glibc2.2.5 Timestamp of tree: Fri, 10 Apr 2009 00:30:07 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7-r1, 2.1.7 dev-lang/python: 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.2-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://ftp.cs.pu.edu.tw/Linux/Gentoo/ http://mirror.cambrium.nl/pub/os/linux/gentoo/" LANG="C" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/science /usr/portage/local/layman/ikelos /usr/local/portage /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi aim alsa amd64 apache2 apm arts audiofile bash-completion bcmath berkdb bidi blas bluetooth bzip2 cairo cdparanoia cdr cli consolekit cracklib crypt cups curl curlwrappers cxx dbus dga directfb doc dri dts dvb dvd dvdr dvdread eds emacs encode esd evo examples exif fam fastcgi fbcon ffmpeg fftw firefox flac fortran ftp gd gdbm ggi gif gimp ginac glut gnome gnutls gphoto2 gpm gstreamer gtk hal htmlhandbook iconv icq idn ieee1394 imagemagick imap ipv6 isdnlog jabber java javascript jikes jpeg jpeg2k kde kdeprefix kdrive lapack lcms ldap leim libedit libnotify libwww lirc lm_sensors mad madwifi matroska midi mikmod mime mmx mng mnogosearch mono mp3 mpeg mpi msn mudflap mule multilib mysql mysqli nas ncurses nls nptl nptlonly nsplugin nvidia ogg ole openal opengl openmp osc oscar oss pam pcre pdf perl php plotutils png pppd python qt3 qt3support qt4 quicktime radius readline reflection samba scanner seamonkey semantic-desktop server session sockets socks5 spell spl sqlite sse sse2 ssl startup-notification svg symlink sysfs szip tcpd tetex theora threads tidy tiff tokenizer truetype unicode usb v4l v4l2 vcd vhosts vorbis webkit wifi wxwindows xc xcomposite xface xine xml xmlrpc xorg xosd xulrunner xvid yahoo zlib zrtp" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="imon" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Try moving your .porthole preferences directory to a backup directory and see if it then works. The traceback is indicating corruption in the preferences. 1. mv .porthole .porthole-backup 2. porthole
The problem persists after removing the .porthole directory: # porthole Porthole: python version = 2.5.2 (r252:60911, Feb 10 2009, 20:33:24) [GCC 4.1.2 (Gentoo 4.1.2 p1.1)] importing installed modules STARTUP: id initialized to 938975 STARTUP: detected python-2.5, disabling pycrash inserting path to modules ['/usr/lib64/python2.5/site-packages/porthole', '/usr/lib64/python25.zip', '/usr/lib64/python2.5', '/usr/lib64/python2.5/plat-linux2', '/usr/lib64/python2.5/lib-tk', '/usr/lib64/python2.5/lib-dynload', '/usr/lib64/portage/pym', '/usr/lib64/python2.5/site-packages', '/usr/lib64/python2.5/site-packages/Numeric', '/usr/lib64/python2.5/site-packages/PIL', '/usr/lib64/python2.5/site-packages/gtk-2.0', '/usr/lib/portage/pym'] starting main() STARTUP: main(); importing config CONFIG: id initialized to 869576 CONFIGURATION: id initialized to 870711 STARTUP: config.id = 869576 STARTUP: main(); importing config.preferences PREFERENCES: id initialized to 194465 initializing utils.__init__.py DEBUG: id initialized to 216660 UTILS: mydebug.id = 216660 PREFERENCES: imported debug.id = 216660 STARTUP: main(); loading preferences STARTUP: main(); importing version STARTUP: main(); importing utils PORTHOLE: importing MainWindow MAINWINDOW: id initialized to 410662 BACKENDS: id initialized to 530097 BACKENDS: PORTAGE setting = portagelib PORTAGELIB: id initialized to 542984 STERMINAL: id initialized to 581911 VERSION_SORT: id initialized to 625163 PROPERTIES: id initialized to 627981 METADATA: id initialized to 640639 PORTAGELIB: portage version = 2.1.6.7 BACKENDS: portage_lib import complete : <module 'porthole.backends.portagelib' from '/usr/lib64/python2.5/site-packages/porthole/backends/portagelib.pyc'> DATABASE: id initialized to 999527 PACKAGE: id initialized to 3310 DBREADER: import id initialized to 4001 UTILITIES: id initialized to 5812 USERCONFIGS: id initialized to 24433 DBREADER: DatabaseReader.id initialized to 27111 Traceback (most recent call last): File "/usr/bin/porthole", line 98, in <module> main() File "/usr/lib64/python2.5/site-packages/porthole/startup.py", line 184, in main from porthole.mainwindow import MainWindow File "/usr/lib64/python2.5/site-packages/porthole/mainwindow.py", line 44, in <module> from porthole.packagebook.notebook import PackageNotebook File "/usr/lib64/python2.5/site-packages/porthole/packagebook/notebook.py", line 37, in <module> from porthole.packagebook.summary import Summary File "/usr/lib64/python2.5/site-packages/porthole/packagebook/summary.py", line 34, in <module> from porthole import db File "/usr/lib64/python2.5/site-packages/porthole/db/__init__.py", line 33, in <module> userconfigs = UserConfigs(True) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 137, in __init__ self.load(os.path.join(portage_lib.settings.user_config_dir,file)) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 149, in load self.atomize(lines, myfilename, self.db, self.sources) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 154, in atomize debug.dprint("USER_CONFIGS: atomize(); mytype = " + mytype) TypeError: cannot concatenate 'str' and 'NoneType' objects
Please build porthole with the debug USEflag and give the output of porthole --debug ALL.
there is no need to re-build porthole with the debug use flag. Everything needed is in the traceback it spit out. It is a small error on my part that I have fixed in svn. I didn't have internet for about 9 months, so got behind on things... The easy fix is to edit (as root): File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 154, in atomize debug.dprint("USER_CONFIGS: atomize(); mytype = " + mytype) so the corrected line looks like this: debug.dprint("USER_CONFIGS: atomize(); mytype = " + str(mytype)) the error: TypeError: cannot concatenate 'str' and 'NoneType' objects It is occurring because porthole was having trouble parsing one of the /etc/portage/package.* files so was trying to print out the info if you had started porthole from a terminal with the -d, --debug command line option. In this instance it was not able to determine which file type it was checking {package.use, package.mask, package.unmask, package.keywords, sets,...} so the value was (None). I have more things to fix in the svn before releasing, so I will submit a patch to add to the current ebuild.
Thank you, I was fixing this bug. When starting porthole, I get another error now, see below: # porthole Porthole: python version = 2.5.4 (r254:67916, Apr 19 2009, 21:33:19) [GCC 4.3.2] importing installed modules STARTUP: id initialized to 836802 STARTUP: detected python-2.5, disabling pycrash inserting path to modules ['/usr/lib64/python2.5/site-packages/porthole', '/usr/lib64/python25.zip', '/usr/lib64/python2.5', '/usr/lib64/python2.5/plat-linux2', '/usr/lib64/python2.5/lib-tk', '/usr/lib64/python2.5/lib-dynload', '/usr/lib64/portage/pym', '/usr/lib64/python2.5/site-packages', '/usr/lib64/python2.5/site-packages/Numeric', '/usr/lib64/python2.5/site-packages/PIL', '/usr/lib64/python2.5/site-packages/gtk-2.0', '/usr/lib/portage/pym'] starting main() STARTUP: main(); importing config CONFIG: id initialized to 532806 CONFIGURATION: id initialized to 533825 STARTUP: config.id = 532806 STARTUP: main(); importing config.preferences PREFERENCES: id initialized to 703591 initializing utils.__init__.py DEBUG: id initialized to 737783 UTILS: mydebug.id = 737783 PREFERENCES: imported debug.id = 737783 STARTUP: main(); loading preferences STARTUP: main(); importing version STARTUP: main(); importing utils PORTHOLE: importing MainWindow MAINWINDOW: id initialized to 780342 BACKENDS: id initialized to 869642 BACKENDS: PORTAGE setting = portagelib PORTAGELIB: id initialized to 885662 STERMINAL: id initialized to 893761 VERSION_SORT: id initialized to 941556 PROPERTIES: id initialized to 944059 METADATA: id initialized to 948948 PORTAGELIB: portage version = 2.1.6.7 BACKENDS: portage_lib import complete : <module 'porthole.backends.portagelib' from '/usr/lib64/python2.5/site-packages/porthole/backends/portagelib.pyc'> DATABASE: id initialized to 269921 PACKAGE: id initialized to 271308 DBREADER: import id initialized to 272135 UTILITIES: id initialized to 286265 USERCONFIGS: id initialized to 313922 DBREADER: DatabaseReader.id initialized to 315351 Traceback (most recent call last): File "/usr/bin/porthole", line 98, in <module> main() File "/usr/lib64/python2.5/site-packages/porthole/startup.py", line 184, in main from porthole.mainwindow import MainWindow File "/usr/lib64/python2.5/site-packages/porthole/mainwindow.py", line 44, in <module> from porthole.packagebook.notebook import PackageNotebook File "/usr/lib64/python2.5/site-packages/porthole/packagebook/notebook.py", line 37, in <module> from porthole.packagebook.summary import Summary File "/usr/lib64/python2.5/site-packages/porthole/packagebook/summary.py", line 34, in <module> from porthole import db File "/usr/lib64/python2.5/site-packages/porthole/db/__init__.py", line 33, in <module> userconfigs = UserConfigs(True) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 137, in __init__ self.load(os.path.join(portage_lib.settings.user_config_dir,file)) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 146, in load self.load(os.path.join(myfilename, f), recursive) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 149, in load self.atomize(lines, myfilename, self.db, self.sources) File "/usr/lib64/python2.5/site-packages/porthole/db/user_configs.py", line 166, in atomize if name in db[mytype]: KeyError: None
You must have a file in there that does not fall into the normal portage package.* categories. I've added some additional debug info and return from the function if it cannot determine the proper category for the file contents to be listed under. It may not be correct, I'll have to analyse your output some more. Also I need you to change the way you start porthole a little in order to get more information out that could be very usefull. start it with the -d option: # porthole -d ALL It will then output a lot more info, such as the statement that you corrected the first time. Then only cut and paste about 6 or so lines above and including the traceback, more if relavent to the problem. Here is a new code chunk to paste into the file. careful to not leave duplicate lines in. Then test it and report back. code: def atomize(self, lines, source, db = None, sources = None): """takes a list of items and creates db records of the package and values""" mytype = get_type(source) if mytype == None: debug.dprint("USER_CONFIGS: atomize(); UNABLE to determine mytype for file: " + str(source)) debug.dprint("USER_CONFIGS: atomize(); returning without processing file") return debug.dprint("USER_CONFIGS: atomize(); mytype = " + str(mytype)) /code
Created attachment 189107 [details, diff] trial patch to fix this problem. crud, word wrap in bugzilla messed up the code chunk. Here is a patch for it to test with. Also you can reduce debug output for this by changing ALL with some string to filter with: # porthole -d USER_CONFIGS This will restrict debug output (aside from some startup info) to only statements containing "USER_CONFIGS" which are the relavent ones for this problem.
Created attachment 189110 [details, diff] improved debug data output I've tried everything I can think of to try to reproduce this type of error without success. I've improved the data output a little more in this second patch. The output lines to look for are the ones that say "USER_CONFIGS: atomize(); UNABLE to determine...". And also the output of: # ls -lR /etc/portage/ would probably be very usefull.
I have changed the source code as shown in your attachement, and now the error vanished. Porthole is starting up without problems now. Thank you.
I would still like to get the output to see why it was happening in the first place. From my testing it should not have gotten that error. No matter how I screwed up my /etc/portage directory and files. Some of the information it gathers in that portion of code may still be missing for portholes package info display, even though it fails gracefully now so it can continue running. Please post the output of: # porthole -d USER_CONFIGS and # ls -lR /etc/portage So I can confirm it is doing things correctly.
Created attachment 189205 [details] output from "porthole -d USER_CONFIGS"
# ls -lR /etc/portage /etc/portage: total 36K drwxr-xr-x 2 root root 4.0K Aug 4 2008 bin drwxr-xr-x 2 root root 4.0K Aug 4 2008 postsync.d drwxr-xr-x 3 root root 4.0K Sep 21 2008 savedconfig drwxr-xr-x 3 root root 4.0K Feb 22 22:08 sets -rw-r--r-- 1 root root 194 Aug 13 2008 bashrc -rw-r--r-- 1 root root 6.7K Apr 18 01:28 package.keywords -rw-r--r-- 1 root root 23 Feb 15 15:06 package.mask -rw-r--r-- 1 root root 375 Apr 6 20:20 package.use /etc/portage/bin: total 4.0K -rwxr-xr-x 1 root root 254 Aug 4 2008 post_sync /etc/portage/postsync.d: total 4.0K -rw-r--r-- 1 root root 36 Aug 4 2008 q-reinitialize /etc/portage/savedconfig: total 4.0K drwxr-xr-x 2 root root 4.0K Feb 25 00:56 sys-apps /etc/portage/savedconfig/sys-apps: total 20K -rw-r--r-- 1 root root 20K Feb 25 00:56 busybox-1.13.2 /etc/portage/sets: total 4.0K drwxr-xr-x 2 root root 4.0K Feb 22 22:08 kde /etc/portage/sets/kde: total 348K -rw-r--r-- 1 root root 326 Feb 22 22:08 kde -rw-r--r-- 1 root root 312 Feb 22 22:08 kde-3.5 -rw-r--r-- 1 root root 332 Feb 22 22:08 kde-4.1 -rw-r--r-- 1 root root 406 Feb 22 22:08 kde-4.2 -rw-r--r-- 1 root root 1.1K Feb 22 22:08 kde-extras-live -rw-r--r-- 1 root root 479 Feb 22 22:08 kde-live -rw-r--r-- 1 root root 141 Feb 22 22:08 kdeaccessibility -rw-r--r-- 1 root root 168 Feb 22 22:08 kdeaccessibility-3.5 -rw-r--r-- 1 root root 165 Feb 22 22:08 kdeaccessibility-4.1 -rw-r--r-- 1 root root 165 Feb 22 22:08 kdeaccessibility-4.2 -rw-r--r-- 1 root root 392 Feb 22 22:08 kdeaddons-3.5 -rw-r--r-- 1 root root 143 Feb 22 22:08 kdeadmin -rw-r--r-- 1 root root 147 Feb 22 22:08 kdeadmin-3.5 -rw-r--r-- 1 root root 88 Feb 22 22:08 kdeadmin-4.1 -rw-r--r-- 1 root root 167 Feb 22 22:08 kdeadmin-4.2 -rw-r--r-- 1 root root 188 Feb 22 22:08 kdeadmin-live -rw-r--r-- 1 root root 246 Feb 22 22:08 kdeartwork -rw-r--r-- 1 root root 311 Feb 22 22:08 kdeartwork-3.5 -rw-r--r-- 1 root root 313 Feb 22 22:08 kdeartwork-4.1 -rw-r--r-- 1 root root 278 Feb 22 22:08 kdeartwork-4.2 -rw-r--r-- 1 root root 356 Feb 22 22:08 kdeartwork-live -rw-r--r-- 1 root root 1.5K Feb 22 22:08 kdebase -rw-r--r-- 1 root root 893 Feb 22 22:08 kdebase-3.5 -rw-r--r-- 1 root root 1.6K Feb 22 22:08 kdebase-4.1 -rw-r--r-- 1 root root 1.8K Feb 22 22:08 kdebase-4.2 -rw-r--r-- 1 root root 1.9K Feb 22 22:08 kdebase-live -rw-r--r-- 1 root root 56 Feb 22 22:08 kdebindings -rw-r--r-- 1 root root 68 Feb 22 22:08 kdebindings-4.2 -rw-r--r-- 1 root root 71 Feb 22 22:08 kdebindings-live -rw-r--r-- 1 root root 172 Feb 22 22:08 kdedeps-live -rw-r--r-- 1 root root 319 Feb 22 22:08 kdeedu -rw-r--r-- 1 root root 428 Feb 22 22:08 kdeedu-3.5 -rw-r--r-- 1 root root 420 Feb 22 22:08 kdeedu-4.1 -rw-r--r-- 1 root root 395 Feb 22 22:08 kdeedu-4.2 -rw-r--r-- 1 root root 414 Feb 22 22:08 kdeedu-live -rw-r--r-- 1 root root 621 Feb 22 22:08 kdegames -rw-r--r-- 1 root root 695 Feb 22 22:08 kdegames-3.5 -rw-r--r-- 1 root root 699 Feb 22 22:08 kdegames-4.1 -rw-r--r-- 1 root root 761 Feb 22 22:08 kdegames-4.2 -rw-r--r-- 1 root root 796 Feb 22 22:08 kdegames-live -rw-r--r-- 1 root root 293 Feb 22 22:08 kdegraphics -rw-r--r-- 1 root root 421 Feb 22 22:08 kdegraphics-3.5 -rw-r--r-- 1 root root 328 Feb 22 22:08 kdegraphics-4.1 -rw-r--r-- 1 root root 353 Feb 22 22:08 kdegraphics-4.2 -rw-r--r-- 1 root root 272 Feb 22 22:08 kdegraphics-live -rw-r--r-- 1 root root 139 Feb 22 22:08 kdemultimedia -rw-r--r-- 1 root root 425 Feb 22 22:08 kdemultimedia-3.5 -rw-r--r-- 1 root root 167 Feb 22 22:08 kdemultimedia-4.1 -rw-r--r-- 1 root root 167 Feb 22 22:08 kdemultimedia-4.2 -rw-r--r-- 1 root root 174 Feb 22 22:08 kdemultimedia-live -rw-r--r-- 1 root root 120 Feb 22 22:08 kdenetwork -rw-r--r-- 1 root root 370 Feb 22 22:08 kdenetwork-3.5 -rw-r--r-- 1 root root 173 Feb 22 22:08 kdenetwork-4.1 -rw-r--r-- 1 root root 148 Feb 22 22:08 kdenetwork-4.2 -rw-r--r-- 1 root root 155 Feb 22 22:08 kdenetwork-live -rw-r--r-- 1 root root 55 Feb 22 22:08 kdeoptional -rw-r--r-- 1 root root 46 Feb 22 22:08 kdeoptional-4.1 -rw-r--r-- 1 root root 67 Feb 22 22:08 kdeoptional-4.2 -rw-r--r-- 1 root root 538 Feb 22 22:08 kdepim -rw-r--r-- 1 root root 778 Feb 22 22:08 kdepim-3.5 -rw-r--r-- 1 root root 656 Feb 22 22:08 kdepim-4.1 -rw-r--r-- 1 root root 646 Feb 22 22:08 kdepim-4.2 -rw-r--r-- 1 root root 948 Feb 22 22:08 kdepim-live -rw-r--r-- 1 root root 318 Feb 22 22:08 kdesdk -rw-r--r-- 1 root root 338 Feb 22 22:08 kdesdk-3.5 -rw-r--r-- 1 root root 378 Feb 22 22:08 kdesdk-4.1 -rw-r--r-- 1 root root 378 Feb 22 22:08 kdesdk-4.2 -rw-r--r-- 1 root root 575 Feb 22 22:08 kdesdk-live -rw-r--r-- 1 root root 64 Feb 22 22:08 kdetoys -rw-r--r-- 1 root root 192 Feb 22 22:08 kdetoys-3.5 -rw-r--r-- 1 root root 80 Feb 22 22:08 kdetoys-4.1 -rw-r--r-- 1 root root 80 Feb 22 22:08 kdetoys-4.2 -rw-r--r-- 1 root root 133 Feb 22 22:08 kdetoys-live -rw-r--r-- 1 root root 231 Feb 22 22:08 kdeutils -rw-r--r-- 1 root root 362 Feb 22 22:08 kdeutils-3.5 -rw-r--r-- 1 root root 224 Feb 22 22:08 kdeutils-4.1 -rw-r--r-- 1 root root 283 Feb 22 22:08 kdeutils-4.2 -rw-r--r-- 1 root root 296 Feb 22 22:08 kdeutils-live -rw-r--r-- 1 root root 104 Feb 22 22:08 kdewebdev -rw-r--r-- 1 root root 143 Feb 22 22:08 kdewebdev-3.5 -rw-r--r-- 1 root root 124 Feb 22 22:08 kdewebdev-4.1 -rw-r--r-- 1 root root 124 Feb 22 22:08 kdewebdev-4.2 -rw-r--r-- 1 root root 177 Feb 22 22:08 koffice -rw-r--r-- 1 root root 221 Feb 22 22:08 koffice-2 -rw-r--r-- 1 root root 222 Feb 22 22:08 koffice-live -rw-r--r-- 1 root root 519 Feb 22 22:08 plasmoids -rw-r--r-- 1 root root 323 Feb 22 22:08 qt-split
Thank you. OK, I thought it was not handling something. It is not handling your sets properly because of sub directories. I never thought to test that earlier It should have handled it correctly, but obviously not. I'll look at the code some more to properly fix it. I'll be back.
Ok, it turns out I had that bug fixed a long time ago in svn. In _rc4 it split the filename on "/" and looked only at the second to last one to determine which category it fit into. The recoded function now can handle it at any depth level of directories and sub-directories. I've just commited the graceful failure changes I made to svn. Those and the function re-write are the only changes made since _rc4, so the easiest fix is to download the file from svn and replace the one already installed or wait until an ebuild revision is released. file link: http://porthole.svn.sourceforge.net/viewvc/porthole/trunk/porthole/db/user_configs.py?revision=1031
(In reply to comment #14) > Ok, it turns out I had that bug fixed a long time ago in svn... <SNIP> > so the easiest fix is > to download the file from svn and replace the one already installed or wait > until an ebuild revision is released. Brian, would you be willing to provide a new release candidate @ sf.net with this bug fixed, so we can put together an ebuild without rolling our own from svn or doing a lot of patching? Thanks, Michael
Yeah, I am working on stabilizing all the latest changes to do just that. I have done a re-write of the terminal queue to fix some bugs there, but it still needs a little more work/testing. Also related to this bug, and nested sub-directories in /etc/portage/sets/. I discovered porthole is not showing the proper nesting of the Sets files. It is bringing them directly under the Sets category losing the sub-dir in the tree listing. It is not a critical bug, but could be confusing if there are different files under different sets sub-dirs with the same name. I'll try to fix that one too. eg. ~/sets/file1 and ~/sets/kde/file2 is showing as Sets -->file1 -->file2 They've just finnished (yesterday) filming us for the tv show our family has been involved with so I should have more time to work on porthole again. An internet connection again helps too :). I'll also put a limitation on python to <python-2.6 as well. I've had a few quirky behaviors I want to iron out.
Created attachment 193115 [details] new updated ebuild for the latest release Since the old bug for the releases is closed I've attached the new ebuild here. this release incorporates this bug fix and [url=http://bugs.gentoo.org/show_bug.cgi?id=264167]bug#264167[/url]. This ebuild has the dependencies updated (no longer are pyxml and pycrash needed or used). I have also tested it to work correctly with python-2.5 and python-2.6, portage-2.1.x and portage-2.2.x It should also I hope prove to be the final release candidate and be pushed to -0.6.0 final.
Thanks for the updates. I'm getting the following errors when I emerge the newest * Byte compiling python modules for python-2.5 .. ... //usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py:478: Warning: 'as' will become a reserved keyword in Python 2.6 Compiling //usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py ... File "//usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py", line 478 except Exception as e: ^ SyntaxError: invalid syntax //usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py:478: Warning: 'as' will become a reserved keyword in Python 2.6 Compiling //usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py ... File "//usr/lib/python2.5/site-packages/porthole/terminal/term_queue.py", line 478 except Exception as e: ^ SyntaxError: invalid syntax Regarding the ebuild, I think you can delete the src_unpack() function entirely and just let the default run. Other than that, it looks good.
Created attachment 193364 [details, diff] patch to fix the " as " use for <python-2.6 compatibility Sorry, I added some more exception tracking and the examples were python-2.6ish. Also there is one additional (small) bugfix to fix an error that the queue was not skipping past a killed command (cut and paste error).
Created attachment 193366 [details, diff] ebuild patch adding the "-as.patch" I suppose the src_unpack was there from previous versions that required a patch or two. I have only been updating the ebuilds as needed. They have been reworked by other gentoo devs over the years, so I don't try to change them otherwise. I just take the latest one and update it. If you would like to change it, it's OK with me. Any past ebuilds I've created for a package and submitted have been shredded by gentoo devs ;), even if it was a copy from a similar existing package. (That one only shared the package name with the one that was pushed to the tree.)
Hi, I'm having problems with porthole 0.6.0_rc5-r1 too. It isn't showing my sets. When I choose to view Sets, it doesn't show nothing, but I have all kde-testing sets. My /etc/portage/sets is listed below: localhost sets # ls -ls /etc/portage/sets/ total 468 4 -rw-r--r-- 1 root root 297 Ago 4 18:42 kde 4 -rw-r--r-- 1 root root 312 Ago 4 18:42 kde-3.5 4 -rw-r--r-- 1 root root 373 Ago 4 18:42 kde-4.2 4 -rw-r--r-- 1 root root 373 Ago 4 18:42 kde-4.3 4 -rw-r--r-- 1 root root 386 Ago 4 18:42 kde-4.4 4 -rw-r--r-- 1 root root 141 Ago 4 18:42 kdeaccessibility 4 -rw-r--r-- 1 root root 169 Ago 4 18:42 kdeaccessibility-3.5 4 -rw-r--r-- 1 root root 165 Ago 4 18:42 kdeaccessibility-4.2 4 -rw-r--r-- 1 root root 165 Ago 4 18:42 kdeaccessibility-4.3 4 -rw-r--r-- 1 root root 165 Ago 4 18:42 kdeaccessibility-4.4 4 -rw-r--r-- 1 root root 171 Ago 4 18:42 kdeaccessibility-live 4 -rw-r--r-- 1 root root 393 Ago 4 18:42 kdeaddons-3.5 4 -rw-r--r-- 1 root root 107 Ago 4 18:42 kdeadmin 4 -rw-r--r-- 1 root root 148 Ago 4 18:42 kdeadmin-3.5 4 -rw-r--r-- 1 root root 153 Ago 4 18:42 kdeadmin-4.2 4 -rw-r--r-- 1 root root 127 Ago 4 18:42 kdeadmin-4.3 4 -rw-r--r-- 1 root root 127 Ago 4 18:42 kdeadmin-4.4 4 -rw-r--r-- 1 root root 132 Ago 4 18:42 kdeadmin-live 4 -rw-r--r-- 1 root root 284 Ago 4 18:42 kdeartwork 4 -rw-r--r-- 1 root root 312 Ago 4 18:42 kdeartwork-3.5 4 -rw-r--r-- 1 root root 278 Ago 4 18:42 kdeartwork-4.2 4 -rw-r--r-- 1 root root 320 Ago 4 18:42 kdeartwork-4.3 4 -rw-r--r-- 1 root root 389 Ago 4 18:42 kdeartwork-4.4 4 -rw-r--r-- 1 root root 399 Ago 4 18:42 kdeartwork-live 4 -rw-r--r-- 1 root root 1573 Ago 4 18:42 kdebase 4 -rw-r--r-- 1 root root 894 Ago 4 18:42 kdebase-3.5 4 -rw-r--r-- 1 root root 1762 Ago 4 18:42 kdebase-4.2 4 -rw-r--r-- 1 root root 1881 Ago 4 18:42 kdebase-4.3 4 -rw-r--r-- 1 root root 1881 Ago 4 18:42 kdebase-4.4 4 -rw-r--r-- 1 root root 1958 Ago 4 18:42 kdebase-live 4 -rw-r--r-- 1 root root 118 Ago 4 18:42 kdebindings 4 -rw-r--r-- 1 root root 91 Ago 4 18:42 kdebindings-4.2 4 -rw-r--r-- 1 root root 142 Ago 4 18:42 kdebindings-4.3 4 -rw-r--r-- 1 root root 142 Ago 4 18:42 kdebindings-4.4 4 -rw-r--r-- 1 root root 148 Ago 4 18:42 kdebindings-live 4 -rw-r--r-- 1 root root 66 Jun 1 19:29 kdedeps-4.2 4 -rw-r--r-- 1 root root 86 Ago 4 18:42 kdedeps-4.3 4 -rw-r--r-- 1 root root 86 Ago 4 18:42 kdedeps-4.4 4 -rw-r--r-- 1 root root 125 Ago 4 18:42 kdedeps-live 4 -rw-r--r-- 1 root root 319 Ago 4 18:42 kdeedu 4 -rw-r--r-- 1 root root 451 Ago 4 18:42 kdeedu-3.5 4 -rw-r--r-- 1 root root 395 Ago 4 18:42 kdeedu-4.2 4 -rw-r--r-- 1 root root 395 Ago 4 18:42 kdeedu-4.3 4 -rw-r--r-- 1 root root 395 Ago 4 18:42 kdeedu-4.4 4 -rw-r--r-- 1 root root 414 Ago 4 18:42 kdeedu-live 4 -rw-r--r-- 1 root root 1545 Ago 4 18:42 kde-extras-live 4 -rw-r--r-- 1 root root 636 Ago 4 18:42 kdegames 4 -rw-r--r-- 1 root root 721 Ago 4 18:42 kdegames-3.5 4 -rw-r--r-- 1 root root 761 Ago 4 18:42 kdegames-4.2 4 -rw-r--r-- 1 root root 780 Ago 4 18:42 kdegames-4.3 4 -rw-r--r-- 1 root root 780 Ago 4 18:42 kdegames-4.4 4 -rw-r--r-- 1 root root 816 Ago 4 18:42 kdegames-live 4 -rw-r--r-- 1 root root 315 Ago 4 18:42 kdegraphics 4 -rw-r--r-- 1 root root 422 Ago 4 18:42 kdegraphics-3.5 4 -rw-r--r-- 1 root root 353 Ago 4 18:42 kdegraphics-4.2 4 -rw-r--r-- 1 root root 379 Ago 4 18:42 kdegraphics-4.3 4 -rw-r--r-- 1 root root 379 Ago 4 18:42 kdegraphics-4.4 4 -rw-r--r-- 1 root root 395 Ago 4 18:42 kdegraphics-live 4 -rw-r--r-- 1 root root 106 Ago 4 18:42 kdelibs 4 -rw-r--r-- 1 root root 66 Ago 4 18:42 kdelibs-4.2 4 -rw-r--r-- 1 root root 126 Ago 4 18:42 kdelibs-4.3 4 -rw-r--r-- 1 root root 126 Ago 4 18:42 kdelibs-4.4 4 -rw-r--r-- 1 root root 131 Ago 4 18:42 kdelibs-live 4 -rw-r--r-- 1 root root 406 Ago 4 18:42 kde-live 4 -rw-r--r-- 1 root root 162 Ago 4 18:42 kdemultimedia 4 -rw-r--r-- 1 root root 426 Ago 4 18:42 kdemultimedia-3.5 4 -rw-r--r-- 1 root root 167 Ago 4 18:42 kdemultimedia-4.2 4 -rw-r--r-- 1 root root 194 Ago 4 18:42 kdemultimedia-4.3 4 -rw-r--r-- 1 root root 194 Ago 4 18:42 kdemultimedia-4.4 4 -rw-r--r-- 1 root root 202 Ago 4 18:42 kdemultimedia-live 4 -rw-r--r-- 1 root root 120 Ago 4 18:42 kdenetwork 4 -rw-r--r-- 1 root root 371 Ago 4 18:42 kdenetwork-3.5 4 -rw-r--r-- 1 root root 148 Ago 4 18:42 kdenetwork-4.2 4 -rw-r--r-- 1 root root 148 Ago 4 18:42 kdenetwork-4.3 4 -rw-r--r-- 1 root root 148 Ago 4 18:42 kdenetwork-4.4 4 -rw-r--r-- 1 root root 155 Ago 4 18:42 kdenetwork-live 4 -rw-r--r-- 1 root root 38 Ago 4 18:42 kdeoptional 4 -rw-r--r-- 1 root root 46 Ago 4 18:42 kdeoptional-4.2 4 -rw-r--r-- 1 root root 46 Ago 4 18:42 kdeoptional-4.3 4 -rw-r--r-- 1 root root 46 Ago 4 18:42 kdeoptional-4.4 4 -rw-r--r-- 1 root root 48 Ago 4 18:42 kdeoptional-live 4 -rw-r--r-- 1 root root 543 Ago 4 18:42 kdepim 4 -rw-r--r-- 1 root root 779 Ago 4 18:42 kdepim-3.5 4 -rw-r--r-- 1 root root 719 Ago 4 18:42 kdepim-4.2 4 -rw-r--r-- 1 root root 651 Ago 4 18:42 kdepim-4.3 4 -rw-r--r-- 1 root root 763 Ago 4 18:42 kdepim-4.4 4 -rw-r--r-- 1 root root 793 Ago 4 18:42 kdepim-live 4 -rw-r--r-- 1 root root 318 Ago 4 18:42 kdesdk 4 -rw-r--r-- 1 root root 339 Ago 4 18:42 kdesdk-3.5 4 -rw-r--r-- 1 root root 378 Ago 4 18:42 kdesdk-4.2 4 -rw-r--r-- 1 root root 378 Ago 4 18:42 kdesdk-4.3 4 -rw-r--r-- 1 root root 378 Ago 4 18:42 kdesdk-4.4 4 -rw-r--r-- 1 root root 393 Ago 4 18:42 kdesdk-live 4 -rw-r--r-- 1 root root 64 Ago 4 18:42 kdetoys 4 -rw-r--r-- 1 root root 193 Ago 4 18:42 kdetoys-3.5 4 -rw-r--r-- 1 root root 80 Ago 4 18:42 kdetoys-4.2 4 -rw-r--r-- 1 root root 80 Ago 4 18:42 kdetoys-4.3 4 -rw-r--r-- 1 root root 80 Ago 4 18:42 kdetoys-4.4 4 -rw-r--r-- 1 root root 84 Ago 4 18:42 kdetoys-live 4 -rw-r--r-- 1 root root 221 Ago 4 18:42 kdeutils 4 -rw-r--r-- 1 root root 363 Ago 4 18:42 kdeutils-3.5 4 -rw-r--r-- 1 root root 278 Ago 4 18:42 kdeutils-4.2 4 -rw-r--r-- 1 root root 273 Ago 4 18:42 kdeutils-4.3 4 -rw-r--r-- 1 root root 273 Ago 4 18:42 kdeutils-4.4 4 -rw-r--r-- 1 root root 286 Ago 4 18:42 kdeutils-live 4 -rw-r--r-- 1 root root 104 Ago 4 18:42 kdewebdev 4 -rw-r--r-- 1 root root 144 Ago 4 18:42 kdewebdev-3.5 4 -rw-r--r-- 1 root root 124 Ago 4 18:42 kdewebdev-4.2 4 -rw-r--r-- 1 root root 124 Ago 4 18:42 kdewebdev-4.3 4 -rw-r--r-- 1 root root 124 Ago 4 18:42 kdewebdev-4.4 4 -rw-r--r-- 1 root root 129 Ago 4 18:42 kdewebdev-live 4 -rw-r--r-- 1 root root 221 Ago 4 18:42 koffice 4 -rw-r--r-- 1 root root 221 Ago 4 18:42 koffice-2 4 -rw-r--r-- 1 root root 231 Ago 4 18:42 koffice-live 4 -rw-r--r-- 1 root root 568 Ago 4 18:42 plasmoids 4 -rw-r--r-- 1 root root 113 Ago 4 18:42 plasmoids-live 4 -rw-r--r-- 1 root root 323 Ago 4 18:42 qt-split
That is very strange. It is not working on my new machine (amd_64). It must be a failure in reading the files since their entries do not show up in package's User Config listings. Checking just now the package.use entries are not showing either. Very strange. It was working for a long time now on my old machine, currently headless. Nothing is showing in the debug printing either. I'll get back to you, I have some investigation to do.
well it appears that portage has dropped the leading slash '/' from some of it's constants that porthole imports. It turns out that the USER_CONFIG_DIR is now defined as 'etc/portage' instead of '/etc/portage'. It threw a wrench into the system. I am trying to get the reason/bug ironed out to know how best to fix it.
Ok, thanks for the answer :) Let me know if you need some help.
I've just commited the changes to svn. Can you download them and test it. It does not need to be installed. It can run directly from the svn checkout. svn co https://porthole.svn.sourceforge.net/svnroot/porthole porthole You should get revision 1078 with the last changes I made. Then from a terminal # cd porthole/trunk/scripts # ./porthole -l -d ALL to test it. There are also a few more updates/fixes. let me know how it works.
OK, there was some I missed. Revision 1079 fixes the saving of user config changes. Hopefully that is all of it.
Can we expect a revision bump from svn to fix the saving of user configs? I have tested and it works. Hopefully this can be added to the tree soon.
Fixed in porthole-0.6.0, thanks guys.