Я упаковываю пакет Debian, который должен просто установить некоторый исходный код /usr/src/bcm5974-4.2
и файл конфигурации X в . Он правильно распаковывает файл конфигурации, но, похоже , вообще /usr/share/X11/xorg.conf.d
не устанавливает каталог ./usr/src/bcm5974-4.2
Мой проект доступенна GitHub здесь. Я используюfpmчтобы упаковать его с помощью довольно простого 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 также вызывается во время обновления пакетов, поэтому, похоже, этот скрипт удалял мой исходный каталог во время установки.