我正在打包一個 Debian 軟體包,它應該簡單地安裝一些原始程式碼/usr/src/bcm5974-4.2
和一個 X 配置檔案/usr/share/X11/xorg.conf.d
。它正確解壓縮配置文件,但似乎根本沒有安裝/usr/src/bcm5974-4.2
目錄。
我的項目可用在 GitHub 上這裡。我在用著氟PM用一個非常簡單的 Makefile 來打包它:
#!/usr/bin/make -f
PKG_NAME=bcm5974-4.2-dkms
PKG_VERSION=1.0.0
PKG_DESCRIPTION="Backported BCM-5974 module from kernel 4.2 including new MacBook hardware support."
MAINTAINER="NOPE"
all:
test -d build || mkdir build
fpm -f -s dir -t deb -n $(PKG_NAME) -v $(PKG_VERSION) -a all -p build/ \
-d dkms -d build-essential -d linux-headers-generic-lts-vivid \
-m $(MAINTAINER) --description $(PKG_DESCRIPTION) \
--post-install scripts/post-install.sh --pre-uninstall scripts/pre-uninstall.sh \
--post-uninstall scripts/post-uninstall.sh \
--deb-changelog CHANGELOG \
--exclude '.git*' usr/
這為我創建了一個漂亮的小 Debian 軟體包build/
:
$ dpkg-deb -c build/bcm5974-4.2-dkms_1.0.0_all.deb
drwx------ 0/0 0 2015-11-04 13:41 ./
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/share/
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/share/X11/
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/share/X11/xorg.conf.d/
-rw-rw-r-- 0/0 755 2015-11-04 13:40 ./usr/share/X11/xorg.conf.d/52-synaptics-bcm5974.conf
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/share/doc/
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/share/doc/bcm5974-4.2-dkms/
-rw-r--r-- 0/0 157 2015-11-04 13:41 ./usr/share/doc/bcm5974-4.2-dkms/changelog.Debian.gz
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/src/
drwxrwxr-x 0/0 0 2015-11-04 13:41 ./usr/src/bcm5974-4.2/
-rw-rw-r-- 0/0 237 2015-11-03 14:50 ./usr/src/bcm5974-4.2/Makefile
-rw-rw-r-- 0/0 32171 2015-11-03 14:50 ./usr/src/bcm5974-4.2/bcm5974.c
-rw-rw-r-- 0/0 246 2015-11-03 15:42 ./usr/src/bcm5974-4.2/dkms.conf
它似乎擁有我想要的一切,但它沒有將來源安裝到/usr/src
.我怎麼能讓它正確安裝來源/usr/src
?
答案1
事實證明,我的安裝前/安裝後/卸載腳本中存在一個錯誤,導致在錯誤的時間刪除內容。
例如,參見這:
rm -fr "/usr/src/$dkms_name-$dkms_version"
Debian prerm 鉤子在軟體包更新期間也會被調用,所以看起來這個腳本在安裝過程中刪除了我的來源目錄。