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
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to