Я пытаюсь создать RPM для простого развертывания модуля geoip php на машинах AWS. RPM, наряду с другими, будет размещаться на частном репо, доступном только для этих машин. Это требование программного обеспечения, которое я использую, поэтому давайте оставим его на Мне это нужно.Не удается найти .so при попытке построить rpm для модуля расширения php pecl (geoip)
Моя первая попытка была
$ pecl makerpm geoip
WARNING: "pear makerpm" is no longer available; an improved version is available via "pear make-rpm-spec", which is available by installing PEAR_Command_Packaging
Справедливо, давайте установим этот PEAR_Command_Packaging
сделку и продолжить ...
$ pecl install PEAR_Command_Packaging
No releases available for package "pecl.php.net/PEAR_Command_Packaging"
install failed
Хорошо, я мог бы поклясться, мне сказали, чтобы установить это, но давайте попробуем pear
:
$ pear install PEAR_Command_Packaging
Failed to download pear/PEAR_Command_Packaging within preferred state "stable", latest release is version 0.3.0, stability "alpha", use "channel://pear.php.net/PEAR_Command_Packaging-0.3.0" to install
install failed
Стабильность alpha Хмм ... хорошо, посмотрим, насколько они активны! По данным their site проект не активирован, и последняя активность была в апрель 2012 ... это не будет сделано.
С этой аллеей закрыт, я смотрю на самом pecl
команды, которая, кажется, предлагает скачать, сборки и установить. Я не хочу install
, потому что я только что делает RPM здесь, но download
и build
уверен выглядеть удобно:
$ pecl download geoip-1.0.8
downloading geoip-1.0.8.tgz ...
Starting to download geoip-1.0.8.tgz (10,061 bytes)
.....done: 10,061 bytes
File /home/user/workspace/geoip-rpm-spec/geoip-1.0.8.tgz downloaded
Prep его для создания ...
$ pecl bundle geoip
downloading geoip-1.0.8.tgz ...
Starting to download geoip-1.0.8.tgz (10,061 bytes)
.....done: 10,061 bytes
Package ready at '/home/user/workspace/geoip-rpm-spec/geoip'
Теперь мы строим!
$ pecl build geoip/package.xml
running: phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
building in /var/tmp/pear-build-userttUJNa/geoip-1.0.8
... <snip/>
running: find "/var/tmp/pear-build-userttUJNa/install-geoip-1.0.8" | xargs ls -dils
264791 4 drwxrwxr-x 3 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8
265361 4 drwxrwxr-x 3 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr
265362 4 drwxrwxr-x 3 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64
265363 4 drwxrwxr-x 3 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64/php
265409 4 drwxrwxr-x 3 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64/php/5.6
265444 4 drwxrwxr-x 2 user user 4096 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64/php/5.6/modules
265358 68 -rwxr-xr-x 1 user user 67772 Oct 1 18:33 /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64/php/5.6/modules/geoip.so
Итак, я должен быть в состоянии найти мой geoip.so
в /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8/usr/lib64/php/5.6/modules/geoip.so
, верно?
$ ls -al /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8
ls: cannot access /var/tmp/pear-build-userttUJNa/install-geoip-1.0.8: No such file or directory
$ ls -al /var/tmp/pear-build-userttUJNa
ls: cannot access /var/tmp/pear-build-userttUJNa: No such file or directory
WRONG!
Где находится .so, что претензия build
требует создать? На этом компьютере нет файла. Единственный способ, которым я смог получить проклятый .so, был запущен командой install
, но этот не является машиной, которая нуждается в модуле.
Я делаю что-то неправильно здесь?