Siduction Forum > Upgrade Warnings
Package printer-driver-pnm2ppa broken
fams:
Error during update:
printer-driver-pnm2ppa (1.13-11) wird eingerichtet ...
/var/lib/dpkg/info/printer-driver-pnm2ppa.postinst: 1: tempfile: not found
dpkg: Fehler beim Bearbeiten des Paketes printer-driver-pnm2ppa (--configure):
»installiertes printer-driver-pnm2ppa-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 127
zurück.
Reason seems the use of tempfile, which is deprecated and now removed in Bookworm.
No other packages are affected. Just purge the defective package.
See: https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg597894.html
greetings
fams
Balou:
Hi
Kann ich bestätigen. DIe Fehlermeldung habe ich so verstanden das ein Temp File fehlt bwz. nicht gefunden wird.
Daher habe ich mal in die Datei aus der Fehlermeldung geschaut
--- Code: ---/var/lib/dpkg/info/printer-driver-pnm2ppa.postinst
--- End code ---
.
In Zeile 34 haben ich den Eintrag auf
--- Code: ---TEMPFILE="tempfile"
--- End code ---
geändert. Eigentlich nur weil die Variabeln am Anfang auch so geschrieben waren. Ja, ich gebe zu ich habe von Scripten nur Laien Wissen.
Mutig geändert. Noch mal ein update/upgrade hinterher. Und siehe da. Läuft jedenfalls ohne Fehlermeldung durch
Habe ich jetzt ohne große Ahnung nach dem Motto ein blindes Huhn findet auch mal ein Korn ein Glückstreffer gelandet.
Hm, nach Bugreport wohl eher nicht. Aber wenn meine Lösung falsch ist weiß ich wenigstens jetzt wie es nicht geht.
Balou
dibl:
Fix:
--- Code: ---dpkg -r printer-driver-pnm2ppa
dpkg --configure -a
--- End code ---
Camelot:
Trotzdem kommt mir als bescheidender Bash-Scripter der Code eigenartig vor:
--- Code: ---if [ -f ${CONFSRC} ] ; then
db_get pnm2ppa/printer_model
TEMPFILE=`tempfile`
# Replace everything following "version " w/model
sed -e "s,^\(version \).*$,\1 ${RET}," ${CONFSRC} > \
${TEMPFILE}
install -m644 ${TEMPFILE} ${CONFFILE}
rm ${TEMPFILE}
fi
--- End code ---
Es soll mit TEMPFILE=`tempfile` auf eine eine temporäre Datei verwiesen werden (wo?), für diese Zwecke gibt es aber mktemp:
--- Code: ---if [ -f ${CONFSRC} ] ; then
db_get pnm2ppa/printer_model
TEMPFILE=$(mktemp)
# Replace everything following "version " w/model
sed -e "s,^\(version \).*$,\1 ${RET}," ${CONFSRC} > \
${TEMPFILE}
install -m644 ${TEMPFILE} ${CONFFILE}
rm ${TEMPFILE}
fi
--- End code ---
Ich kann mich natürlich auch irren, ein Bug ist es trotzdem…
fams:
mit
--- Code: ---TEMPFILE=`mktemp`
--- End code ---
wäre es korrekt.
Mit den "Backticks" (nicht normale ticks!) wird mktemp (oder alt: tempfile) aufgerufen und der Rückgabewert in TEMPFILE gespeichert.
Ist schon generell korrekt so.
Navigation
[0] Message Index
[#] Next page
Go to full version