Skip to content

Instantly share code, notes, and snippets.

@apinstein
Created January 7, 2010 02:02
Show Gist options
  • Save apinstein/270902 to your computer and use it in GitHub Desktop.
Save apinstein/270902 to your computer and use it in GitHub Desktop.
FAQ
Q. Is this site supposed to replace PEAR's package hosting at pear.php.net?

A. Pearfarm is a more open alternative to pear.php.net's packages hosting service. Anyone can host a pear package on pearfarm without going through any kind of proposal/approval process.
Q. Why is Pearfarm's approach better than PEAR's package hosting?

A. The process for creating a new PEAR package is slow, strict, and onerous. Pearfarm follows a different philosophy. We believe that it's up to the community to decide which packages are good or not. We don't mandate any particular coding style, naming convention, or structure. This openness allows for more creativity and innovation at a faster pace than the PEAR process does. Of course, we encourage good and understandable code so we can all be happy!
Q. Is publishing a PEAR package really that hard?
A. Before Pearfarm, in order to publish a package you had to learn the package.xml spec or PEAR_PackageManager2. The learning curve wasn't that small. Once you managed to build a package, then you had to set up a PEAR channel server, which is a big pain.
Pearfarm provides an easy-to-use pearfarm.spec file to produce your packages. A spec file is typically only 10-15 lines long. To build your package, just run "pearfarm build". To publish your package on the internet, just run "pearfarm push" and your package will be securely delivered to Pearfarm and available for the world.
Q. Are all PEAR packaging / package.xml features supported by pearfarm.spec?
A. Most of the PEAR packaging features are supported, including installing executables, file/dir roles, and dependencies. Those that are have been made much easier to deal with. Some of the really complicated (ie rarely used) features are not directly supported by pearfarm.spec. In this case, if you really need it, you can build your own package.xml file and still use Pearfarm to distribute your packages.
Q. Can anyone push to any package?

A. No. Only users you authorize can push packages to your channel.
Q. Can I offer a package via Pearfarm that's already on pear.php.net?
A. Sure! Just update the channel setting in your package.xml, build your package, and then "pearfarm push mypackage-1.0.0.tgz". Alternatively you can just add a pearfarm.spec to your project and build your package that way.
Q. How can I help?
A. Feel free to submit issues about the pearfarm client (http://github.com/fgrehm/pearfarm/issues) or pearfarm.org (http://github.com/jetviper21/pearfarm_channel_server).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment