Home » PEAR » PEAR_PackageFileManager
PEAR_PackageFileManager takes an existing v1 package.xml file and updates it with a new filelist and changelog
This package is unmaintained.
Download latest release 1.7.2 (there might be newer Composer installable version)
License: New BSD License
Description
This package revolutionizes the maintenance of PEAR packages. With a few parameters,
the entire v1 package.xml is automatically updated with a listing of all files in a package.
Use PEAR_PackageFileManager2 for v2 package.xml which is what channels require.
Features include
- can detect PHP and extension dependencies using PHP_CompatInfo
- reads in an existing package.xml file, and only changes the release/changelog
- a plugin system for retrieving files in a directory. Currently four plugins
exist, one for standard recursive directory content listing, one that
reads the CVS/Entries files and generates a file listing based on the contents
of a checked out CVS repository, one that reads Subversion entries files, and
one that queries a Perforce repository.
- incredibly flexible options for assigning install roles to files/directories
- ability to ignore any file based on a * ? wildcard-enabled string(s)
- ability to include only files that match a * ? wildcard-enabled string(s)
- ability to manage dependencies
- can output the package.xml in any directory, and read in the package.xml
file from any directory.
- can specify a different name for the package.xml file
PEAR_PackageFileManager is fully unit tested.
Documentation
Maintainers
- Helgi Thormar Thorbjoernsson (dufuz) — lead, active
- Greg Beaver (cellog) — lead, inactive
- Tim Jackson (timj) — lead, active
- Laurent Laville (farell) — lead, inactive
- Arnaud Limbourg (Arnaud) — developer, inactive
Dependencies
Required
- PHP (>= 5.3.0)
- PEAR Installer (>= 1.10.1)
- PEAR_PackageFileManager_Plugins (subpackage)
- PEAR_PackageFileManager2 (subpackage)
Optional
- PHP_CompatInfo (>= 1.4.0)
Releases
- 1.7.2 (stable, 2015-12-15)
Release notes
License: New BSD License
* Correct instatllation directory
- 1.7.1 (stable, 2015-12-15)
Release notes
License: New BSD License
* PHP 7 compliance
* Make unit tests portable, resilient, work - 1.7.0 (stable, 2009-04-15)
Release notes
License: New BSD License
No changes since alpha1
- 1.7.0alpha1 (alpha, 2009-03-09)
Release notes
License: New BSD License
Split plugins and PFM2 into their own packages
- 1.6.3 (stable, 2007-11-20)
Release notes
License: PHP License 3.01
* bugs
- Fix Bug #12023: substr() miss around $package_directory in getFileList()
Thanks to Lorenzo Alberton (quipo) for the simple patch
- Fix missing $options argument of detectDependencies()
that allow to customize auto PHP detection by PEAR::PHP_CompatInfo
- Fix lot of Coding Standard (errors/warnings) by PEAR::PHP_CodeSniffer* changes
- PHP minimum set to 4.3.0 (removed compatfunction file_get_contents)
- PEAR installer minimum set to 1.5.4 (to avoid security vulnerability) - 1.6.2 (stable, 2007-10-09)
Release notes
License: PHP License 3.01
* Fix Bug #12202: SVN entries file parser (SVN = 1.4) sometimes omits files
- 1.6.1 (stable, 2007-06-17)
Release notes
License: PHP License 3.01
* Fix Bug #9560: PPFM1 constants used in PPFM2 [cellog]
* Fix Bug #10409: Subversion 1.4.x entries files not supported [timj]
* Fix Bug #10410: SVN module passes arguments by reference [timj]
* Fix Bug #10490: Bad error handling with some XML errors [timj]
* Fix Bug #10971: Missing error check [timj]
* Fix Bug #10995: addPostInstallTask() should validate incoming tasks [cellog]
* Implement Feature #9559: files not included under certain conditions [cellog] - 1.6.0 (stable, 2006-11-17)
Release notes
License: PHP License 3.01
FINAL STABLE VERSION 1.6.0
that manages the new package.xml 2.0 format in PEAR 1.4.0changes since 1.6.0b5:
- added new option clearchangelog that allow to remove full changelog section
on generating the new package xml version (on feedback from Mark Wiesemann). - 1.6.0b5 (beta, 2006-10-21)
Release notes
License: PHP License 3.01
THIS VERSION IS THE LAST ONE BEFORE FINAL STABLE 1.6.0
* news
- First major change is ability to import all tasks files (replace, eol, postscriptinstall) of an existing package xml (1.0 or 2.0), with just one option clearcontents.
- The second major change is ability to use all options of PHP_CompatInfo 1.4.0 (or better) to detect easily all dependencies (PHP version and PHP extensions used).
- exportCompatiblePackageFile1 method is now deprecated. Produces only a simple version of package xml 1.0 without tasks files* Quality Assurance
- my website page (http://pear.laurent-laville.org) related to PEAR_PackageFileManager
was updated : FAQ and Examples tabs. Please Visit it to read more information
in waiting for the User Guide and Tutorial you will get with stable 1.6.0 version. - 1.6.0b4 (beta, 2006-08-19)
Release notes
License: PHP License 3.01
* bugs
- addIgnore() and addInclude() functions allow now to keep previous content when an array is given as parameter #1.* news
- package.xml and package2.xml are now ignored, by default, before the generateContents() call. - 1.6.0b3 (beta, 2006-08-15)
Release notes
License: PHP License 3.01
* bugs
- exportCompatiblePackageFile1() generates dupplicate entry in changelog with existing package* news
- simplify detectDependencies()
- add new example to keep up-to-date an existing package (see examples/updatepackage.php)* Quality Assurance
- improved phpdoc tags : add @access and @since espacially for functions, vars history)
- more PEAR CS
- fixed typo error on @throw phpdoc tags of PackageFileManager2 class - 1.6.0b2 (beta, 2006-06-06)
Release notes
License: PHP License 3.01
fixed Bug #7769 : writePackageFile()/debugPackageFile() return false (farell/cellog)
- 1.5.3 (stable, 2006-06-06)
- 1.6.0b1 (beta, 2006-05-29)
Release notes
License: PHP License 3.01
- after 8 alpha relases on PackageFileManager2, move to first beta,
for first anniversary of 1.6.0 version
- introduces ChangeLog and NEWS files for history and quality assurance
- upgrades license from PHP 3.0 to 3.01 - 1.6.0a8 (alpha, 2006-05-03)
Release notes
License: PHP License 3.0
* bugs fixed
- #6843 : dont rely on XML/Tree (PEAR_PackageFileManager_Svn)
- #6357 : Notice Errors with PFM2 1.6.0a4 and CVS plugin
- #7393 : addGlobalReplacement() error reporting throws error
- #7496 : simpleoutput ignores installexceptions option* quality assurance
- updated headers comment block ( http://pear.php.net/pepr/pepr-proposal-show.php?id=128 ) - 1.6.0a7 (alpha, 2006-02-28)
Release notes
License: PHP License 3.0
* news
- add globalreplaceexceptions option to exclude files from global replacements
- add clearcontents option to give ability to keep filelist with replaces tasks
on import function with package v1 or v2
- fixed Bug #5874 : Fails generation on missing notes element without error message.
- fix a notice error with exportCompatiblePackageFile1() method, when you create
for first time a package.xml v2.0 and want a v1 version.
Notice: strtotime(): Called with empty time parameter - 1.6.0a6 (alpha, 2006-01-26)
Release notes
License: PHP License 3.0
* news
- new option cleardependencies will erase any existing dependencies
on import package.xml (v1 or v2) if set to true* bugs fixed
- Bug #6507: deps are lost after importing a package v1
- Bug #6594: export compatible V1 lost changelog when import existing package v2Some other bugs need a new release of PEAR (1.4.7 ?)
- Bug #6075: exportCompatiblePackageFile1 lose maintainers list
- Bug #6076: exportCompatiblePackageFile1 raise a notice error
- Bug #6077: assigned by reference notice error with importOptions()
- Bug #6383: incomplete PEAR::Error message on addReplacement()
- Bug #6510: status active of a maintainer cannot be change
- Bug #6537: wrong export compatible v1 dependencies list with exclude limit
- Bug #6576: PFM2 run in trouble with sessions - 1.6.0a5 (alpha, 2006-01-12)
Release notes
License: PHP License
* bugs fixed
- Bug #6028: incompatability with php5
- Bug #6037: Directories named file make problems
- Bug #6175: incomplete error message with sapi interface only
- Bug #6191: notice error with wrong pathtopackagefile option
- Bug #6379: Generic mapping role (*=data) should exist for PFM1 and PFM2
- Bug #6434: files list validation error with simpleouput = false* news
- Laurent Laville was added as lead - 1.6.0a4 (alpha, 2005-11-04)
Release notes
License: PHP License
New features/bugfix release
Still more unit testing to do, but enough is fixed to warrant a new release
* add addUnixeol(), addWindowseol(), initPostinstallScript() and addPostinstallScript()
* fix invalid package validation in PFM2::importOptions() - no error messages printed
* fix fatal error if no files are found by the filelist generator using PFM2
* fix Bug #5243: importOptions() wont work with 2nd arg filled
* fix Bug #5072: If channel not registered, addMaintainers() fails? - 1.6.0a3 (alpha, 2005-09-06)
Release notes
License: PHP License
Bugfix release
* add addIgnoreToRelease() to replace PEAR_PackageFile_v2_rw::addIgnore() - 1.6.0a2 (alpha, 2005-08-30)
Release notes
License: PHP License
Bugfix release
* fix many bugs in PackageFileManager2, particularly in relation
to package.xml 1.0 import and export, replacements
* fix bug #4478: Notice error on File.php (generator)
* fix Bug #4525: Update inline package generation example
* fix Bug #4604: validatePackageInfo implementation error
* fix Bug #4743: PHP 5.1 pass-by-reference error - 1.6.0a1 (alpha, 2005-05-28)
Release notes
License: PHP License
Add capability to manage package.xml version 2.0
- 1.5.2 (stable, 2005-05-20)
Release notes
License: PHP License
Bugfix release * fix notice if simpleoutput is used, and there are no subdirectories
- 1.5.1 (stable, 2005-04-08)
Release notes
License: PHP License
Bugfix release * fix Bug #4003 importOptions() wont work until setOptions() is called
- 1.5.0 (stable, 2005-03-28)
Release notes
License: PHP License
New features and bugfixes * fix Bug #3696 PHP SAPI check in debugPackageFile() not reliable, use php_sapi_name() instead * implement Request #3747 getOptions() method * Migrate all unit tests to .phpt, run pear run-tests -p PEAR_PackageFileManager in PEAR 1.4.0 to run tests post-installation * add dependency on XML_Tree (used by SVN driver) * add package2.xml to the list of auto-ignored files
- 1.4.0 (stable, 2005-02-20)
Release notes
License: PHP License
Add addGlobalReplacement() - applies the replacement to every file in the package.xml
- 1.3.0 (stable, 2005-02-08)
Release notes
License: PHP License
Add detectDependencies() - uses PHP_CompatInfo to detect deps. Also added cleardependencies option to setOptions(), which will clear all existing dependencies from package.xml before starting
- 1.2.1 (stable, 2004-04-27)
Release notes
License: PHP License
Fix bug 1217: file listing stops on files or directories named 0
- 1.2.0 (stable, 2004-02-07)
Release notes
License: PHP License
*fully* unit-tested with 2 new features: simpleoutput and addhiddenfiles - new feature, simpleoutput option. This eliminates output of md5sum and provides tags for readability, and outputs dir tags. - each /dir close tag has a !-- comment -- containing the full directory name that was concluded - new feature, addhiddenfiles option. This allows addition of files that begin with . like .bashrc
- 1.1.0 (stable, 2003-12-11)
Release notes
License: PHP License
unit-tested with 1 new feature: include - fixed #8: notices if a package has no dependencies - fixed #261: package.xml files shouldnt be included in the package file list - fixed #155: warning emitted if CVS/ is packaged - fixed #260: .cvsignore files should be excluded from package file lists - new feature, include option. This works just like ignore except it excludes all files that do not match the names passed in. ignore includes only files that do not match the names passed in. Suggested by Stan Lemon
- 1.0 (stable, 2003-08-21)
Release notes
License: PHP License
First stable release No changes from 0.15
- 0.15 (beta, 2003-08-06)
Release notes
License: PHP License
Bugfix release - erroneous blank release tag in changelog for generation of a new package.xml
- 0.14 (beta, 2003-08-04)
Release notes
License: PHP License
Bugfix release - fix warning if you attempt to add a dependency on PHP as a package
- 0.13 (beta, 2003-08-02)
Release notes
License: PHP License
Bugfix release - add warning if you attempt to add a dependency on PHP as a package - switched to usage of PEAR_Common::getUserRoles() - added optional dependency support - added script phase support (unimplemented in PEAR)
- 0.12 (beta, 2003-07-28)
Release notes
License: PHP License
Bugfix release - added fix, if no existing changelog for current package.xml, but has old changelog, a new one is auto-generated from the release. - added new switch to specify order of changelog entries changelogoldtonew default true. Set to false to have the newest entry listed first
- 0.11 (beta, 2003-07-25)
Release notes
License: PHP License
Bugfix release - exceptions option should be matching relative path of a file, not just the filename - exceptions were ignored if dir_roles was specified for the directory containing the file - fixed documentation error - added validation of file role - fixed directory role so that it checks values passed in before using the parent directorys role - removed stupid use of eval, replaced with call_user_func - added new complex example that uses almost every option
- 0.10 (beta, 2003-07-25)
Release notes
License: PHP License
With the release of 0.10, PEAR_PackageFileManager is essentially feature-complete. It handles all possible package.xml settings for PEAR, and is extensible through the pearcommonclass option - changed to using strnatcasecmp for version numbers in the search through ChangeLog, so 0.10 0.1 - added md5sum attribute to filelist - added use of PEAR_Common::validatePackage() to catch odd errors - fixed incorrect handling of PEAR_Error in File::getFileList() - added handling of filelist platform attribute - added handling of filelist install-as attribute - added handling of filelist replacements options
- 0.9 (alpha, 2003-07-25)
Release notes
License: PHP License
Bugfix release - Fixed bug in reading a package.xml with no changelog entry, it now auto-generates a changelog entry from the existing release tag if there never was a changelog
- 0.8 (alpha, 2003-07-23)
Release notes
License: PHP License
Bugfix release - Fixed bug in ignore, ignoring an explicit full path with or without wildcards would not work
- 0.7 (alpha, 2003-07-23)
Release notes
License: PHP License
Bugfix release - Fixed bug in CVS reading, if files have been added/removed but not yet committed, it would try to add them to the package.xml
- 0.6 (alpha, 2003-07-23)
Release notes
License: PHP License
Bugfix release - When reading in an existing package.xml, if a file has been removed, several warnings were emitted by PEAR_Common attempting to examine the source of a non-existent file - Fixed warning if release notes were empty in a previous changelog
- 0.5 (alpha, 2003-07-23)
Release notes
License: PHP License
Bugfix release - Fixed bug in type=php dependency generation, - Fixed bug if the package.xml doesnt yet exist
- 0.4 (alpha, 2003-07-23)
Release notes
License: PHP License
Bugfix release - Fixed bug in testing of output - new option allows specifying the doctype, default is http://pear.php.net/dtd/package-1.0
- 0.3 (alpha, 2003-07-22)
Release notes
License: PHP License
bugfix release - !DOCTYPE package SYSTEM http://pear.php.net/dtd/package-1.0 is added if it isnt present - fixed ignoring of license option - added documentation of the options - if package, summary or description are passed in the options, they will overwrite the existing ones even if the package.xml already exists - fixed progressive addition of newlines to changelog release notes due to bug in the package.xml parser
- 0.2 (alpha, 2003-07-22)
Release notes
License: PHP License
Generation of package.xml from scratch is now supported. In addition, generation of provides is supported and so is addition of maintainers and configure options - Fixed a bug in release generation - Added _addProvides() to generate a provides section
- 0.1 (alpha, 2003-07-21)
Release notes
License: PHP License
First release of PEAR_PackageFileManager
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #8 | Closed | Bug | 2003-09-14 | notices if a package has no dependencies | |
| #155 | Closed | Bug | 2003-10-26 | do a warning if CVS/* is packaged | |
| #260 | Closed | Bug | 2003-11-16 | .cvsignore files should be excluded from package file lists | |
| #261 | Closed | Bug | 2003-11-16 | package.xml files shouldn't be included in the package file list | |
| #525 | Closed | Bug | 2004-01-05 | <provides> tag and md5sum attribute not needed | |
| #527 | Closed | Bug | 2004-01-06 | shorten the file tag attributes | |
| #733 | Closed | Bug | 2004-02-11 | php dep incorrectly generated | |
| #797 | Closed | Bug | 2004-02-19 | Warning fix | |
| #1217 | Closed | Bug | 2004-04-15 | PEAR_PackageFileManager_File::dirList does not return all items it should retur | |
| #1277 | Closed | Bug | 2004-04-24 | Does not remove dependencies from package.xml when addDependency() is removed | |
| #1287 | Closed | Req | 2004-04-26 | Added optional support to use PHP_CompatInfo for PHP/Extension deps | |
| #2367 | Closed | Bug | 2004-09-21 | warning when package has no files in package root dir | |
| #2573 | Closed | Bug | 2004-10-20 | Documentation suggest wrong plattform pattern | |
| #2874 | Closed | Req | 2004-12-02 | add addGlobalReplacement() method | |
| #3696 | Closed | Bug | 2005-03-03 | PHP SAPI check in debugPackageFile() not reliable, use php_sapi_name() instead | |
| #3747 | Closed | Req | 2005-03-08 | getOptions() method | |
| #4003 | Closed | Bug | 2005-03-30 | importOptions() won't work until setOptions() is called | |
| #4267 | Bogus | Bug | 2005-05-03 | PEAR 1.4.0alpha dependency | |
| #4478 | Closed | Bug | 2005-05-30 | Notice error on File.php (generator) | |
| #4499 | Closed | Bug | 2005-06-01 | 1.6.0a1: Generated package2.xml does not carry over changelog | |
| #4525 | Closed | Bug | 2005-06-04 | Update inline package generation example | |
| #4526 | Bogus | Req | 2005-06-04 | different levels of strictness enforced on package validation | |
| #4604 | Closed | Bug | 2005-06-16 | validatePackageInfo implementation error | |
| #4743 | Closed | Bug | 2005-07-04 | PHP 5.1 pass-by-reference error | |
| #5006 | Duplicate | Bug | 2005-08-05 | Message "Only variables can be passed by reference ... File.php line 110" | |
| #5072 | Closed | Bug | 2005-08-11 | If channel not registered, addMaintainers() fails? | |
| #5243 | Closed | Bug | 2005-08-30 | importOptions() won't work with 2nd arg filled | |
| #5253 | Wont fix | Bug | 2005-08-31 | Solution to make PFM 1.6.0 compatible with PEAR 1.3.x | |
| #5384 | No Feedback | Req | 2005-09-13 | Add directory and wildcard support for installexceptions option | |
| #5874 | Closed | Bug | 2005-11-05 | Fails generation on missing "notes" element without error message. | |
| #6028 | Closed | Bug | 2005-11-21 | incompatability with php5 | |
| #6037 | Closed | Bug | 2005-11-22 | Directories named "file" make problems | |
| #6175 | Closed | Bug | 2005-12-06 | incomplete error message with sapi interface only | |
| #6191 | Closed | Bug | 2005-12-08 | notice error with wrong 'pathtopackagefile' option | |
| #6357 | Closed | Bug | 2005-12-28 | Notice Errors with PFM2 1.6.0a4 and CVS plugin | |
| #6379 | Closed | Bug | 2005-12-31 | Generic mapping role (*=>data) should exist for PFM1 and PFM2 | |
| #6434 | Closed | Bug | 2006-01-07 | files list validation error with simpleouput = false on PFM160a4 | |
| #6436 | Bogus | Bug | 2006-01-07 | PFM2::setDate() is useless | |
| #6507 | Closed | Bug | 2006-01-17 | deps are lost after importing a package v1 | |
| #6593 | Bogus | Bug | 2006-01-26 | Bug in example, requires ErrorStack callback method to be set | |
| #6594 | Closed | Bug | 2006-01-26 | export compatible V1 lost changelog when import existing package v2 | |
| #6843 | Closed | Bug | 1.6.0a6 | 2006-02-20 | don't rely on XML/Tree (PEAR_PackageFileManager_Svn) |
| #7393 | Closed | Bug | 1.6.0a7 | 2006-04-13 | addGlobalReplacement() error reporting throws error |
| #7496 | Closed | Bug | 1.6.0a7 | 2006-04-26 | simpleoutput ignores installexceptions option |
| #7769 | Closed | Bug | 1.5.2 | 2006-05-31 | writePackageFile()/debugPackageFile() return false |
| #8825 | Closed | Bug | 1.5.3 | 2006-10-01 | Warning when running package.php |
| #9022 | Wont fix | Bug | 1.6.0b4 | 2006-10-14 | PEAR_PackageFileManager_File::getFileList() trims characters wrongly |
| #9559 | Closed | Doc | 1.6.0 | 2006-12-06 | files not included under certain conditions |
| #9560 | Closed | Bug | 1.6.0 | 2006-12-06 | PPFM1 constants used in PPFM2 |
| #10409 | Closed | Bug | 1.6.0 | 2007-03-18 | Subversion 1.4.x entries files not supported |
| #10410 | Closed | Bug | 1.6.0 | 2007-03-18 | SVN module passes arguments by reference |
| #10490 | Closed | Bug | 1.6.0 | 2007-03-25 | Bad error handling with some XML errors |
| #10945 | Closed | Req | 1.6.0 | 2007-05-05 | Ignore should take directory into consideration |
| #10971 | Closed | Bug | 1.6.0 | 2007-05-07 | Missing error check |
| #10995 | Closed | Bug | 2007-05-09 | addPostInstallTask() should validate incoming tasks | |
| #11048 | Wont fix | Bug | 1.6.0 | 2007-05-15 | Reads old package.xml unneccessary |
| #12023 | Closed | Bug | 1.6.1 | 2007-09-11 | substr() miss around $package_directory in getFileList() |
| #12202 | Closed | Bug | 1.6.1 | 2007-10-08 | SVN 'entries' file parser (SVN >= 1.4) sometimes omits files |
| #12410 | Bogus | Bug | 1.6.2 | 2007-11-09 | setDate and setTime doesnt work |
| #12504 | Bogus | Bug | 1.6.3 | 2007-11-21 | baseinstalldir cannot be set to empty string |
| #12820 | Closed | Req | CVS | 2008-01-03 | Add glob functionality to PackageFileManager::addReplacement() |
| #12932 | Closed | Req | 1.6.3 | 2008-01-19 | .in files should have the 'src' role |
| #13312 | Closed | Bug | 1.6.3 | 2008-03-05 | Please specify SimpleXML extension dependency |
| #14882 | Duplicate | Bug | CVS | 2008-10-26 | Fatal error: Cannot pass parameter 1 by reference |
| #14960 | Closed | Bug | CVS | 2008-11-04 | Unit tests - undefined variable $notice |
| #19015 | Closed | Bug | SVN | 2011-11-14 | remove error_reporting (for PEAR QA team) |
| #23765 | Open | Bug | 1.7.2 | 2018-09-02 | Contains deprecated each() |