Lots of changes. Lots! Here’s a list:
- Added a license page
- Added a page to validate that you are packaging a XULRunner application
- The wizard automatically goes to the last page once pacakaging is complete
- If there are any errors, they will show on the last page
- Linux release now creates a tar.bz2 file, with an installation script attached to it
- Linux release can create an additional zip package for release on Windows
- Windows release now has a description for each of the MSI Installers
- The MSI Installers make the end-user view the attached license before they can install the software
At first I added the license page so that the MSI installer can make use of it, but it only makes sense that all users should be able to attach a license to their software. Here’s another list of the licenses I chose to include:
- Common Public License 1.0 (CPL)
- GNU General Public License (GPL)
- GNU General Public License version 3.0 (GPLv3)
- GNU Lesser General Public License (LGPL)
- GNU Lesser General Public License version 3.0
- Common Development and Distribution License
- Mozilla Public License version 1.1
Should these licenses be too restricting (or not enough) the user can attach their own license, or none at all.
The decision to ditch Autotools in my Linux packaging was an easy one. It was too bloated. Added all kinds of unnecessary files to a release. And it just didn’t make any sense. After having a look at a paper by Mark Finkle, and using his release of the XULExplorer as a template, I decided to just write a script which will just “tar” up the application. Yes, it still check to make sure you are packaging a XULRunner app. To make it slightly appealing, I added a script to each package, which when run will run the ‘–install -app’ command for XULRunner. It will take the app and copy it into the //usr/lib/vendor_name/application_name/, and then create a bash script which calls the application, and put it into your /usr/bin directory, so that you can call the new application from a single command. I don’t know how well received it will be, but I haven’t heard any feedback about it yet.
Out of everything I have learned for this release, the one that hurt my brain the most was how complicated it is to make a zip file on Linux. The reason I wanted to make a zip file was so that users of Linux can have the ability to release their product easily for use on the Windows platform. Unfortunately, I tried using Mono to compile my WiX (which is built on the .NET platform) files, it could get as far as using light which is the linker stage (candle works, to compile). The reason it fails is because you need the msi.dll library, and unfortunately that is only for Windows. So the next logical move was to zip the application, and let the end-user run it from the unzipped directory. After a lot of troubleshooting, creating the zip file wasn’t too complicated after all, my scripts were just wrong. I must admit, that is one more thing that I have learned in this process, how to write shell scripts.
Overall, everything is really looking solid, I have fixed the Mac release, so that it can correctly read .app XUL files, can create a DMG out of them, Linux can create a tar.bz2 with ease, and Windows can spit out an msi with no problem. Now just testing, and working out the bugs that people find.
Version 0.9 can be found @ xrap.sourceforge.net
Enjoy, and GIVE ME FEEDBACK!!! I want to know about bugs/features/anything else that is needed