Ok, ich habe hier eine Antwort gefunden .
Die Lösung bestand darin postrm
, dies zu ändern :
#! /bin/sh if [ $1 = 'purge' ] then rm /usr/share/GeographicLib/gravity/wgs84.egm fi
CMakeLists.txt:
cmake_minimum_required(VERSION 3.7) project(sim-runtime) install(PROGRAMS $/sim-runtime-info DESTINATION bin) set(CPACK_GENERATOR "DEB") set(CPACK_PACKAGE_NAME sim-runtime) set(CPACK_PACKAGE_VERSION "1.5") set(CPACK_DEBIAN_PACKAGE_DEPENDS "geographiclib-tools") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "$/postinst;$/postrm") include(CPack)
postinst:
#! /bin/sh /usr/sbin/geographiclib-get-gravity wgs84
postrm:
#! /bin/sh rm /usr/share/GeographicLib/gravity/wgs84.egm
/usr/sbin/geographiclib-get-gravity
ist ein Skript, das von der geographiclib-tools
Abhängigkeit bereitgestellt wird . Wenn ich es in postinst anrufe, wird es heruntergeladen/usr/share/GeographicLib/gravity/wgs84.egm
Da dadurch eine verwaiste Datei erstellt wird, ist es sinnvoll, sie zu löschen, wenn das Paket deinstalliert wird. Deshalb habe ich den rm
Befehl in hinzugefügt postrm
.
dpkg -i sim-runtime-1.5-Linux.deb
funktioniert gut. postinst
lädt die Datenbanken entsprechend herunter und installiert alle Dateien. Dann:
stew@stewbian:~$ sudo dpkg -P sim-runtime (Reading database ... 228685 files and directories currently installed.) Removing sim-runtime (1.5) ... Purging configuration files for sim-runtime (1.5) ... rm: cannot remove '/usr/share/GeographicLib/gravity/wgs84.egm': No such file or directory dpkg: error processing package sim-runtime (--purge): subprocess installed post-removal script returned error exit status 1 Errors were encountered while processing: sim-runtime
Nachdem Sie diesen Befehl ausgeführt haben, sind alle vom Paket installierten Dateien gelöscht, die Datenbanken, in die wir heruntergeladen haben, postinst
sind nicht mehr vorhanden. Alles sieht gut aus, aber das Paket selbst wurde nicht als entfernt markiert.
postrm
aufgerufen wurden. Ich habe versucht zu entfernen postrm
. Das Paket wird ordnungsgemäß deinstalliert, die Datenbank bleibt jedoch verwaist.Wie kann eine Datei, die erstellt wurde, entfernt werden postinst
?
Ok, ich habe hier eine Antwort gefunden .
Die Lösung bestand darin postrm
, dies zu ändern :
#! /bin/sh if [ $1 = 'purge' ] then rm /usr/share/GeographicLib/gravity/wgs84.egm fi