Checkinstall Script bei der Deinstallation eines Pakets

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
hawkeye78
Beiträge: 430
Registriert: 10.09.2004 17:02:01
Wohnort: castrop-rauxel

Checkinstall Script bei der Deinstallation eines Pakets

Beitrag von hawkeye78 » 15.06.2010 15:06:09

Hallo,

auch auf der Risiko hin den mitlesenden anderen Usern auf den Nerv zu gehen habe ich wieder einmal Problem mit checkinstall bzw. mit der Erstellung eines Makefiles.
ich versuche derzeit ein Makefile dahin gehend zu erweitern das vor der Installation eines binaries (das eigentlich nur an einen anderen Ort kopiert wird) ein shell Script ausgeführt wird das die /etc/profiles um eine Umgebungsvariable erweitert, was auch funktioniert nachdem ich die Zeile aus dem Bashscript heraus genommen habe und direkt in das makefile eingefügt habe.
Nun stehe ich allerdings vor dem Problem wie bekomme ich die zeile aus der /etc/profiles/ wieder heraus wenn ich das Programm deinstalliere ich habe bereits versucht das ganze um das target uninstall im makefile zu erweitern. Allerdings läuft das ganze nicht so wie ich mir das vorstelle darum wäre ich über einen kleinen Tipp was ich falsch mache sehr dankbar. Mein Makefile schaut im moment so aus:

Code: Alles auswählen

install: 
        if [ ! -d /opt/mein/programm ]; then \
                touch /home/steffen/foobar ; install -D /home/steffen/mein/programm/bla.bin; /opt/mein/programm/bla.bin ; fi

uninstall:
        mv foobar goodbye ;
vielleicht sollte ich an der Stelle noch erwähnen das ich touch und mv als Platzhalter benutze bis ich verstanden habe wie man so etwas mit makefiles baut den vorher sehe ich da wenig sinn drin mir gedanken um die sed o.ä. Anweisungen zu machen.
ich wäre wie gesagt über einen kleinen Tipp was ich falsch mache auf jeden Fall sehr dankbar.
Viele Grüsse
Dan
I love deadlines. I like the whooshing sound they make as they fly by - Douglas Adams

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Checkinstall Script bei der Deinstallation eines Pakets

Beitrag von rendegast » 15.06.2010 17:43:43

Eine Idee:
In /etc/profile wird angefügt:

Code: Alles auswählen

. /etc/profile.d/*
In dem Verzeichnis kannst Du dann Dateien hinzufügen oder löschen,
für Dein Installskript bleibt nur die Aufgabe, auf Vorhandensein obiger Zeile zu prüfen.

Formal leicht anders mit 'include', in /etc/profile hinzufügen

Code: Alles auswählen

include /etc/profile.deindatei
mit den Einstellungen in /etc/profile.deindatei.
Beim Entfernen

Code: Alles auswählen

sed -i '@^include /etc/profile.deindatei$@@' /etc/profile
rm /etc/profile.deindatei
(sed muß dabei das "In-Place"-Ändern mittels '-i' erlauben)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten