New package xyz contains potentially unsafe operations

nihonto

Well-Known Member
Hallo Forum,

habe meinem System mal ein Update verpasst und per cvsup auch die ports auf den neusten Stand gebracht. Ein paar Pakete konnten upgedatet werden, ein par andere aber nicht. Die Meldungen lauteten im Prinzip immer gleich, nämlich dass das Paket "unsafe operations" beinhalte. Hier mal das Beispiel für libglade2:

===> Updating for libglade2-2.5.1p5
Upgrading from libglade2-2.5.1p5
New package libglade2-2.5.1p5 contains potentially unsafe operations
@exec /usr/local/share/libxml2/rebuild
Can't safely update to libglade2-2.5.1p5 (use -F update to force it)
/usr/sbin/pkg_add: /usr/ports/packages/i386/all/libglade2-2.5.1p5.tgz:Fatal error
*** Error code 1

Stop in /usr/ports/devel/libglade2 (line 2060 of /usr/ports/infrastructure/mk/bsd.port.mk).

Frage: Ist es besser, es dabei bewenden zu lassen, oder wäre es ok die Möglichkeit "use -F update to force it" zu nutzen?

Falls ja, wie geht das? "make -F update" kann's nicht sein, das funktioniert nämlich nicht.

Merci;)
 
Okay - vielen Dank für den Hinweis!

Aber ist das auch eine empfehlenswerte Vorgehensweise? Oder sollte man davon lieber die Finger lassen?

Wie ist bei so einem Update eigentlich das Verhältnis zwischen "pkg_add -u" und "make update"? Habe nämlich festgestellt, dass die sich gegenseitig aufheben. Sprich: Wenn die Updates über Ports gemacht wurden und danach ein "pkg_add -ui" eingegeben wird, werden die gleichen Pakete, die "make update" aktualisiert hat, nochmal installiert.

Sollte man sich auf eine der beiden Methoden beschränken? Oder gibt's besondere Nachteile bei einer der beiden? Macht es überhaupt noch Sinn, den relativ langwierigen Weg über die Ports zu gehen, wenn man Updates auch wesentlich schneller über pkg_add bekommen kann?

Oder hab' ich einfach nicht verstanden, dass es erhebliche Unterschiede zwischen beiden gibt:D ?
 
pkg_add ist immer die schnellere variante.. und auch die bevorzugte.

pkg_add -u macht im grunde ja auch nur ein pkg_add -r auf die aktualisierten packages. welche packages aktueller sind ermittelt es aus den packages im PKG_PATH bzw. aus deren abhängigkeiten.

warum ein package nun durch pkg_add -u als kandidat zum aktualisieren ausgewählt wird, obwohl du gerade make update gemacht hast, könnte z.b. daran liegen, dass du ein package vergessen hast, von dem eben dieses abhängig war.
hoffe das kam verständlich rüber.

wenn du über ports aktualisieren willst, empfehle ich auch eine anwendung von $PORTSDIR/infrastructure/build/out-of-date - das zeigt dir, welche in neuerer version vorliegen.

auf bald
oenone
 
Hmmm, mit $PORTSDIR/infrastructure/build/out-of-date hab' ich ja gearbeitet und die Liste abgearbeitet. Da ich System und Ports upgedatet hatte, hat out-of-date mir die aktualisierten Pakete angezeigt.
Die Path-Angabe für pkg_add lautet:

ftp://ftp.freenet.de/pub/ftp.openbsd.org/pub/OpenBSD/4.0/packages/i386

Das sollte dem "release"-Flavor entsprechen, oder? Wenn ich aber System und Ports upgedatet habe, ist das dann -stable? Vorausgesetzt, das stimmt, dann würde ein "pkg_add -u" doch die vorher upgedateten Pakete wieder auf release-Niveau bringen.

Ist das so richtig, oder verhedder ich mich da gerade:ugly: ?
 
bei ports/packages gilt: stable==release
d.h. nur sehr geringe unterschiede zwischen stable und release.
sollte sich etwas an den stable ports ändern, werden auch die packages geupdated.

auf bald
oenone
 
Okay, langsam lichtet sich der Nebel:cool: !

Das bedeutet aber auch, solange ich in einem release bleibe, besteht auch kein Bedarf, das System zu rekompilieren. Programmupdates kann ich einspielen, wenn ich von Zeit zu Zeit "pkd_add -u" laufen lasse.

Und die Ports brauche ich nur, wenn ich ein Paket ziehen möchte, dass es nicht als Package gibt, aus welchen Gründen auch immer.

Richtig?
 
Zurück
Oben