UCS Packaging Fehler bei Installation des Pakets

german

#1

Schönen guten Tag,

ich bin gerade dabei ein OpenZ-Paket für UCS zu erstellen.
Nachdem ich das Paket mit dpkg-buildpackage gebaut habe will ich es natürlich installieren, doch danach laufe ich derzeit noch auf einige Fehlermeldungen.
Bei der Installation startet wie gewünscht als erstes das Pre Installations Skript darin wird als erstes die sources.list verändert und die Daten mit apt-get update aktualisiert, soweit so gut.
Am Ende des Update-Prozesses kommt es zu der Warnmeldung: [quote]W: GPG-Fehler: ftp.de.debian.org squeeze Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY AED4B06F473041FA [/quote]
Die ist aber denke ich mal nicht das tragische.
Nach dieser Warnung kommt es zu dem Fehler: [quote]E: Konnte Lock /var/lib/dpkg/lock nicht bekommen - open (11: Die Ressource ist zur Zeit nicht verfügbar)
E: Sperren des Administrationsverzeichnisses (/var/lib/dpkg/) nicht möglich, wird es von einem anderen Prozess verwendet?
dpkg: Fehler beim Bearbeiten von openz_1.1_amd64.deb (–install):
Unterprozess neues pre-installations-skript gab den Fehlerwert 100 zurück[/quote]

Was muss ich nun tun um diese Fehler abzustellen?

Mit freundlichen Grüßen
dah
OpenZ


#2

Schönen guten Tag,

so nach langer Recherche habe ich das erste Problem lösen können.
Mit dieser Zeile gpg --keyserver subkeys.pgp.net --recv-keys AED4B06F473041FA;gpg --armor --export AED4B06F473041FA| apt-key add -.
Trotzdem hakt es leider noch an der lock-Datei.

[quote]E: Konnte Sperre /var/lib/dpkg/lock nicht bekommen - open (11: Die Ressource ist zur Zeit nicht verfügbar)
E: Sperren des Administrationsverzeichnisses (/var/lib/dpkg/) nicht möglich, wird es von einem anderen Prozess verwendet?
dpkg: Fehler beim Bearbeiten von openz_2.6-1_amd64.deb (–install):
Unterprozess neues pre-installation-Skript gab den Fehlerwert 100 zurück
Fehler traten auf beim Bearbeiten von:
openz_2.6-1_amd64.deb
[/quote]

lsof /var/lib/dpkg/lock --> verrät mir nichts.

[quote]sudo dpkg -a --configure[/quote] --> hat leider auch keinen Effekt.

lsb_release -a -->
No LSB modules are available.
Distributor ID: Univention
Description: Univention Corporate Server 3.0-0 errata0 (Horn-Lehe)
Release: 3.0-0 errata0
Codename: Horn-Lehe

/var/lib/dpkg# ls -al lock --> -rwxr-xr-x 1 root root 0 1. Jun 12:20 lock

Mit freundlichen Grüßen
dah
OpenZ


#3

Schönen guten Tag noch einmal,

so da ich jetzt auch das zweite Problem selbstständig lösen konnte, (Man sollte vermeiden zwei Programme auf dieses Lock zugreifen zu lassen - sprich keinen Aufruf von apt-get update während der dpkg Installation rauszuschicken ;-))ergab sich eine neue Frage zum Thema Packaging.

Wie ist es möglich zusätzliche Pakete, in meinem Fall ein tar.gz mit dem dpkg-buildpackage in das .deb zu bekommen? Und dieses dann bei der Installation an einen bestimmten Ort zu bekommen?

Vielen Dank im Voraus!
Mit freundlichen Grüßen
dah
OpenZ


#4

Hallo,

ich würde Ihre Anfrage gern einmal zusammenfassend wiedergeben um sicherzustellen, dass ich Sie korrekt erfasst habe.
Es soll ein UCS-Paket vorhandener Quellen erstellt werden. Dieses Paket soll bei der Installation (preinst) unter anderem Debian Squeeze Quellen einbinden und von hier weitere Pakete beziehen und nachinstallieren.

Zuerst einmal würde ich gern darauf hinweisen, dass das direkte Einbinden von Debian Quellen auf einem UCS-System so nicht unterstützt/vorgesehen ist und zu Folgefehlern führen kann.
Zu UCS 3.0 wurde allerdings fast das gesamte Debian Squeeze Repository (mit Ausnahme der Sektion Games und einiger, weniger Pakete) gebaut und für UCS zur Verfügung gestellt. Sie erhalten hier Zugriff indem Sie den unmaintained-Bereich einbinden:

ucr set repository/online/unmaintained=yes apt-get update
Die Wahrscheinlichkeit ist hoch, dass die von Ihnen benötigten Pakete hier verfügbar sind.

Desweiteren gilt es hier zu klären, um was für ein tar.gz es sich hier handelt. Handelt es sich hierbei um weitere Quellen, welche zur Laufzeit gebaut werden sollen oder lediglich um Dateien, welche es auszurollen gilt?
Prinzipiell kann hierzu folgendes Vorgehen erwähnt werden:
Sollen Dateien während einer Pakeinstallation an einen bestimmten Ort installiert werden, so können diese beispielsweise im Paket hinterlegt und über die Debian rules-Datei definiert werden.
Handelt es sich um eigenständige Quellen, so sollten diese seperat paketiert und als “Dependency” des Paketes definiert werden.
Auf diesem Weg können Sie z.B. auch das ursprünglich benötigte Paket mit installieren lassen.
Bitte sehen Sie hier für konkrete Informationen den Debian Maintainers Guide

Sollten Sie an dieser Stelle eine konkrete Unterstützung für das Paketieren Ihrer Software wünschen, so kann unser Vertrieb hier sicher eine Lösung für Sie erstellen. Wenden Sie sich hierzu bitte telefonisch an +49 421 222 32 - 0 oder schreiben Sie eine E-Mail an vertrieb@univention.de.

Mit freundlichen Grüßen,
Tim Petersen


#5

Hallo,

vielen Dank erst einmal für die umfassende Antwort. Genau so ist es, ich habe die nötigen Repositories, auf die sich die Dependencies beziehen aus der preinst gelöscht, weil dieses gar nicht nötig war und ist.
Bei dem .tar.gz handelt es sich um das OpenZ System, dieses beinhaltet unter anderem einen Datenbank-Dump der im postinst in die Datenbank eingespeist wird und die kompletten Sourcen mit dem das System arbeitet. Mein Problem ist, dieses tar.gz an einen bestimmten Ort nach der Installation zu bekommen.
Testweise hatte ich probiert es mit equivs build zu erstellen, was auch ohne Probleme funktioniert. Dort kann man es direkt in die control Datei mit einpflegen.
Beim dpkg-buildpackage muss man das mit .dirs und .inst realisieren, wo ich doch einige Probleme mit habe. (Die Datei wird nicht an diesen Ort kopiert)

Ich hoffe Sie können mir diesbezüglich helfen.

Mit freundlichen Grüßen
dah
OpenZ


#6

Hallo,

sehen Sie sich hier zu Vergleichszwecken bitte einmal das univention-package-template in unserem WebSVN an.
Achten Sie hierbei besonders auf die die debian/rules und debian/univention-package-template.install

Mit freundlichen Grüßen,
Tim Petersen


#7

Hallo Herr Petersen,

vielen Dank für die Informationen, diese haben mir sehr geholfen beim Paket bauen.

Mit freundlichen Grüßen
dah
OpenZ