Experimental Web Stack Repository
By jyri on Mar 21, 2008
In several of my previous entries I have commented on the need to have a way to distribute experimental and/or nightly builds of upcoming Web Stack packages so it is possible for everyone to try them out and test the proposed functionality before it is fully baked into OpenSolaris (and thus very hard to change).
So, what's in it?
Currently my intent is to make available nightly builds of components under development (though I probably won't update it every night yet). Being nightly builds, at any given time some (or all) of the components might not work at all, so they are only suitable for experimenting.
Some of the components may eventually make it into more formal distribution channels (such as the official part of the Indiana repository) once they mature. Others might remain available only as experiments. Time will tell...
You can certainly influence the decisions by participating on the Web Stack project list. I'm hoping you will also participate by installing these experimental packages and providing feedback on how useful they are and what's wrong with them.
EDITED April 24: It is no longer necessary to patch pkg as described below. Refer to my more recent article on the Web Stack repository for the current info.
How to use it (Nevada/SXDE version)?
1. Obtain the IPS pkg client:
% hg clone ssh://firstname.lastname@example.org/hg/pkg/gate
2. Patch IPS. The bad news is pkg doesn't yet know how to properly interact with a repository which is not at / (such as /webstack) so for now you'll need to apply a patch. A patch is available in bug 831 (the final change might be different, but this will get you going). Click on the link "fixes uri construction so path is preserved" in the Attachments section to get the patch and save it to a file pkg.patch.
% cd gate/src/modules/ % gpatch misc.py < ~/pkg.patch
3. Build and install IPS
% cd gate/src % make % make install % su # make link
Notice this will create links from /usr/bin/pkg and other locations into your workspace (so don't delete your workspace). Obviously this is not a very permanent installation... but it makes easy to periodically update the IPS snapshot.
4. Add the Web Stack repository. You can initialize it and make the Web Stack repository your primary source of packages by running:
# pkg image-create -F -a webstack=http://pkg.opensolaris.org/webstack/ /
Note: If you're already using IPS you'll want to add Web Stack as an additional repository instead. Add the following lines to the end of your /var/pkg/cfg_cache file:
[authority_webstack] origin = http://pkg.opensolaris.org/webstack/ prefix = webstack mirrors = None
4. Check out the available packages...
% pkg refresh % pkg status -a FMRI STATE UFIX pkg://webstack/SUNWphp5-myadmin@0-1 known ---- pkg://webstack/SUNWwebstack-build@0-1 known ---- pkg://webstack/SUNWwebstackui@0-1 known ----
(the output will vary depending on your configuration and what's available today)
5. Install something!
# pkg install SUNWphp5-myadmin ...
will get you the experimental phpMyAdmin package.
As I mentioned earlier, keep in mind these are fragile experimental packages. On any given day they might not work at all. If you try them out (please do!), send feedback and suggestions to email@example.com.
Another limitation is that these packages currently have no dependencies set. So it will happily install, for example, SUNWphp5-myadmin even if you don't have Apache or PHP or MySQL installed even though that's not going to work. For now you will need to manually install the dependencies.