Commit Graph

617 Commits

Author SHA1 Message Date
Greg Beaver
c6fe26af37 windows fixes (thanks Steph you rule) 2007-12-14 05:39:20 +00:00
Greg Beaver
16c8adf0c1 fix test 2007-12-14 05:22:53 +00:00
Greg Beaver
38bf150e4d remove stupid*$(# debug code 2007-12-14 05:00:59 +00:00
Greg Beaver
2c77090174 better fix, revert unintentional commit to Makefile.frag 2007-12-14 04:10:14 +00:00
Greg Beaver
63f3d5958d fix build on windows, fix segfault in tsrm by uninitialized pointer 2007-12-14 04:08:34 +00:00
Greg Beaver
3b356d5ed8 new test
now, SplDirectoryIterator can be used directly with Phar->buildFromIterator() in order to populate the
files in a phar archive.  When combined with a RegexIterator and other filters, it becomes very easy to create
a phar archive with 1 line of code
[DOC]
2007-12-13 05:22:06 +00:00
Greg Beaver
6e78306595 new test 2007-12-13 01:20:25 +00:00
Greg Beaver
d243f9ff99 code re-organize to make it more logical 2007-12-13 01:16:56 +00:00
Greg Beaver
4f2d1674ca new test 2007-12-13 01:14:13 +00:00
Greg Beaver
c1a6037cf2 fix test, new test 2007-12-13 01:12:10 +00:00
Greg Beaver
38b35f1448 Phar->buildFromIterator: fix another mem leak, fix test 2007-12-13 01:05:59 +00:00
Greg Beaver
5051732d4c kill 1 memleak 2007-12-13 01:01:27 +00:00
Greg Beaver
463731e2de Phar->buildFromIterator: use spl_iterator_apply(), add 4 tests (mem leaks not yet fixed in the 4th) 2007-12-13 00:54:15 +00:00
Greg Beaver
5af85b4f8f implement Phar::buildFromIterator()
first argument is an iterator that returns as values paths to files to add to the phar archive
the key should be the path that the file should be saved as within the phar archive
if the optional second parameter is passed, then the key is ignored and substr(value, strlen(base_directory)) is
used as the save path within the phar archive
[DOC]
2007-12-12 18:01:40 +00:00
Greg Beaver
8a614e30db use thread-safe global var to store zend_compile_file, and restore the current zend_compile_file, not the one we
found in MINIT
2007-12-11 19:28:35 +00:00
Greg Beaver
47d859ced2 use stream_copy_to_stream again, figured out how to make the stupid filters work 2007-12-11 19:21:01 +00:00
Greg Beaver
f8fc8fbd69 fix test in 5.3+ 2007-12-11 19:19:47 +00:00
Greg Beaver
30fa2bda71 add note about new include functionality 2007-12-11 03:12:42 +00:00
Greg Beaver
688aef57f8 add the ability to automatically resolve includes inside a phar to files within that phar, so
no code modification is needed to include/require
2007-12-09 21:57:44 +00:00
Greg Beaver
84c3c96754 add helper phars for test 2007-11-25 05:25:04 +00:00
Greg Beaver
48ca9c876c new test to verify signature algo parsing works 2007-11-25 05:24:50 +00:00
Greg Beaver
38fc1fbc35 new test for dir iteration (covers some code missing in gcov tests) 2007-11-25 05:15:50 +00:00
Greg Beaver
4bcb68a4e8 fix errors found in delMetaData(), add get/delMetaData() to MetaData read test 2007-11-25 05:04:40 +00:00
Greg Beaver
4f34a69ad0 new test for Phar::getModified() 2007-11-25 04:54:36 +00:00
Greg Beaver
6b3562c107 new test for no signature 2007-11-25 04:52:49 +00:00
Greg Beaver
634edbe97a fix test expected output 2007-11-25 04:49:53 +00:00
Greg Beaver
8fa1a31626 MFB fix to test 2007-11-25 04:48:14 +00:00
Greg Beaver
0a4d447b28 add new tests for Phar::getSupportedCompression 2007-11-25 04:43:01 +00:00
Greg Beaver
e34be4f8bc preliminary work on using gnupg to verify/create signatures - no implementation, just phpinfo() output and build rules 2007-11-24 04:30:08 +00:00
Greg Beaver
bdff161e87 WS (spaces instead of tabs) 2007-11-24 04:09:01 +00:00
Greg Beaver
0034b47c83 experimental support for optional bz2 extension - should make windows users a whole lot happier (forgot w32) 2007-11-24 04:07:07 +00:00
Greg Beaver
a72251be6e experimental support for optional bz2 extension - should make windows users a whole lot happier 2007-11-24 04:06:44 +00:00
Marcus Boerger
4b18c23fd1 - Improve make pharcmd
- Add -b to pack and stub-set commands of phar.phar
2007-11-23 16:44:04 +00:00
Marcus Boerger
d339ebc10f - WS 2007-11-23 13:50:20 +00:00
Greg Beaver
2d13f86703 MFB fixes to phar.phar 2007-11-23 05:51:59 +00:00
Greg Beaver
b21f49c7c7 MFB fixes for tests 2007-11-22 05:47:28 +00:00
Marcus Boerger
5be76b1a85 - Add phar.phar to package 2007-11-20 15:55:37 +00:00
Greg Beaver
43c7e6fa3b fix faulty logic on verification of phar 2007-11-20 05:34:35 +00:00
Greg Beaver
be023d6f62 much better fix for the problem of phar://c:\path\to\blah.phar
don't use php_parse_url() at all, and always unixify paths on copied strings.
our modification was modifying the zval original string, so a user would pass in
phar://c:\path\to\blah.phar

and their string would change to phar://c:/path/to/blah.phar - bad.

Now using

include 'phar://' . __FILE__ . '/index.php';

works on both unix and windows seamlessly, as well as $a = new Phar(__FILE__)

for use in the loader stub
2007-11-19 23:10:05 +00:00
Greg Beaver
a9af692645 make phar use this build's PHP instead of global PHP [gopal] 2007-11-17 05:50:00 +00:00
Greg Beaver
9d7d44d60c typo 2007-11-16 04:17:37 +00:00
Greg Beaver
4a86b3d6ea Ensure that the same phar can be referenced in multiple logical ways:
1) full path, with \ or / path separator
2) relative path to getcwd()

This should fix the last remaining windows-related quirks as well as similar problems
on unix
2007-11-15 05:21:11 +00:00
Greg Beaver
999961f080 begin win32 fixes for Phar object - still have a problem I can't track down yet, but it's only a matter of time before it is killed too
when passing in a full path with drive letter to the Phar object, we were
then passing "phar://C:/path/to/blah.phar" to php_parse_url(), which
thinks it is getting a valid url scheme "phar", host "C" path "/path/to/blah.phar"

we now pass "phar:///C:/path/to/blah.phar" to make it fail, and then properly
parse the url inside phar
2007-11-13 05:57:14 +00:00
Marcus Boerger
0e83c5c37a - fix more variable stuff 2007-11-06 14:49:15 +00:00
Marcus Boerger
74fe7a1e20 - fix tests 2007-11-06 14:47:11 +00:00
Greg Beaver
6d98d843af fix TSRM, a couple of compile warnings on windows, and test 2007-10-18 19:47:24 +00:00
Greg Beaver
eb67969b73 fix Bug #12124: Phar object cannot be iterated over
remove unused variables
fix jit file open sprintf calls
2007-10-04 03:33:21 +00:00
Greg Beaver
07c509935c fix phar to work with PHP 5.3 2007-10-04 02:24:49 +00:00
Greg Beaver
33347b19f2 when opening an internal file read-only, recycle the phar archive's fp. This makes phar twice as fast (2.21x according to callgrind) 2007-08-30 02:30:16 +00:00
Greg Beaver
ccb840fb92 add missing /* }}} */ 2007-08-25 01:36:21 +00:00
Greg Beaver
543ad01efd move to 1.3.0 development
add Phar::delete()
2007-08-25 01:32:35 +00:00
Greg Beaver
0a13146bbe prepare release 2007-08-25 01:04:49 +00:00
Greg Beaver
5178a94545 add test for pre-existing alias failure, fix source to fail if alias already exists 2007-08-23 23:23:26 +00:00
Greg Beaver
0bd0d85673 implement Phar->setAlias() 2007-08-23 04:49:39 +00:00
Greg Beaver
5d8919938d fix issue with large number of open file handles killing php with large phars on creation
- close file handles that have no references for entries
- add just-in-time re-processing of file handles
- make sure file size is set in renaming
- add old_flags to phar_entry_info so we can decompress when flushing a modified entry whose fp is closed
2007-08-17 04:47:50 +00:00
Greg Beaver
a7d7b956f9 fix dump_entry 2007-08-17 04:46:04 +00:00
Greg Beaver
c6fee51126 add dump_entry 2007-08-16 19:56:02 +00:00
Greg Beaver
d43eaabd1e add docs 2007-08-15 23:37:13 +00:00
Greg Beaver
417b2cfb5e make pharglobals hidden func 2007-08-15 23:35:27 +00:00
Greg Beaver
2211e8e14f add fp and refcount display 2007-08-15 23:34:37 +00:00
Greg Beaver
46db4d3f65 add helper functions for gdb debugging phar reference counting (needs more work, but a good start) 2007-08-15 03:49:44 +00:00
Greg Beaver
d3426be1c3 fix several mis-spelled 'temporary's add missing space in comment, and change 'script end' to 'stub end' in manifest read error messages 2007-06-01 03:48:17 +00:00
Marcus Boerger
7ecc0f7fad - Fix memory issue 2007-05-31 06:55:14 +00:00
Marcus Boerger
177af83fa9 - Add -p to stub-set command 2007-05-30 17:25:41 +00:00
Marcus Boerger
afb43b7110 - Need to readd this but do it as a echo 2007-05-30 17:13:17 +00:00
Marcus Boerger
6dc9be0590 - Minor fix 2007-05-30 17:00:06 +00:00
Marcus Boerger
6b8f480c45 - This is not needed here 2007-05-30 16:50:22 +00:00
Marcus Boerger
bd93265e8f - Skip precommand 'phar.php' and keep a pre-built phar.phar in cvs 2007-05-30 16:45:23 +00:00
Marcus Boerger
4098ac4c25 - Fix test 2007-05-29 09:13:57 +00:00
Marcus Boerger
490e076b22 - Improve header of pharcommand 2007-05-29 09:08:41 +00:00
Marcus Boerger
387c82fc87 - Precise dependencies 2007-05-29 08:50:17 +00:00
Marcus Boerger
3a21fe9ab3 - Add make target for precommand 2007-05-28 21:20:06 +00:00
Marcus Boerger
7c9d3a5745 - Provide ascriptto build phar.php from phar directory
- Fix minor issues
- Make pack -p also add phar/phar.incto the generated package
2007-05-28 21:13:58 +00:00
Marcus Boerger
38bb8cb5af - Fix invalid efree() call 2007-05-28 21:04:42 +00:00
Marcus Boerger
17feef6b6c - Turn the loader into a stream wrapper if necessary 2007-05-28 19:04:08 +00:00
Marcus Boerger
511bd55758 - Make compatible with PEAR/PHP_Archive CVS 2007-05-28 18:07:49 +00:00
Marcus Boerger
c5bf6e8cc4 - Add 'Stub-size' to info command 2007-05-28 16:00:41 +00:00
Marcus Boerger
57c5921389 - Oops 2007-05-28 15:58:21 +00:00
Marcus Boerger
f1faa5d558 - It is more unlikely to be looking for files named '0' or '1' and those
are also quite intuitive if seeing them as return value of the search.
2007-05-28 15:52:36 +00:00
Marcus Boerger
287bb49cc8 - Actually allow pack -p optional for precommand 2007-05-28 15:38:29 +00:00
Marcus Boerger
90fa848671 - Notice about missing class file when using pack -p optional 2007-05-28 15:32:21 +00:00
Marcus Boerger
0dd84bb275 - Notice about missing class file when using pack -p optional 2007-05-28 15:26:26 +00:00
Marcus Boerger
a8f99022ef - WS 2007-05-28 15:21:53 +00:00
Marcus Boerger
54c83b037c - Implement auto/optional for pack -p 2007-05-28 15:20:31 +00:00
Marcus Boerger
79a4814f0e - Add target pharcmd as shortcut for ...phar.phar 2007-05-28 10:09:44 +00:00
Marcus Boerger
72b487894f - Update 2007-05-27 16:58:23 +00:00
Marcus Boerger
096e123f2d - Verify stub
- Automatically cut off stub after __HALT_COMPILER();
- Always write longest stub ending, so there is no issue with length field
- Add test for setStub from file
- Fix tests
2007-05-27 16:54:37 +00:00
Marcus Boerger
1ffeecf6fa - Update 2007-05-27 15:50:23 +00:00
Marcus Boerger
ac05df4759 - For errors "internal corruption of phar ... (truncated manifest)" be more
precise about reason of failure, seperating all error strings
- Fix issue with writing compressed entries
- Fix issue with uncompressing entries
2007-05-27 15:47:52 +00:00
Marcus Boerger
4518f74102 - Fix stub file 2007-05-25 09:33:54 +00:00
Marcus Boerger
b2a18cc7db - Type was meant to be named typ on purpose - change back 2007-05-24 22:07:45 +00:00
David Coallier
0a38b81885 - Fixed few bugs
- Made sure that the word type[s] is correctly written and not typ*
2007-05-24 08:42:23 +00:00
David Coallier
147390b2d2 -- Added the cli_cmd_inf_meta_del function back in. 2007-05-24 08:40:40 +00:00
David Coallier
ca5eae898b - Added comments to each functions
- Fixed all the typ[s]*_ to type[s]*_
2007-05-24 08:36:13 +00:00
Marcus Boerger
e5527ea5d8 - Update 2007-05-21 16:46:19 +00:00
Marcus Boerger
4fdef4b510 - Provide error function in base class
- Add add and delete subcommands
- Add -l to pack and add subcommands
2007-05-21 16:45:56 +00:00
Marcus Boerger
0492e34462 - Fix Inheritance 2007-05-21 16:44:24 +00:00
Marcus Boerger
f2cec0600c - Make Pahr::loadPhar() and Phar::mapPhar() respect extract list 2007-05-21 16:43:53 +00:00
Marcus Boerger
a1975735a9 - Update 2007-05-20 22:16:19 +00:00
Marcus Boerger
7e1ba8bffb - Fix the fix 2007-05-20 22:14:07 +00:00
Marcus Boerger
73ddcc1fd2 - Fix shutdown 2007-05-20 21:46:54 +00:00
Marcus Boerger
20d2f3f42d - This test needs to write 2007-05-20 18:34:17 +00:00
Marcus Boerger
05459db504 - Better handling of alias = NULL 2007-05-19 16:06:49 +00:00
Marcus Boerger
27ca5af569 - Increment extension version 2007-05-18 17:54:24 +00:00
Marcus Boerger
611aa32fee - Update TODO 2007-05-18 17:53:32 +00:00
Marcus Boerger
d4988e2d1e - Make phar class optional, allowing PHP_Archive instead 2007-05-18 17:53:07 +00:00
Marcus Boerger
8e561453ec - Add Phar::getAlias() 2007-05-18 17:50:39 +00:00
Marcus Boerger
a56e04ea5f - Make alias optioal and return it in info command 2007-05-18 17:49:16 +00:00
Marcus Boerger
c1c9d21ec4 - Add Phar::isValidPharfilename() really 2007-05-18 05:48:20 +00:00
Marcus Boerger
4750d997bf - Update package to version 1.2.0 2007-05-18 04:38:09 +00:00
Marcus Boerger
6cbfd2271f - Drop RINIT completely (as discussed @ php|tek) 2007-05-18 04:31:39 +00:00
Marcus Boerger
ba9ec2cc7f - Update todo
- Drop EXPERIMENTAL
2007-05-18 04:28:48 +00:00
Marcus Boerger
4313bce995 - Get rid of RINIT completely 2007-05-16 23:20:31 +00:00
Marcus Boerger
5e3af23d20 - Reduce overhead of Phar's RINIT 2007-05-16 23:16:51 +00:00
Marcus Boerger
6365d3e06a - Include 'class Phar extends PHP_Archive {}' when using -p 2007-05-16 23:00:18 +00:00
Marcus Boerger
d77c8b0fa7 - Add support to include PHP_Archive when using pack 2007-05-16 22:56:43 +00:00
Marcus Boerger
669fa0b796 - Update after conference discussions 2007-05-16 22:32:23 +00:00
Marcus Boerger
e40ed58b01 - Add ability to extract a single value from info command 2007-05-16 20:48:41 +00:00
Marcus Boerger
aaed58e0ab - Add -k to meta-* commands 2007-05-16 20:42:20 +00:00
Marcus Boerger
387499952c - Add -k to support direct metadata array-key extraction 2007-05-16 19:15:32 +00:00
David Coallier
a4bc40e970 - Fixed small bug (if (Phar::canWrite()) then die, which should really be:
if (!Phar::canWrite())
2007-05-16 04:05:41 +00:00
David Coallier
2d3dad05de - Quickly reorganized some of the arguments array syntax. 2007-05-15 23:46:21 +00:00
Marcus Boerger
d12dfcade7 - Use Phar::isValidPharFilename
- Better output of compression ratio
- Add ability to work on global metadata
- Minor updates
2007-05-15 20:46:27 +00:00
Marcus Boerger
4dfa232bf9 - Add forward declaration 2007-05-15 20:43:24 +00:00
Marcus Boerger
b83a515920 - Add Phar::delMetadata()
- Add Phar::hasMetadata()
- Add Phar::isValidPharFilename()
2007-05-15 20:42:38 +00:00
Marcus Boerger
004932e11d - Add Phar::delMetadata()
- Add Phar::hasMetadata()
- Add Phar::isValidPharFilename()
2007-05-15 20:21:19 +00:00
Marcus Boerger
a618c823f2 - Add compression ratio to info command 2007-05-15 16:39:19 +00:00
Marcus Boerger
80d27f2b5b - Add help-list command 2007-05-15 16:39:01 +00:00
Marcus Boerger
6b349de774 - Fix compalg argument handling and merge it to preliminary phar command
- Improve command info
2007-05-15 16:28:15 +00:00
Marcus Boerger
580a5cf2ea - Align output of info command 2007-05-15 15:41:03 +00:00
Marcus Boerger
85e02bbee8 - Better hint that you can get help to a specific command 2007-05-15 15:34:50 +00:00
Marcus Boerger
9deb0ca94f - Add auto compression mode to phar command and use it in Makefile.frag
- Allow parameter types to be based on select type
- Allow to use compress command for selected entries
2007-05-15 15:33:24 +00:00
Marcus Boerger
1ab96f2d04 - Drop commented line 2007-05-14 19:36:44 +00:00
Marcus Boerger
16e27c5aad - Fix main metadata handling, prefix main metadata with main 2007-05-14 19:36:09 +00:00
Marcus Boerger
440691899c - Optimize flushing, don't generate metadata twice 2007-05-14 19:14:00 +00:00
Marcus Boerger
c9c5dbbd8d - Unoptimized fix for metadata writing 2007-05-14 18:59:04 +00:00
Marcus Boerger
0ebd2cf5d0 - Fix methodname to getMetadata() 2007-05-14 18:58:35 +00:00
Marcus Boerger
47d51e188b - Phar version 1.2.0+ requirement allows some simplifications 2007-05-14 18:40:20 +00:00
Marcus Boerger
3a20584b6a - Require phar version 1.2.0+ 2007-05-14 18:37:30 +00:00
Marcus Boerger
49f3a72ecb - Update 2007-05-14 18:32:54 +00:00
Marcus Boerger
35299957c7 - Add Phar::getSupportedCompression() 2007-05-14 18:31:18 +00:00
Marcus Boerger
e22fcf8de9 - Only show available hash algorithms 2007-05-14 18:26:01 +00:00
Marcus Boerger
e289a06c83 - Flush on changes 2007-05-14 18:11:53 +00:00
Marcus Boerger
6e05f480f0 - Add new test 2007-05-14 17:40:40 +00:00
Marcus Boerger
85a9934c0c - Update 2007-05-14 17:20:10 +00:00
Marcus Boerger
ca550a5174 - Add -h to command pack
- Rename commands
  . setstub to stub-set
  . getstub to stub-get
- Make -s to stub-get/set optional and use stdout/in as default
- Add a few commands
  . compress
  . info
  . meta-set
  . meta-get
  . meta-del
  . sign
2007-05-14 17:18:30 +00:00
Marcus Boerger
4f620b0c7b - Add help <command>
- Allow commands to have '-' in their name
2007-05-14 17:14:15 +00:00
Marcus Boerger
6e3ac5dbcd - Add PharFileInfo::hasMetadata() & delMetadata() 2007-05-14 17:13:07 +00:00
Marcus Boerger
ba2e2af1b9 - Add -h sha1 to target phar.phar 2007-05-14 17:12:10 +00:00
Marcus Boerger
7bdb1ed5cd - Add ability to specify hashing 2007-05-14 17:10:01 +00:00