Eu tenho uma pasta com a seguinte estrutura de pastas:
total 8
drwxr-xr-x 2 pi pi 4096 mar 21 19:08 DEBIAN
drwxr-xr-x 6 pi pi 4096 mar 21 18:02 usr
Dentro da pasta DEBIAN
:
-rw-r--r-- 1 pi pi 150 mar 21 18:05 changelog
-rw-r--r-- 1 pi pi 2 mar 21 18:05 compat
-rw-r--r-- 1 pi pi 516 mar 21 18:05 control
-rw-r--r-- 1 pi pi 13774 mar 21 18:05 copyright
-rwxr-xr-x 1 pi pi 1396 mar 21 20:45 postinst
-rwxr-xr-x 1 pi pi 919 mar 21 19:08 postrm
-rwxr-xr-x 1 pi pi 679 mar 21 19:08 preinst
-rwxr-xr-x 1 pi pi 866 mar 21 19:08 prerm
O arquivo postinst
é o seguinte:
#!/bin/sh
# postinst script for cpython
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> 'configure' <most-recently-configured-version>
# * <old-postinst> 'abort-upgrade' <new version>
# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
# <new-version>
# * <postinst> 'abort-remove'
# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
# <failed-install-package> <version> 'removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
#echo "postinst called with unknown argument \'$1'" >&2
#exit 1
;;
esac
ln -sf XXX YYY
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
exit 0
Os scripts foram copiados para essa pasta com o comando dh_installdeb
de package.postinst
, package.postrm
, package.preinst
, package.prerm
. (esses arquivos foram gerados com o comando dh_make -f
).
Quando executo fakeroot dpkg-deb --build python3.6
para criar o .deb
, ele cria o .deb
, mas quando tento instalá-lo ele não executa postinst
(ele não cria o link simbólico que aparece no script).
Uma coisa estranha é que na pasta DEBIAN
, o script contém o seguinte:
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
Se eu extrair o conteúdo do .deb
gerado e inspecionar o arquivo postinst
, observo a mesma mensagem:
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
Essa linha me faz pensar que estou esquecendo algo ou fazendo algo errado.
Por que meu script postinst
não é executado após o comando sudo dpkg -i xxx.deb
?
Tags debian deb debian-installer