Bagaimana cara mengetahui lokasi instalasi paket Debian di postinst / prerm?

2

Skrip pengelola paket Debian ( debian/postinst,, debian/prermdll.) 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 debuildkonfigurasikan paket dengan DESTDIR=""dan prefix=/usr.

Ya, meskipun tidak biasa untuk mengubah DESTDIRatau prefixnilai-nilai lain, tapi mungkin itu berguna.

Misalnya, jika paket saya diinstal ke /node-136/usr/local, di mana DESTDIR=/node-136dan prefix=/usr/local, tetapi bagaimana saya bisa mengetahuinya dalam debian/postinstskrip, sehingga saya dapat melakukan konfigurasi ke instalasi yang benar?

Xiè Jìléi
sumber
Bisakah Anda menyederhanakan itu sedikit? Agak membingungkan untuk dipahami.
digitxp
Saya telah menulis ulang pertanyaannya.
Xiè Jìléi
Saya tidak mengerti apa yang Anda coba lakukan di sini. DESTDIRdan prefixadalah pengaturan waktu kompilasi dan spesifik untuk cara tertentu menulis makefile. Mereka tidak ada hubungannya dengan postinstyang dieksekusi ketika paket diinstal.
Gilles
Sebagai contoh, jika saya ingin mengubah file config $(DESTDIR)/etc/myconfig, meskipun debuildselalu di set DESTDIRke string kosong pada waktu build, tetapi bisa berupa nilai lain. Salah satu resolusi, tambahkan debian/ ke SUBDIRSdalam Makefile.am, dan mengubah nama debian/postinstuntuk debian/postinst.indan mengacu pada @DESTDIR@/etc/myconfig. Tapi saya pikir itu tidak dianjurkan, karena debian/*ini bukan bagian dari sumber. Meskipun, DESTDIRdan prefixwaktu kompilasi, tetapi debian/tidak terlibat dalam kompilasi.
Xiè Jìléi

Jawaban:

0

Saya kira DESTDIR tidak digunakan di dh_make.

Xiè Jìléi
sumber