X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=README.md;h=dda399f7d145e6f0b09d016b56a595fab960d820;hb=f19ff9a5d4da63388654efd663f35ed2e08a8e4a;hp=017da751056e114f3f44f2c165a6affbe468f425;hpb=cb4a35c774767a175d035cec51d48abaf350bd14;p=pharext%2Fpharext diff --git a/README.md b/README.md index 017da75..dda399f 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,80 @@ # pharext -Distribute your PHP extension as self-installable phar executable +[![Join the chat at https://gitter.im/pharext/pharext](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pharext/pharext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -## About +Distribute your PHP extension as self-installable phar executable. See https://pharext.org -### Disclaimer +## About You don't need this package to install any `*.ext.phar` extension packages, just run them with php: - $ ./pecl_http-2.4.0dev.ext.phar + $ ./pecl_http-2.4.2.ext.phar -Or, if the execute permission bit got lost somehow: +For a compressed phar, or if the execute permission bit got lost somehow: - $ php pecl_http-2.4.0dev.ext.phar + $ php pecl_http-2.4.2.ext.phar.gz Command help: - $ ./pecl_http-2.4.0dev.ext.phar -h + $ ./pecl_http-2.4.2.ext.phar -h Yields: + pharext v3.0.0 (c) Michael Wallner + Usage: - - $ ./pecl_http-2.4.0dev.ext.phar [-h|-v|-q|-s] [-p|-n|-c ] - - -h|--help Display help - -v|--verbose More output - -q|--quiet Less output - -p|--prefix PHP installation directory [/usr] - -n|--common-name PHP common program name, e.g. php5 [php] - -c|--configure Additional extension configure flags - -s|--sudo [] Installation might need increased privileges [sudo -S %s] - -If your installation destination needs escalated permissions, have a look at the `--sudo` option: - - $ ./pecl_http-2.4.0dev.ext.phar --sudo - Running phpize ... OK - Running configure ... OK - Running make ... OK - Running install ... Password:············ - Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/ - Installing header files: /usr/include/php/ - OK + + $ ./pecl_http-2.4.2.ext.phar [-hvqs] [-p|-n|-c|-i ] + + -h|--help Display help + -v|--verbose More output + -q|--quiet Less output + -p|--prefix PHP installation prefix if phpize is not in $PATH, e.g. /opt/php7 + -n|--common-name PHP common program name, e.g. php5 or zts-php [php] + -c|--configure Additional extension configure flags, e.g. -c --with-flag + -s|--sudo [] Installation might need increased privileges [sudo -S %s] + -i|--ini Activate in this php.ini instead of loaded default php.ini + --signature Show package signature + --license Show package license + --name Show package name + --date Show package release date + --release Show package release version + --version Show pharext version + --enable-propro [] Whether to enable property proxy support [yes] + --enable-raphf [] Whether to enable raphf support [yes] + --with-http-zlib-dir [] Where to find zlib [/usr] + --with-http-libcurl-dir [] Where to find libcurl [/usr] + --with-http-libevent-dir [] Where to find libevent [/usr] + + +If your installation destination needs escalated permissions, have a look at [the `--sudo` option](https://github.com/m6w6/pharext/wiki/Usage-of-*.ext.phar-packages#privileges): + + Installing propro-1.0.1.ext.phar ... + Running phpize ... + Running configure ... + Running make ... + Running make install ... + Running INI activation ... + Extension already activated ... + Successfully installed propro-1.0.1.ext.phar! + Installing raphf-1.0.5.ext.phar ... + Running phpize ... + Running configure ... + Running make ... + Running make install ... + Running INI activation ... + Extension already activated ... + Successfully installed raphf-1.0.5.ext.phar! + Installing pecl_http-2.4.2.ext.phar ... + Running phpize ... + Running configure ... + Running make ... + Running make install ... + Running INI activation ... + Extension already activated ... + Successfully installed pecl_http-2.4.2.ext.phar! + ### Prerequisites @@ -52,76 +84,23 @@ The usual tools you need to build a PHP extension: A network connection is not needed. -### Not implemented - -* Dependencies -* Package description files - -## Installation for extension maintainers - - $ composer require --dev m6w6/pharext - -### Prerequisites: - -* make -* php + phar - -## Usage +## Extension maintainers - $ ./vendor/bin/pharext --pecl --source ../pecl_http.git +Download the pharext binary of the [latest release](https://github.com/pharext/pharext/releases/latest). -Yields: - - Creating phar ./pecl_http-2.4.0dev.ext.phar.54f6e987ae00f.tmp ... OK - Finalizing ./pecl_http-2.4.0dev.ext.phar ... OK - -Note that the PECL source can infer package name and release version from the package.xml. +Be aware that you need the [public key](https://github.com/pharext/pharext/wiki/Public-key) to run official `pharext` releases. -Another example using `git ls-files`: + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5x9bwisjDBDV/bwDiju2 + Ebx4kPir32WwT3+hxV0/qAPclA1WsrpcUJ7BChk+Rlz8ujOcyENTidgI1vj3oUpo + /P9XlLQOSrJHYz+AOg7qwhTe89xIJspS4gHHiXUAmxz0TyCNMbOyrLcjP5CmZdll + n+e3HP8Kfipr4XyWBhsKbdYUZ8Ga6IeFMYzNqCzWazcOasdCpsablmyrfCaZoJ0l + bFald0nF3/YoeYgo3fWb4Md9Xf/grpz8Ocqyq4OY49Vb0/p8FMwzBV6vbVh/eAV/ + jrP7L40Jw97nSBrP/5nK8Ylc5BayVRq/HhT3kLMC//zvPjb8xz3ZgVTQrwWTF3Zy + +wIDAQAB + -----END PUBLIC KEY----- - $ ./vendor/bin/pharext -v -g -s ../raphf.git --name raphf --release 1.0.5 +Place it as `pharext.pubkey` in the same directory where the `pharext` binary is located. IF you cloned the repository or installed `pharext` through composer, it is already at the right location. -Yields: - - Creating phar ./raphf-1.0.5.ext.phar.54f6ebd71f13b.tmp ... - Packaging .gitignore - Packaging CREDITS - Packaging Doxyfile - Packaging LICENSE - Packaging TODO - Packaging config.m4 - Packaging config.w32 - Packaging package.xml - Packaging php_raphf.c - Packaging php_raphf.h - Packaging raphf.png - Packaging tests/http001.phpt - Packaging tests/http002.phpt - Packaging tests/http003.phpt - Packaging tests/http004.phpt - OK - Finalizing ./raphf-1.0.5.ext.phar ... OK +Please have a look at the [wiki](https://github.com/pharext/pharext/wiki), to learn [how to use](https://github.com/pharext/pharext/wiki/Usage-of-the-pharext-packager) the pharext installer to package self-installing PHP extensions. -Command help: - - $ ./vendor/bin/pharext --help - -Yields: - - Usage: - - $ ./bin/pharext [-h|-v|-q|-g|-p] -s -n -r [-d ] - - -h|--help Display this help - -v|--verbose More output - -q|--quiet Less output - -s|--source Extension source directory (REQUIRED) - -g|--git Use `git ls-files` instead of the standard ignore filter - -p|--pecl Use PECL package.xml instead of the standard ignore filter - -d|--dest Destination directory [.] - -n|--name Extension name (REQUIRED) - -r|--release Extension release version (REQUIRED) - -## Rebuilding - - $ make -C vendor/m6w6/pharext