Michael Wallner [Thu, 3 Sep 2015 10:53:55 +0000 (12:53 +0200)]
s/CliCommand/Cli\Command/g
Michael Wallner [Thu, 3 Sep 2015 10:51:49 +0000 (12:51 +0200)]
s/CliArgs/Cli\Args/g
Michael Wallner [Thu, 3 Sep 2015 10:49:32 +0000 (12:49 +0200)]
no need for an array_column fallback, because our extensive yield <expr> usage already requires 5.5+
Michael Wallner [Thu, 3 Sep 2015 07:30:50 +0000 (09:30 +0200)]
check links and copy permissions
Michael Wallner [Thu, 3 Sep 2015 07:18:31 +0000 (09:18 +0200)]
let's updarte the pharext metadata, too
Michael Wallner [Wed, 2 Sep 2015 17:02:28 +0000 (19:02 +0200)]
bin/pharext.update merge=binary
Michael Wallner [Wed, 2 Sep 2015 15:46:44 +0000 (17:46 +0200)]
fix tests
Michael Wallner [Wed, 2 Sep 2015 15:01:37 +0000 (17:01 +0200)]
add bin/pharext.update
Updates the pharext code within an .ext.phar without the real need of re-packaging.
Usage:
$ ./bin/pharext.update [-hvq] [--] <path ...>
-h|--help Display this help
-v|--verbose More output
-q|--quiet Less output
--signature Show pharext signature
--license Show pharext license
--version Show pharext version
-- path Path to .ext.phar to update (REQUIRED) (MULTIPLE)
Michael Wallner [Wed, 2 Sep 2015 14:46:36 +0000 (16:46 +0200)]
support for positional args
Michael Wallner [Wed, 2 Sep 2015 09:56:38 +0000 (11:56 +0200)]
fix shebang
Michael Wallner [Tue, 1 Sep 2015 18:33:18 +0000 (20:33 +0200)]
Merge pull request #3 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
Michael Wallner [Tue, 1 Sep 2015 17:28:02 +0000 (19:28 +0200)]
more failure checks
Michael Wallner [Tue, 25 Aug 2015 15:13:22 +0000 (17:13 +0200)]
support for running .ext.phars without ext/phar
Michael Wallner [Wed, 19 Aug 2015 19:39:04 +0000 (21:39 +0200)]
remove hard dependency on ext/posix
The Gitter Badger [Thu, 6 Aug 2015 09:55:09 +0000 (09:55 +0000)]
Added Gitter badge
Michael Wallner [Mon, 15 Jun 2015 06:54:55 +0000 (08:54 +0200)]
trigger mirror
Michael Wallner [Wed, 20 May 2015 06:39:24 +0000 (08:39 +0200)]
back to dev
Michael Wallner [Wed, 20 May 2015 06:39:24 +0000 (08:39 +0200)]
release v4.0.0
Michael Wallner [Tue, 19 May 2015 13:32:44 +0000 (15:32 +0200)]
flush bin
Michael Wallner [Tue, 19 May 2015 13:32:23 +0000 (15:32 +0200)]
fix trailing newline in quiet mode
Michael Wallner [Mon, 18 May 2015 15:11:04 +0000 (17:11 +0200)]
fix basic sourcedir
Michael Wallner [Mon, 18 May 2015 13:20:52 +0000 (15:20 +0200)]
add Cli\Args\Help
Michael Wallner [Fri, 15 May 2015 10:52:54 +0000 (12:52 +0200)]
license helper
Michael Wallner [Fri, 15 May 2015 08:27:17 +0000 (10:27 +0200)]
fix build
Michael Wallner [Fri, 15 May 2015 08:18:01 +0000 (10:18 +0200)]
use a Metadata class
Michael Wallner [Fri, 15 May 2015 07:48:31 +0000 (09:48 +0200)]
use additional file_exists checks
Michael Wallner [Fri, 15 May 2015 07:44:35 +0000 (09:44 +0200)]
correctly bail out on non-existing INI file
Michael Wallner [Thu, 14 May 2015 16:59:06 +0000 (18:59 +0200)]
silence possible notices
Michael Wallner [Fri, 8 May 2015 10:09:50 +0000 (12:09 +0200)]
flush bin
Michael Wallner [Fri, 8 May 2015 10:09:03 +0000 (12:09 +0200)]
support for git tags/branches
Michael Wallner [Fri, 8 May 2015 08:54:09 +0000 (10:54 +0200)]
add Cli\Args::toArray()
Michael Wallner [Wed, 8 Apr 2015 10:17:40 +0000 (12:17 +0200)]
back to dev
Michael Wallner [Wed, 8 Apr 2015 10:17:40 +0000 (12:17 +0200)]
release v3.0.1
Michael Wallner [Wed, 8 Apr 2015 09:21:50 +0000 (11:21 +0200)]
fix stream progress notification with resetting bytes_max
Michael Wallner [Mon, 30 Mar 2015 20:10:13 +0000 (22:10 +0200)]
back to dev
Michael Wallner [Mon, 30 Mar 2015 20:10:13 +0000 (22:10 +0200)]
release v3.0.0
Michael Wallner [Mon, 30 Mar 2015 20:09:08 +0000 (22:09 +0200)]
fix verbose packaging
Michael Wallner [Mon, 30 Mar 2015 19:45:57 +0000 (21:45 +0200)]
filter {.git,.hg.svn}
Michael Wallner [Mon, 30 Mar 2015 19:19:05 +0000 (21:19 +0200)]
typo
Michael Wallner [Mon, 30 Mar 2015 09:31:26 +0000 (11:31 +0200)]
fix basic source dir
Michael Wallner [Mon, 30 Mar 2015 09:25:40 +0000 (11:25 +0200)]
fix for bug #64343
Michael Wallner [Sun, 29 Mar 2015 08:22:53 +0000 (10:22 +0200)]
basic source dirs && general tarball fixup
Michael Wallner [Sat, 28 Mar 2015 12:57:46 +0000 (13:57 +0100)]
consistent verbosity
Michael Wallner [Sat, 28 Mar 2015 10:58:36 +0000 (11:58 +0100)]
verbose packaging
Michael Wallner [Sat, 28 Mar 2015 10:58:10 +0000 (11:58 +0100)]
private tempnames
Michael Wallner [Sat, 28 Mar 2015 07:11:10 +0000 (08:11 +0100)]
fix for php-5.5
Michael Wallner [Sat, 28 Mar 2015 07:10:53 +0000 (08:10 +0100)]
fix for symlinks
Michael Wallner [Fri, 27 Mar 2015 19:47:35 +0000 (20:47 +0100)]
update README
Michael Wallner [Fri, 27 Mar 2015 19:08:44 +0000 (20:08 +0100)]
more refactoring; now the package hook starts to make sense
Michael Wallner [Wed, 25 Mar 2015 06:32:21 +0000 (07:32 +0100)]
CS
Michael Wallner [Tue, 24 Mar 2015 19:49:27 +0000 (20:49 +0100)]
consistent exit codes
Michael Wallner [Tue, 24 Mar 2015 19:35:23 +0000 (20:35 +0100)]
typo
Michael Wallner [Tue, 24 Mar 2015 19:34:30 +0000 (20:34 +0100)]
consistent help messages
Michael Wallner [Tue, 24 Mar 2015 18:15:57 +0000 (19:15 +0100)]
support for zend_extension
Michael Wallner [Tue, 24 Mar 2015 16:58:24 +0000 (17:58 +0100)]
major refactoring under the hood
Michael Wallner [Sun, 22 Mar 2015 14:52:21 +0000 (15:52 +0100)]
be more strict in what arguments to accept
Michael Wallner [Sun, 22 Mar 2015 08:13:42 +0000 (09:13 +0100)]
fix installer tempdir usage
Michael Wallner [Sun, 22 Mar 2015 08:09:29 +0000 (09:09 +0100)]
download progress, cleanups
Michael Wallner [Sun, 22 Mar 2015 06:08:35 +0000 (07:08 +0100)]
add ExecCmd and Tempdir
Michael Wallner [Sat, 21 Mar 2015 19:37:16 +0000 (20:37 +0100)]
support git clones and (PECL) package archives as sources
Michael Wallner [Sat, 21 Mar 2015 14:56:05 +0000 (15:56 +0100)]
support packages that have been pickle'd
Michael Wallner [Tue, 10 Mar 2015 10:38:16 +0000 (11:38 +0100)]
back to dev
Michael Wallner [Tue, 10 Mar 2015 10:38:16 +0000 (11:38 +0100)]
release v2.0.1
Michael Wallner [Mon, 9 Mar 2015 20:41:19 +0000 (21:41 +0100)]
back to dev
Michael Wallner [Mon, 9 Mar 2015 20:41:19 +0000 (21:41 +0100)]
release v2.0.0
Michael Wallner [Mon, 9 Mar 2015 20:40:50 +0000 (21:40 +0100)]
sed -i is not portable
Michael Wallner [Mon, 9 Mar 2015 20:24:57 +0000 (21:24 +0100)]
more links
Michael Wallner [Mon, 9 Mar 2015 20:14:40 +0000 (21:14 +0100)]
fail on error
Michael Wallner [Mon, 9 Mar 2015 20:10:35 +0000 (21:10 +0100)]
prepare 2.0
Michael Wallner [Mon, 9 Mar 2015 16:26:28 +0000 (17:26 +0100)]
preserve symlinks
Michael Wallner [Mon, 9 Mar 2015 14:48:29 +0000 (15:48 +0100)]
missing file
Michael Wallner [Mon, 9 Mar 2015 10:28:50 +0000 (11:28 +0100)]
INI file activation
Michael Wallner [Mon, 9 Mar 2015 10:26:44 +0000 (11:26 +0100)]
fix pharext_install.php generation
Michael Wallner [Mon, 9 Mar 2015 08:09:40 +0000 (09:09 +0100)]
fix tests
Michael Wallner [Mon, 9 Mar 2015 07:55:55 +0000 (08:55 +0100)]
merge=binary for bin/pharext
Michael Wallner [Sun, 8 Mar 2015 19:54:31 +0000 (20:54 +0100)]
use ls-tree instead of ls-files
Michael Wallner [Sun, 8 Mar 2015 19:42:03 +0000 (20:42 +0100)]
reorder code and files, remove the filtered source dir implementation
Michael Wallner [Sun, 8 Mar 2015 11:25:26 +0000 (12:25 +0100)]
openssl signing
Michael Wallner [Sun, 8 Mar 2015 11:26:10 +0000 (12:26 +0100)]
fix compressed phars
Michael Wallner [Fri, 6 Mar 2015 22:08:53 +0000 (23:08 +0100)]
back to dev
Michael Wallner [Fri, 6 Mar 2015 22:08:53 +0000 (23:08 +0100)]
release v1.1.0
Michael Wallner [Fri, 6 Mar 2015 22:06:45 +0000 (23:06 +0100)]
add tests
Michael Wallner [Fri, 6 Mar 2015 21:04:29 +0000 (22:04 +0100)]
update README
Michael Wallner [Fri, 6 Mar 2015 19:03:45 +0000 (20:03 +0100)]
Merge branch 'master' of github.com:m6w6/pharext
Michael Wallner [Fri, 6 Mar 2015 19:02:59 +0000 (20:02 +0100)]
cleanup
Michael Wallner [Fri, 6 Mar 2015 17:52:27 +0000 (18:52 +0100)]
fix exception when there's no pharext_install.php
Michael Wallner [Fri, 6 Mar 2015 15:51:57 +0000 (16:51 +0100)]
Ship your dependencies as phars inside the phar
Madness didn't stop, just have a look:
$ cd pecl_http.git
$ pharext -qps ../propro.git
$ pharext -qps ../raphf.git
$ pharext -qps .
$ ./pecl_http-2.4.0dev.ext.phar --sudo
Output:
Installing propro-1.0.1.ext.phar ...
Running phpize ... OK
Running configure ... OK
Running make ... OK
Running install ... OK
Cleaning up /tmp/propro-1.0.1.ext.phar.
54f9cbc1488a0 ...
Don't forget to activiate the extension in your php.ini!
Installing raphf-1.0.5.ext.phar ...
Running phpize ... OK
Running configure ... OK
Running make ... OK
Running install ... OK
Cleaning up /tmp/raphf-1.0.5.ext.phar.
54f9cbc148a50 ...
Don't forget to activiate the extension in your php.ini!
Installing pecl_http-2.4.0dev.ext.phar ...
Running phpize ... OK
Running configure ... OK
Running make ... OK
Running install ... OK
Cleaning up /tmp/pecl_http-2.4.0dev.ext.phar.
54f9cbc14869f ...
Don't forget to activiate the extension in your php.ini!
Michael Wallner [Fri, 6 Mar 2015 12:32:51 +0000 (13:32 +0100)]
better handling of sudo output
Michael Wallner [Fri, 6 Mar 2015 12:29:33 +0000 (13:29 +0100)]
simplify
Michael Wallner [Fri, 6 Mar 2015 10:45:17 +0000 (11:45 +0100)]
support --long-opt=arg
Michael Wallner [Fri, 6 Mar 2015 08:11:02 +0000 (09:11 +0100)]
Implement packager and installer hooks
==Packager hook
If not --pecl nor --git are explicitely given, look for a
pharext_install.php in --source. This script will be exectuted by the
Packager. It must return a callable with the following signature:
function(Packager $pkg, $path) : function(Packager $pkg, $path);
So, the callback should return another callable.
The primary callback is meant to set things like --name and --release,
so you don't have to on the command line; build automation FTW.
The secondary callback is meant to create the file iterator of the
source dir, but if you're in a git clone, you might easily just return a
new pharext\GitSourceDir and be done.
==Installer hook
The packager will look for a pharext_install.php file within the root of
the source dir. This script will be executed by the Installer; it must
return a callable with the following signature:
function(Installer $installer) : function(Installer $installer);
So, again, the callback should return another callable.
The primary callback is meant to add your own command line arguments to
the CliArgs parser, and the secnodary callback is meant to proccess
those args.
For --pecl source dirs a pharext_install.php script is automatically
generated from the package.xml.
==Examples for pecl_http
pharext_package.php
---8<---
<?php
namespace pharext;
return function(Packager $packager, $path) {
$args = $packager->getArgs();
$args->name = "pecl_http";
$args->release = current(preg_filter("/^.*PHP_PECL_HTTP_VERSION\s+\"(.*)\".*$/s", "\$1", file("../http.git/php_http.h")));
return function (Packager $packager, $path) {
return new GitSourceDir($packager, $path);
};
};
?>
--->8---
pharext_install.php
---8<---
<?php
namespace pharext;
return function(Installer $installer) {
$installer->getArgs()->compile([
[null, "with-http-zlib-dir", "Where to find zlib",
CliArgs::OPTARG],
[null, "with-http-libcurl-dir", "Where to find libcurl",
CliArgs::OPTARG],
[null, "with-http-libevent-dir", "Where to find libev{,ent{,2}}",
CliArgs::OPTARG],
[null, "with-http-libidn-dir", "Where to find libidn",
CliArgs::OPTARG],
]);
return function(Installer $installer) {
$opts = [
"with-http-zlib-dir",
"with-http-libcurl-dir",
"with-http-libevent-dir",
"with-http-libidn-dir",
];
$args = $installer->getArgs();
foreach ($opts as $opt) {
if (isset($args[$opt])) {
$args->configure = "--$opt=".$args[$opt];
}
}
};
};
?>
--->8---
Michael Wallner [Thu, 5 Mar 2015 14:56:22 +0000 (15:56 +0100)]
less noisy Makefile
Michael Wallner [Thu, 5 Mar 2015 14:35:32 +0000 (15:35 +0100)]
release target
Michael Wallner [Thu, 5 Mar 2015 14:27:09 +0000 (15:27 +0100)]
refactor some commonly used code into a trait
Michael Wallner [Thu, 5 Mar 2015 08:12:26 +0000 (09:12 +0100)]
do not exit on compression failure
Michael Wallner [Thu, 5 Mar 2015 08:09:28 +0000 (09:09 +0100)]
cleanup
Michael Wallner [Thu, 5 Mar 2015 08:03:13 +0000 (09:03 +0100)]
add CliArgsTest
Michael Wallner [Wed, 4 Mar 2015 19:18:27 +0000 (20:18 +0100)]
support concatenated short opts like -vps
Michael Wallner [Wed, 4 Mar 2015 19:10:02 +0000 (20:10 +0100)]
fix warning
Michael Wallner [Wed, 4 Mar 2015 19:06:57 +0000 (20:06 +0100)]
fix issue #1