Wie erstelle ich ein pkngng Paket?

danvari

Well-Known Member
Hey :)!

Vielleicht eine etwas peinliche Frage: Wie erstelle ich ein pkgng Paket? Folgendes Szenario:

Ich möchte emulators/i386-wine-devel unter einer 32-bit chroot kompilieren und unter 64-bit verwenden. In der make.conf ist WITH_PKGNG eingetragen. Ich erstelle in Paket mittels "make package" und finde es auh unter /usr/ports/packages/emulators/i386-wine-devel.

Wenn ich aber unter meiner 64bit-Box versuche, mittels "pkg add PAKET" das Paket zu installieren, erhalte ich die Meldung:

Code:
pkg: /compat/i386/usr/ports/packages/emulators/i386-wine-1.5.29,1.tbz is not a valid package: no +MANIFEST found

Failed to install the following 1 package(s): /compat/i386/usr/ports/packages/emulators/i386-wine-1.5.29,1.tbz

Heisst das, das es sich hierbei um das alte Paketformat handelt? Ich habe auch schon versucht, in der 32bit chroot den Port zu installieren ("make install"), aber nichts (!) passiert. Ich dachte vielleicht ich könnte so dann mit "pkg create" das Paket erstellen.

Hat jemand eine Idee :rolleyes:?
 

lme

FreeBSD Committer
Ja, das ist das alte Paket.

Möglicherweise ist das package Target noch nicht auf pkgng angepasst worden.

Aber du kannst einfach auf dem Bausystem den Port installieren und dann das Paket mit
Code:
pkg create $paketname
erstellen.
 

danvari

Well-Known Member
OK, ich konnte das Paket unter der Chroot installieren und das Paket bauen. Dann treffe ich auf folgendes Problem:

Code:
root@freebsd:/home/sts # pkg add /compat/i386/usr/ports/emulators/i386-wine-devel/i386-wine-1.5.29,1.txz 
Installing i386-wine-1.5.29,1...pkg: wrong architecture: freebsd:9:x86:32 instead of freebsd:9:x86:64

Failed to install the following 1 package(s): /compat/i386/usr/ports/emulators/i386-wine-devel/i386-wine-1.5.29,1.txz

Klar, das Paket sollte unter 32bit gebaut werden, aber unter 64bit installiert werden. Der Port ist ja extra dafür gedacht. Wie gehe ich denn da nun vor?
 

cabriofahrer

Well-Known Member
Wieso nimmst Du nicht einfach die fertigen Pakete von hier?

http://www.mediafire.com/wine_fbsd64

Ich habe leider das Problem, daß ich noch alte .tbz-Pakete brauche, deswegen kann ich die nicht nehmen bis auf das eine wine-fbsd64-diablo3-1.4,1.tbz Paket, das scheint aber nicht optimal zu sein.

Wenn hier zufällig jemand wüßte, ob man .tbz-Pakete in .txz-Pakete umwandeln kann, wäre das auch nicht schlecht. Ansonsten muß ich warten, bis es endlich wieder Pakete auf pkgbeta.org gibt, bis ich mein System vorher umstellen kann.
Eine genaue Anleitung, wie man sie selbst kompiliert, so wie Du hier fragst, wäre natürlich auch nicht schlecht.
 

danvari

Well-Known Member
Die Pakete von der Seite sind für FreeBSD 9 noch die alten Pakete im pkg_* Format. Erst die Pakete für FreeBSD 10 sind für pkgng. Und Pakete konvertieren kann pkgng glaube ich erst ab Version 1.1 oder so.
 

cabriofahrer

Well-Known Member
Welche Seite meinst Du jetzt? Mediafire.com? Stimmt doch nicht, die sind alle im .txz-Format, bis auf ganz wenige, die entweder als kaputt markiert sind oder eben diese diabolo3-Paket.
 

danvari

Well-Known Member
Code:
root@freebsd:/home/sts # pkg add Downloads/wine-fbsd64-1.5.24,1.txz 
pkg: Downloads/wine-fbsd64-1.5.24,1.txz is not a valid package: no +MANIFEST found

Failed to install the following 1 package(s): Downloads/wine-fbsd64-1.5.24,1.txz

Daher nehme ich an, dass es sich um das alte Format (pkg_*) handelt :).
 
Oben