24 February 2007

An alternative to packages

I have a set of software I want to provide for the Solaris 10+ community (more on that in the coming weeks). However, the existing solutions for distributing software for Solaris (and other UNIX like systems in general) are sadly lacking. It might seem backwards to some, however, I feel that before I begin the porting and distribution effort for this new software I need a good way to distribute it that makes it as painless as possible for all parties involved. Ease of maintenance, as a developer, is especially important to me.

With that in mind, I am researching different options for easily distributing software to Solaris users. Note, I said users and not administrators, although this can just as easily apply to them as well. Users want to run their software with as little pain as possible, and developers need a way to distribute the software that users want to run with as little pain as possible. That requires a distribution system that meets certain goals:
  • Anyone can install software
  • Anyone can distribute software
  • It doesn't matter whether the software is installed or not
  • Shared downloads
  • Good security
All of these goals are important. In the past, other projects such as blastwave, SUN Freeware, OpenPKG and others have provided solutions that work great for administrators, but aren't so great if you're not the system administrator. Thankfully, we don't have to sacrifice the goal of allowing users to run the software they want or any of the other ones listed above. Not only that, we already have a solution that achieves every one of those goals: The Zero Install System.

The project leader, Dr. Thomas Leonard, has been very helpful in assisting me with these efforts and welcomed contributions. The past week or so, I have been looking into what changes are necessary to allow Solaris to be a fully supported and operational platform for the Zero Install System. Since Zero Install is written in python, it is already fairly portable by nature.

I have been working through the test suite included with Zero Install making whatever changes are necessary for it to pass all applicable tests and I am just about finished. I have not had to make many changes due to the excellent work performed by the Zero Install team and its contributors. So far, all of the changes I've done are found in the unpack library.

While the Zero Install System is not yet fully functional, you can be certain that I will be doing whatever is needed for that to happen. I will post an announcement here once I am certain that it is fully functional, and have a sample software package available for testing. Meanwhile, I suggest reading the following material related to Zero Install and installation / packaging systems:

6 comments:

WolfeWLU said...

I suppose I don't understand the benefit of Zero Install except for unprivileged installs. Having a central downloadable repository is one of the major benefits of apt-get on Debian and emerge on Gentoo.

Although anything is better than pkgadd on Solaris...so if it can get adopted I'm all for it! :-)

Robert said...

Bingo! Of course *anyone* with the name 'binarycrusader' surely can help me w/this one (whether via Zero Install or not): Have a Compaq DL580 (1st gen) w/quad Xeon @900Mhz, running 4x/18GB scsi disks (10k). Wish to install Solaris 10. Advised via website that install hangs due to Compaq SmartArray 5300 controller. This box has 2 ea. of these! 1 is embedded, the other is PCI. However, sun further advises not to disable embedded controller (not active this box), and also to take one controller out, install, then reconfigure. I'm still stretching my 'admin' legs, can't think of a method that will provide a complete, clean install under the circumstances. Need to install to set up net lab and learn. Any help appreciated!! [note: NO! I don't want to go into the box just yet! Need spare parts and more experience. Thanx!!)
Have A Healthy, Prosperous Day!!
---robert

Binary Crusader said...

@robert:

Unfortunately, I can't help you with that particular issue. I'm more of a developer than a hardware person. The best place for you to get help is going to be on the BigAdmin forums here:

http://www.sun.com/bigadmin/

Good luck!

Damien Carbery said...

Another option for packaging might be pkgbuild which use RPM like spec files to build Solaris packages (for use with pkgadd).
I work at Sun (with Glynn Foster) on JDS and we use spec files to build the JDS packages.

T.J. Yang said...
This comment has been removed by a blog administrator.
Binary Crusader said...

Have you check out TWW's HPMS approach and solution ?

Yes, I have, and it isn't a solution I would use.

1) this post was entitled "an alternative to packages" -- that implies that I do not want a solution that requires packaging.

2) TWW requires root access, "Our cross-platform package installation tool must be installed prior to installation of the eval package. Root access is required to install the tool and the eval packages."

That is explicitly against the goals I set forth in this post.

3) TWW does not freely provide all of their packages. It is nothing more than a packaging tool made so that someone can sell pre-packaged software built for multiple platforms.

4) It is not user-friendly.