Hallo,
ich habe ein Paket "basis", das Applikationscode. Dann habe ich ein Paket "basis-apache2", das als Meta-Paket das Paket "basis" 'required' und zusätzlich Apache und Mysql installiert und das ganze konfiguriert, damit man eine laufende Webapplikation hat.
Nun möchte ich aber gerne das Paket "basis-apache2" ein wenig aufteilen, weil es in manchen fällen zu viel macht. Es aktiviert bspw. schon sites-enabled im Apache und deaktiviert andere aktive Webseiten.
Daher möchte ich gerne "basis-apache2" aufteilen in
* basis-apache2-config
* basis-mysql
die lediglich die Konfigurationen bereitstellen und das Paket "basis-apache2" soll dann diese Konfigurationen aktivieren.
Das Problem ist nun, dass ich basis-apache2 (alt), Konfigurationsdateien drinnen sind, die ich nun eigentlich in "basis-apache2-config" haben möchte.
Bei einem Upgrade bekommen ich die Fehlermeldungen
trying to overwrite 'somefile', which is also in package basis-apache2
Ich habe da mal mit dpkg-divert rumprobiert, um bei einem upgrade das "somefile" in Zukunft von basis-apache2-config liefern zu lassen.
Nun habe ich aber gelesen, dass man dpkg-divert bei conffiles nicht verwenden soll.
Was ist da so die Debianige Empfehlung?
Vielen Dank und Gruß
Cornelius
Paketbau: Paketaufspaltung. Conffile soll in anderes Paket
-
- Beiträge: 2
- Registriert: 16.04.2016 21:02:48
Re: Paketbau: Paketaufspaltung. Conffile soll in anderes Pak
Einerseits könntest Du mit 'dpkg --force-all -i' arbeiten.
Falls es um ein Repo geht, vielleicht ein transition-Paket basis-apache2,
Recommends: basis-apache2-config basis-mysql
ansonsten ein leerer dummy.
Falls es um ein Repo geht, vielleicht ein transition-Paket basis-apache2,
Recommends: basis-apache2-config basis-mysql
ansonsten ein leerer dummy.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 2
- Registriert: 16.04.2016 21:02:48
Re: Paketbau: Paketaufspaltung. Conffile soll in anderes Pak
Danke für Deine Antwort.
Das ganze liegt in einem Repository und die Benutzer ziehen Ihre updates ganz normal über apt-get upgrade.
Diese Transparenz möchte ich gerne beibehalten, deswegen kann ich da keinen force-Parameter nutzen.
Zur Zeit haben die basis-apache2 installiert. In dem Paket ist eine apache-config und eine mysql-config enthalten.
Nach dem update auf die neue Version soll es die Pakete geben
* basis-apache2 -> hier werden die Konfigurationen aktiviert
* basis-apache2-config -> hier ist nun die apache-config drinnen
* basis-mysql -> hier ist nun die mysql-config drinnen.
Das Problem ist aber, dass basis-apache2 die anderen Pakete requiren muss. Doch die lassen sich nicht installieren, weil zu dem Zeitpunkt apache-config oder mysql-config ja noch in dem alten, bereits installiertem basis-apache2 enthalten ist.
Was meinst Du mit dem transition-Paket?
Schönen Gruß
Cornelius
Das ganze liegt in einem Repository und die Benutzer ziehen Ihre updates ganz normal über apt-get upgrade.
Diese Transparenz möchte ich gerne beibehalten, deswegen kann ich da keinen force-Parameter nutzen.
Zur Zeit haben die basis-apache2 installiert. In dem Paket ist eine apache-config und eine mysql-config enthalten.
Nach dem update auf die neue Version soll es die Pakete geben
* basis-apache2 -> hier werden die Konfigurationen aktiviert
* basis-apache2-config -> hier ist nun die apache-config drinnen
* basis-mysql -> hier ist nun die mysql-config drinnen.
Das Problem ist aber, dass basis-apache2 die anderen Pakete requiren muss. Doch die lassen sich nicht installieren, weil zu dem Zeitpunkt apache-config oder mysql-config ja noch in dem alten, bereits installiertem basis-apache2 enthalten ist.
Was meinst Du mit dem transition-Paket?
Schönen Gruß
Cornelius
Re: Paketbau: Paketaufspaltung. Conffile soll in anderes Pak
Ich war davon ausgegangen, daßWas meinst Du mit dem transition-Paket?
basis-apache2 wegfallen sollte, was das Paketsystem erstmal nicht macht.Daher möchte ich gerne "basis-apache2" aufteilen in
* basis-apache2-config
* basis-mysql
Es gäbe dann die Möglichkeit, das Paket mit einem leeren Dummy höherer Version zu ersetzen,
im Debian-Jargon ein transition-Paket.
Es gäbe es weitere header Conflicts: / Replaces:, Bsp.:
Code: Alles auswählen
$ cat ftp-ssl_0.17.23+0.2-1+b1_amd64/control ftp_0.17-31_amd64/control
Package: ftp-ssl
Conflicts: ftp (>= 0.10)
Replaces: ftp (>= 0.10)
Provides: ftp
Package: ftp
Replaces: netstd
Hier aber soll basis-apache2 wohl gar nicht wegfallen.
Ein 'dist-upgrade' sollte das auflösen können.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")