How to Patch a Buggy Package with ZZ/OSS Installer

I had to do, what developers really don’t like: patching a third-party class package due to a bug for the forthcoming release of one of our software products.

The package I had to patch is PEAR::Archive_Tar because of a yet unfixed bug I have reported some time ago. The application depending on that package is the forthcoming release of ZZ/OSS Installer. I was able to use the installer itself to apply the patch due to the fact that the ZZ/OSS Installer is itself developed and installed with the ZZ/OSS Installer – I love russian doll architectures :).

Creating and applying the patch was as simple as:
1. Fix the bug in Tar.php.
2. Put the fixed Tar.php in a package called com.zzoss.pear.archive_tar.patch.
3. Make sure in the deps element of the package.xml that the patch package has a dependency on the PEAR::Archive_Tar package.
4. Add this package to the application.xml of the next ZZ/OSS Installer release.

What happens when installing the application with the ZZ/OSS Installer is that the Tar.php file from PEAR::Archive_Tar gets overwritten by the fixed Tar.php from com.zzoss.pear.archive_tar.patch, because of the dependency definition.

ZZ/OSS Installer Client 1.1.0dev1 Released

ZZ/OSS is happy to announce that the ZZ/OSS Installer Client (ZIC) 1.1.0dev1 has been released. ZIC is a PHP-based installation wizard and development tool for professional release management of modular PHP applications.

This is a development release with new features. You can use this version to make your own PHP software installable with ZIC. The schema of the XML files describing your application is solid.

This new tutorial on making phpMyAdmin installable with ZIC is a good start.

If you use Mozilla, please make sure to set the preference ‘network.http.redirection-limit’ to the value ’30’ or higher if you get a “redirection limit” error. Type ‘about:config’ into the address field to access the preferences.

Download ZIC 1.1.0dev1 from the Sourceforge project homepage.

Please report bugs to the bug tracker, mailinglist, or IRC.

More information is available at the installer homepage
http://www.zzoss.com/projects/installer/

An excerpt of most important changes:

  • works on Windows and Linux
  • integrated plugins and packages manager for installed applications
  • development applications can now also be installed
  • default install path of development applications has ‘-dev’ added to app name
  • new default theme ‘kde’ which is more neutral
  • option to automatically remove setup wizard after installation
  • handle different magic quotes settings
  • progress bar shows download process
  • single packages or plugins can be added
  • works with E_ALL error reporting
  • fileroles: default behaviour of installer without having any filerole plugins installed is that the file gets copied to the location specified in filelist/file of package.xml
  • configurable quick installation of development applications allows for faster development
  • detect circular dependencies of packages needing each other
  • process filelists with nested dir elements in package.xml

ZZ/OSS Software Depolyment Infrastructure – How Far Have We Come?

Saturday, I will present the forthcoming ZZ/OSS Installer Client (ZIC) release 1.1.0dev1 at a PHP User Group meeting. I am looking forward to get some feedback from the participants. Soon after the presentation, the code will be released.

This is an excerpt from the changelog:

– works on Windows
– new plugins architecture (introduced Plugins Runtime Environment, which is actually installed like an application)
– integrated package manager for installed applications
– plugins manager for installer plugins
– plugins development wizard
– E_ALL support
– development applications can now also be installed
– new default theme ‘kde’ which is “neutral”
– option to automatically remove setup wizard after installation
– handle different magic quotes settings
– progress bar shows download process
– single packages or plugins can be added
– etc.

I am confident, that with this release, we have solved all major conceptual issues about a distributed deployment architecture. The important implementation missing, is the ZZ/OSS Installer Server (ZIS), which we have not yet released under an Open Source license. Once ZIS is out, companies and communities can easily deploy their applications consisting of packages within their software distribution – either in-house, and/or internally.

We will in the forthcoming months focus on the release of ZIS, which will in its first release be a kind of PEARWeb for the ZZ/OSS Installer Client. Nevertheless, the ZIS does not rely on PEARWeb, it is based on CONESYS, the COntent NEtwork SYStem. In this respect, the second major release of the ZIS will allow for automatic and granular distribution of package, application, and distribution data accross servers.

By the way: Christian Stocker will come from Switzerland and also do a presentation on Popoon at the PHPUG meeting.