Eu quero criar um pacote .deb do PHP 7.1 para o Debian com os módulos PHP que eu quero.
Aqui estão os passos que segui.
-
Fazendo download de fontes do PHP
wget http://fr2.php.net/get/php-7.1.7.tar.bz2/from/this/mirror
tar xvf mirror
mv mirror php_7.1.7.orig.tar.bz2
cd php-7.1.7/
Aqui eu posso compilar o PHP 7.1, sem problemas. Se eu quiser criar o pacote, sigo essas etapas:
-
Preparando a embalagem:
export DEBFULLNAME="Shanx Shanxou"
dh_make -e [email protected]
apt-get install debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap
vim debian/control
Nesse arquivo, modifico a linha Build-Depends:
com:
Build-Depends: debhelper (>= 9), autotools-dev, mawk, file, libxml2-dev:amd64, libxml2:amd64, bison, perl-modules, libfakeroot:amd64, perl, mime-support, libmagic1:amd64 , autoconf, build-essential, git-core, libbz2-dev, libcurl4-openssl-dev, libfreetype6-dev, libicu-dev, libjpeg-dev, libmcrypt-dev, libpng-dev, libpspell-dev, libreadline -dev, libssl-dev, libxml2-dev, pkg-config, libc-client-dev, libkrb5-dev, libpq-dev, libxslt-dev
-
A embalagem:
debuild -S -sa --lintian-opts -i
cd ..
pbuilder create
pbuilder update --extrapackages "libc-client-dev pkg-config libssl-dev libreadline-dev libpspell-dev libpng-dev libmcrypt-dev libjpeg-dev libfreetype6-dev libcurl4-openssl-dev libbz2-dev git-core mime-support libfakeroot bison libkrb5-dev libxml2-dev debhelper"
pbuilder build *.dsc
-
O resultado:
mkdir: cannot create directory '/usr/lib/x86_64-linux-gnu/extensions': Permission denied
mkdir: cannot create directory '/usr/lib/x86_64-linux-gnu/extensions/no-debug-non-zts-20160303': No such file or directory
Makefile:160: recipe for target 'install-modules' failed
make[1]: *** [install-modules] Error 1
make[1]: Leaving directory '/tmp/buildd/php-7.1.7'
dh_auto_install: make -j1 install DESTDIR=/tmp/buildd/php-7.1.7/debian/php AM_UPDATE_INFO_DIR=no returned exit code 2
debian/rules:22: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
E: Failed autobuilding of package
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env
I: removing directory /var/cache/pbuilder/build//14827 and its subdirectories
Mas o diretório e o arquivo foram criados pelo processo de empacotamento:
# ls /usr/lib/x86_64-linux-gnu/extensions
no-debug-non-zts-20160303
- As perguntas
O meu processo de embalagem é válido?
Se sim, quais poderiam ser as causas do erro?
EDIT: @Stephen Kitt respondeu o truque. Só para não, você tem que usar tabulações reais (não espaço) e não se esqueça de reexecutar debuild -S -sa --lintian-opts -i
após a modificação.
EDITbis: Nova pergunta aqui Instalando um pacote .deb criado