weird problems with porupgrade
Hannes Hauswedell
hannes.hauswedell at gmail.com
Sat Apr 15 16:16:37 UTC 2006
hi everybody!
since some time now i am developing kports an advanced kde frontend for the freebsd-ports and in future also pkgsrc and openbsd ports.
since the last release last summer i have gone through a complete rewrite and right now am at the point where i monitor portupgrades output and am having severe problems with portupgrade's behaviour.
the problem is: depending on certain conditions portupgrade doesnt show a big part of the output. these conditions are:
the application is started as a subprocess of another application, e.g. kdevelop and/or i use kprocess/qprocess to run the portupgrade command.
if i run the applicaiton on its own and use popen() and pipes to access the output it works.
this might make it appear to be a problem of the kprocess implementation, however i am pretty sure it is not. i have run the command with "| tee logfile" and the logfile also only has part of the output. this whole problem has been discussed @ http://www.bsdforen.de/showthread.php?p=119650 (in german), so if you speak german you could check that out. an example of the problem:
i run the command "portupgrade -v -y -N -PP games/angband" without root previliges (this way the process is over pretty quickly). if run from inside a unix system pipe (file descriptor opened with popen and read with fgets) the output looks like this:
-> Session started at: Thu, 06 Apr 2006 10:46:10 +0000
---> Fresh installation of games/angband started at: Thu, 06 Apr 2006 10:46:17 +0000
---> Checking for the latest package of 'games/angband'
---> Fetching the package(s) for 'angband-3.0.6' (games/angband)
---> Fetching angband-3.0.6
++ Will try the following sites in the order named:
ftp://ftp.de.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/
---> Invoking a command: curl ftp://ftp.de.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/All/angband-3.0.6.tbz -o /var/tmp/portupgradeURBFUqpc/angband-3.0.6.tbz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 579k 0 1404 0 0 1423 0 0:06:57 --:--:-- 0:06:57 1423
20 579k 20 120k 0 0 75560 0 0:00:07 0:00:01 0:00:06 183k
59 579k 59 344k 0 0 130k 0 0:00:04 0:00:02 0:00:02 207k
96 579k 96 559k 0 0 153k 0 0:00:03 0:00:03 --:--:-- 210k
100 579k 100 579k 0 0 151k 0 0:00:03 0:00:03 --:--:-- 204k
---> Downloaded as angband-3.0.6.tbz
---> Identifying the package /var/tmp/portupgradeURBFUqpc/angband-3.0.6.tbz
** Failed to save the dowloaded tarball as /usr/ports/packages/All/angband-3.0.6.tbz
---> Listing the results (+:done / -:ignored / *:skipped / !:failed)
! angband-3.0.6 (Permission denied - /usr/ports/packages/All/angband-3.0.6.tbz)
---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
** Could not clean up temporary directory: Directory not empty - /var/tmp/portupgradeURBFUqpc
---> Fetching the latest package(s) for 'angband' (games/angband)
---> Fetching angband
++ Will try the following sites in the order named:
ftp://ftp.de.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/
---> Invoking a command: curl ftp://ftp.de.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/angband.tbz -o /var/tmp/portupgrade7LnEZ0Si/angband.tbz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 579k 0 1404 0 0 1451 0 0:06:49 --:--:-- 0:06:49 1451
9 579k 9 56160 0 0 39568 0 0:00:15 0:00:01 0:00:14 118k
25 579k 25 147k 0 0 62424 0 0:00:09 0:00:02 0:00:07 100k
55 579k 55 322k 0 0 95434 0 0:00:06 0:00:03 0:00:03 128k
80 579k 80 464k 0 0 105k 0 0:00:05 0:00:04 0:00:01 134k
100 579k 100 579k 0 0 110k 0 0:00:05 0:00:05 --:--:-- 135k
---> Downloaded as angband.tbz
---> Identifying the package /var/tmp/portupgrade7LnEZ0Si/angband.tbz
** Failed to save the dowloaded tarball as /usr/ports/packages/All/angband-3.0.6.tbz
---> Listing the results (+:done / -:ignored / *:skipped / !:failed)
! angband@ (Permission denied - /usr/ports/packages/All/angband-3.0.6.tbz)
---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
** Could not clean up temporary directory: Directory not empty - /var/tmp/portupgrade7LnEZ0Si
---> Fresh installation of games/angband ended at: Thu, 06 Apr 2006 10:46:31 +0000 (consumed 00:00:13)
---> Listing the results (+:done / -:ignored / *:skipped / !:failed)
! games/angband (package not found)
---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
---> Session ended at: Thu, 06 Apr 2006 10:46:31 +0000 (consumed 00:00:20)
however the same code, run as a subprocess of kdevelop misses the code colored in red.
i have also checked the environemnt inside those process and tried encapsulating the command in "sh -c" without any results...
now am out of ideas....
thanks for any help
hannes
p.s.: please cc to my email address i amnot a subscriber
More information about the freebsd-hackers
mailing list