Cava Packager Blog

Developing and supporting a cross-platform Perl application distribution tool.

Cava Packager Release 2.0.72

Cava Packager release 2.0.72 introduces an improved loader for masked source code giving smaller package size and faster loading.

For Windows packages there are also fixes for 32 bit packages on Windows XP 64 and the handling of Perl and modules compiled with the latest gcc versions.

Cava Packager is 'Free to Use'

Recent Cava Packager releases 2.0.70 and 2.0.71 are now licensed as 'free to use'. The new license allows usage with few restrictions for anyone downloading the application.

We have taken this step to completely separate the commercial activity of supporting packaging and distributing Perl applications from the actual use of the software. This provides a more flexible and appropriate model for continued development and support.

Commercial support for packaging and distributing your Perl applications is amongst a range of options available from  Znix Services with packages tailored to support your particular requirement.

Version 2.0.55

Cava Packager 2.0.55
Release Date 08 June 2011

Upgrade for all platforms.

  • Different versions of Cava Packager can now co-exist on the same machine. Installing this version will not prevent a previous version of Cava Packager from running. (Note: Projects are, of course, still version specific. You cannot open a project with an older version of Cava packager once it has been upgraded.)

  • Projects are now portable across different machines and operating systems.

  • Projects now support management by version control system.

  • Project layout has been simplified to support vcs and portability features.

  • Projects can now be exported to a single portable file.

  • On Mac OS X the project type can now be switched between 'Mac OS X Bundle' and 'Darwin Executables' at any time.

Notes for upgrading:

If you are upgrading from a prior version of Cava Packager you should browse the following first:


Perl 5.14 Support

Cava Packager release 2.0.49 brings Perl 5.14 support to all platforms and improved library loading on Microsoft Windows.


Citrus Perl Manager

citrus64.pngThe next release of Cava Packager will include a bundled Citrus Perl Manager.
The initial release will have the modest aim of making it easier to install and update your Citrus Perl installations. The development plan for later releases is to eventually include all of the following:


  • Repositories for common modules with bundled external library dependencies.
  • Regular updates for wxPerl and DBI components.
  • Custom Citrus Perl distribution creation.
Custom distributions will provide a useful tool to help in cross platform and team development whilst the repositories and core component updates will allow us to provide the latest fixes and enhancements in between Citrus Perl releases.

Windows Services

With the recent 2.0.45 release of Cava Packager some specific support is included for packaging Windows Service applications.

Now that Win32::Daemon is being supported as part of the libwin32 bundle, installation of the Windows Service module from CPAN or via PPM is straightforward.

Cava Packager provides a sample winservice.pl script that may be used either in part or fully as a basis for your Service Applications. The example script includes event logging using the supplied distributable message dll and fully working install, remove, stop and start command line options.

In view of the availability of a supported and maintained Win32::Daemon module, development of a separate Cava Packager custom Windows Service provider is no longer necessary.

New Citrus Perl Release

Release 2 of Citrus Perl 5-12 is out today. wxWidgets has been updated to version 2.8.12 and Wx has been updated from the latest code in SVN.

Also added Win32::API to included modules on Windows.

It is an easy upgrade for any existing users - just extract new version over existing version.

Perhaps there will be a more sophisticated installer for Release 3 or perhaps even a Citrus Perl Manager application.


New Download Site

Released Cava Packager 2.0.41 today which tidies up the Windows and Linux installer functions and fixes a few minor bugs in 2.0.40.

The major change is the removal of user account functions from the application. These are now handled at https:/www.cava.co.uk. Cava is a commercial application and needs some way for end users to manage installs. It turns out no-one really liked the application based management and secure background interaction it involved. So it is now gone from the application together with all remnants of SSL remote access. There are still a couple of simple http get functions that check for version and rule updates, but that's all.

There will always be free use for free beer non commercial applications. All that non-commercial users now need do is register once at the web site and download their free use keys. Renewal will be required once every 12 months just like commercial users, but the non-commercial option will remain available for eligible users and usage.

The Linux installer is now at a stage where simple but fully functional installers can be created. There is much more that could be done here to create a rich and fully featured installer but that will have to wait. The installer code is open though so anyone wishing to create a more sophisticated installer can do so using as much or as little of the existing code as they wish.

Next up is an update release of Citrus Perl to include updated wxWidgets and Wx together with a few extra management and configuration features. Then a Citrus Perl Manager applet for Cava Packager to ease installation, maintenance and update of Citrus Perl installations.

Cava Packager 2.0.40 Release

| 1 Comment
The latest version of Cava Packager has been released for download. It represents a substantial advance over the previous versions.

Additional features include the provision of a customisable installer for Linux deployment and the restoration of Inno Setup libraries for Windows as were provided in version 1.3.  Mac OS X users are well catered for by the Xcode PackageMaker application.

Interesting bug fixes include tackling some environment related issues on Windows and fixing __DATA__ handling problems in some modules when packaged in the virtual file block.

The Rule engine has been expanded and the opportunity to write your own custom rules enhanced and documented.

A big thank you to everyone who contributed feedback on the prior release and new features. 




Cava Application Installers

The next step in Cava Packager development will be built in support for application installers.

The goal is a fairly common interface for the types of things you may wish to do in an installer such as displaying a license and installing desktop and menu features which is then tailored for platform differences.

MS Windows

On Windows we shall be returning to the inclusion of the excellent InnoSetup engine with the application as it was in Cava Packager 1.x. We'll be including a few extra settings options in the Cava Packager interface this time which should cater for most users needs. There is always the option to use the full InnoSetup installation from http://www.jrsoftware.org if you require finer control and more advanced options.

Mac OS X

On Mac OS X the current recommended method of simply distributing a .dmg is wonderfully simple for gui applications. However, it lacks support for showing a license and may not be suitable for distribution of command line utilities. We'll be making it possible to produce a .dmg with the standard package install layout so that it integrates with Apple's standard pkg handling plus you get standard license agreement and install dialogs.

Edit:

The Apple PackageMaker application turns out to be simplicity itself containing all you might need to bundle applications packaged using Cava. There is little that could be usefully added from the Cava end of things so we have not needlessly extended Cava's capabilities.

Linux

We've been working on a prototype installer for Linux applications which uses the Perl capabilities of the application you are distributing to create and run an installer out of a single executable file. It is looking good so far. Setup menu items and icons for the Gnome desktop are working. We've followed FreeDesktop specs so KDE and other managers should work too.

Initially there will be support for a GUI installer if you are distributing a Wx application, and a command line interface if not. In the future we hope to add support for a Tkx based installer GUI. Of course, you can use the Wx based installer with anything - you will just be distributing 10mb of Wx overhead that isn't actually used by your application.

Installer Size

With the release of 2.0.39 smarter dependency scanning and better handling of the 'virtual' directory has much reduced the size of Cava Packaged applications.

The 2.0.39 installer for 32 bit Windows is around 19mb which isn't too bad considering the inclusion of Wx. Some earlier releases with less functionality had touched 25mb.

We do have a prototype virtual file loading system that reduces the size of the current Cava 32 bit Windows release to just below 13mb but it will be some time at least before that makes it into the release tree.