Estou empacotando um pacote Debian que deveria simplesmente instalar algum código-fonte /usr/src/bcm5974-4.2
e um arquivo de configuração X em /usr/share/X11/xorg.conf.d
. Ele descompacta o arquivo de configuração corretamente, mas parece não instalar o /usr/src/bcm5974-4.2
diretório.
Meu projeto está disponívelno GitHub aqui. estou a usarpmpara empacotá-lo com um Makefile bem simples:
#!/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/
Isso cria um pequeno pacote Debian para mim em 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
Parece ter tudo o que eu quero, mas não instala os fontes no /usr/src
. Como posso instalar as fontes /usr/src
corretamente?
Responder1
Acontece que houve um bug em meus scripts de pré/pós-instalação/desinstalação que fez com que coisas fossem removidas nos momentos errados.
Veja, por exemplo,esse:
rm -fr "/usr/src/$dkms_name-$dkms_version"
O gancho prerm do Debian também é chamado durante as atualizações de pacotes, então parece que este script estava removendo meu diretório de origem durante a instalação.