portupgrade ausgabe - seltsames verhalten

Bin ich auch überfragt im Moment. Es scheint mir so das die Funktion eine Datei zur ausgabe oder ein Shell akzeptiert. Wenn nicht tritt der 3. Fall ein. Warum die Unterscheidung gemacht wird ist mir aber unverständlich.
 
Das Problem scheint mit 'nem geschlossenen stdin zusammenzuhängen. Ein ...

Code:
$ echo $SHELL
/bin/sh
$ man sh | grep "close stdin"
           [n]<&-        close stdin (or file descriptor n)
$ portupgrade -v -y -N -PP games/angband <&-

... liefert bei mir hier z.B. die "schwarze Ausgabe".


HTH :)
 
worldi schrieb:
Das Problem scheint mit 'nem geschlossenen stdin zusammenzuhängen.
das könnte sein wäre dann aber trotzdem ein bug von portupgrade oder nicht?
ich meine der zustand von stdin sollte doch keinen einfluss auf stdout haben, oder?
 
ok also anscheinend benutzt portupgrade den stdin um mit subprozessen zu kommunizieren.
wenn man nämlich in meiner "gefixten" version eine portinstall eines neuen ports macht der über port-bau eine dependency reinzieht kriegt man folgendes:
Code:
===>   amarok-1.3.9_2 depends on shared library: kimproxygrep: writing output: Broken pipe
grep: writing output
Broken pipe
grep: writing output: Broken 
gre
 writing output: Broken pipe
grep: writin
output: Broken pipe
grep: writing output:
roken pipe
grep: writing output: Broken p
grep
writing output: Broken pipe
grep: writing
utput: Broken pipe
grep: writing output: 
oken pipe
usw usf. es scheint sich jedoch ledglich um ouput-probleme zu handeln, da das bauen problemlos funktioniert.
das ganze scheint besonders seltsam da ich den Kprocess mit communication = all starte was STDIN | STDOUT | STDERR bedeutet also stdin offen und funktionsfähig sein müsste. ich denke dass problem kommt daher das kprocess unterschiedliche filediskriptoren für in und out benutzt.
ich bin immernoch unsicher wie ich genau vorgehen soll.
@worldi: danke für die hilfe!
 
Zuletzt bearbeitet:
Wirklich seltsame Sache. Hast du mal probiert ob das Problem auf anderen Rechnern reproduzierbar ist?
 
Zurück
Oben