Skrip pengelola paket Debian ( debian/postinst
,, debian/prerm
dll.) Secara opsional dapat memiliki argumen versi lama / baru , tetapi tidak ada argumen instal tujuan. (Lihat Manual Kebijakan Debian )
Paket saya berbasis autotools (autoconf & automake) , saya kira debuild
konfigurasikan paket dengan DESTDIR=""
dan prefix=/usr
.
Ya, meskipun tidak biasa untuk mengubah DESTDIR
atau prefix
nilai-nilai lain, tapi mungkin itu berguna.
Misalnya, jika paket saya diinstal ke /node-136/usr/local
, di mana DESTDIR=/node-136
dan prefix=/usr/local
, tetapi bagaimana saya bisa mengetahuinya dalam debian/postinst
skrip, sehingga saya dapat melakukan konfigurasi ke instalasi yang benar?
DESTDIR
danprefix
adalah pengaturan waktu kompilasi dan spesifik untuk cara tertentu menulis makefile. Mereka tidak ada hubungannya denganpostinst
yang dieksekusi ketika paket diinstal.$(DESTDIR)/etc/myconfig
, meskipundebuild
selalu di setDESTDIR
ke string kosong pada waktu build, tetapi bisa berupa nilai lain. Salah satu resolusi, tambahkandebian
/ keSUBDIRS
dalamMakefile.am
, dan mengubah namadebian/postinst
untukdebian/postinst.in
dan mengacu pada@DESTDIR@/etc/myconfig
. Tapi saya pikir itu tidak dianjurkan, karenadebian/*
ini bukan bagian dari sumber. Meskipun,DESTDIR
danprefix
waktu kompilasi, tetapidebian/
tidak terlibat dalam kompilasi.Jawaban:
Saya kira DESTDIR tidak digunakan di dh_make.
sumber