Dies ist wieder eines dieser schönen Debian-Verpackungsprobleme.
Ich habe eine App, die nach / opt installiert wird (der Installationsort ist eigentlich irrelevant, dasselbe Problem tritt bei / usr auf):
OPT = 1 ./configure && make && make install
Ich habe ein funktionierendes Debian-Paket von meiner anderen App genommen, die CMake verwendete, aber die Konfiguration, Erstellung und Installation waren ähnlich. Ich habe die Regeldatei ein wenig geändert, um meine neue App zu erstellen:
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
OPT=1 ./configure && $(MAKE) -j$(shell cat /proc/cpuinfo | grep processor | wc -l)
touch build-stamp
Ich habe den Installationsteil unberührt gelassen:
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
# Add here commands to install the package into debian/<packagename>
DESTDIR=`pwd`/debian/`dh_listpackages` $(MAKE) install
Nun besteht das Problem darin, dass beim Installieren des Pakets versucht wird, zu installieren zum echten / opt und stürzt ab:
mkdir: cannot create directory ‘/opt/snm’: Permission denied
make[1]: *** [install_target] Error 1
make: *** [install] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1361:
dpkg-buildpackage -rfakeroot -D -us -uc -i -b failed
Ich kann einfach nicht herausfinden, warum meine Verpackung mit meiner neuen App nicht funktioniert. Oder alternativ, warum es mit der anderen App funktioniert hat :)
Antworten:
0 für die Antwort № 1Es scheint, dass mein Installationsschritt nur das DESTDIR ignorierte, das in der Debian-Regeldatei angegeben ist.