必要なPHPモジュールを使用してDebian用のPHP 7.1 .debパッケージを作成したいと思います。
私が従ったステップは次のとおりです。
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/
ここでは問題なくPHP 7.1をコンパイルできます。パッケージを作成したい場合は、次の手順に従ってください。
包装準備:
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
そのファイルの次の行を修正しましたBuild-Depends:
。
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
パッケージ:
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
結果:
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
ただし、ディレクトリとファイルはパッケージングプロセスですでに作成されています。
# ls /usr/lib/x86_64-linux-gnu/extensions
no-debug-non-zts-20160303
- 質問
包装プロセスは効果的ですか?
もしそうなら、エラーの原因は何ですか?
編集:@Stephen Kittの答えがトリックを行いました。これをしたくない場合は、空白ではなく物理テーブルを使用する必要があり、変更してdebuild -S -sa --lintian-opts -i
再実行することを忘れないでください。
bis編集:ここに新しい質問があります。生成された.debパッケージのインストール
ベストアンサー1
既存に使用しますDebian PHP 7.1 パッケージ代わりに...
とにかくあなたの質問に答えると、あなたが説明するパッケージングプロセスが機能します。正しく答えるためには、あなたdebian/control
とあなたのファイルをよく見なければなりませdebian/rules
んが、あなたが見るエラーは簡単に修正できます。 PHPソースコードではこれを使用せず、変数がDESTDIR
必要ですINSTALL_ROOT
。存在するdebian/rules
:
override_dh_auto_install:
dh_auto_install -- INSTALL_ROOT=$(CURDIR)/debian/php
バイナリパッケージを作成しているようですphp
。