Thursday Dec 24, 2009

Update Center Toolkit 2.4 Build 44 Available


The Update Center 2 development team is please to announce the availability of build 44 (download) of the Update Center Toolkit. This is a significant biuld in that it brings in a new version of the pkg(5) software from OpenSolaris. It also resolves ? issues from the previous build.

Due to unresolved compilation problems, the Windows and AIX versions of this build are not available.  Also, the updates to the Java API for pkg(5) to support the new capabilities in this pkg(5) version have not yet been completed, so the Java API and the bootstrap capability it supports is also not available in this build. Both of these issues are expected to be resolved in the next build.

The updated  pkg(5) software is based on OpenSolaris build 129. It includes the following new features and characteristics:

  • A new catalog format, version 1, is used within repositories, within images, and to download catalogs from the server to the image. This new format enables more efficient catalog processing by including more information from package manifests into the catalog. It uses the JSON data format to store the data. 
  • The new catalog format includes the name of the publisher. The pkg(5) software now requires that the publisher(s) within a repository be named using a publisher.prefix property that can be set for a repository using either the pkgsend or pkg.depotd command. The name of the publisher within an image must match the name of the publisher in the repository.  The pkg(5) client software now enforces this.
  • A variation of the catalog format is also used to store information about packages that are installed into an image, replacing the files that were stored in the state/installed meta-data directory.
  • The meta-data areas for storing downloaded files in images and the content files in a repository have been modified to use a more efficient storage method that uses a one-level directory tree rather than a two level hierarchy. 
  • The software for evaluating a proposed update has been improved to make use of a boolean satisfy-ability problem solver. This resolves several defects in the way that package updates are calculated.
  • The pkg(5) software not uses Python 2.6 rather than Python 2.4. A minimized version of Python 2.6 is now included in the UC2 toolkit.
  • The list of publishers in an image is now completely ordered rather than having a preferred publisher and several other non-preferred publishers. This order is used for selecting which publisher to use when a package is available in multiple publishers. New options are available in pkg(1) for ordering publishers.
  • Publishers can now be made "sticky" or "non-sticky". The previous behavior was sticky. When a package is installed from a non-sticky publisher, updates to the package can come from any other publisher, not just from the publisher from which the package was originally installed.
  • Pkg(5) now supports "exclude" dependencies in packages. This type of dependency declares that two packages cannot be installed within an image at the same time.
  • The pkg(5) API now includes an interface for canceling a search operation.  The updatetool client should be able to use this API in the future.

When the new pkg(5) software is used on an image or a repository, the meta-data is automatically converted to the new format. After this conversion, the older pkg(5) software will no longer work with either an image or a repository.  A new image will not be recognized as an image by pkg(5) software from previous builds and previous UC2 Toolkit versions.  To deal with this situation, the updatetool, software update, and notification software is being modified to avoid automatically updating an image to the new format. These modifications are still underway, but in build 44, updatetool warns the user when it encounters an older image and gives the user an opportunity to choose whether the image will be updated.  This behavior may be changed in future builds.

The new pkg.depotd software requires modifications when operating a repository. Details on these modifications are provided in the draft release notes for 2.4.

There are some significant known regressions and limitations with this build:

  • The platform and Java API limitations are described above. (issue 1974 and issue 1858)
  • Updatetool does not automatically open the image from the current working directory (issue 1982)
  • For the most part, the updatetool software does not yet provide access to new features such as publisher ordering or non-sticky publishers.

Wednesday Aug 19, 2009

Update Center Toolkit 2.2 Update 2 Release

The Update Center team is pleased to announce the availability of release 2.2 Update 2 of the Update Center Toolkit. This release includes the following changes:

  • A critical fix to the minimized Python for Mac OS X to solve a problem with downloading large packages, specifically the Glassfish jruby package
  • All fixes from previous update releases

Downloads and release notes for the 2.2 Update 2 release are now available.

Tuesday Jul 28, 2009

GlassFish v3 Preview Adopts pkg(5) and the Update Center Toolkit

Sort of old news, but we needed to bring our Adoption Stories up to date with the most recent releases of products adopting the Update Center Toolkit.

Back in early June, the GlassFish team released GlassFish v3 Preview, the latest early access release of the Java Enterprise Edition 6 technologies and the new Java EE 6 Web Profile.  Because GlassFish v3 uses a microkernel architecture based on OSGi, developers can begin with the Java EE 6 Web Profile and use the Update Center to dynamically upgrade to the full Java EE 6 platform.

As an early adopter of the Image Packaging System and the cross-platform Update Center Toolkit, this is the GlassFish team's 3rd release of GlassFish that is wholly based on the Image Packaging System and incorporates the Update Center Toolkit.  The GlassFish v3 Preview release includes version 2.1 of the toolkit.

As with previous GFv3 releases, the Preview release offers both installer-wrapped and raw zip download bundles - both of which are based on pre-installed pkg(5) images.  As functionality is added to the GFv3 releases, we've witnessed more and more packages being added to the GFv3  release and contrib package repositories.  The current combined count is over 50 packages!

The GlassFish team has already integrated v2.2 of the toolkit into their promoted development builds of GFv3.  Looking forward, the team plans to leverage v2.3 of the toolkit with their next GFv3 release.

Wednesday Jul 08, 2009

"Great tool, worked perfectly and was obvious to use"

Don't you love it when your project team receives this sort of feedback? 

We recently received this quote from a person that was evaluating the soon-to-be-released layered or unbundled pkg(5) form of the Sun GlassFish Web Stack, a commercially supported form of Apache HTTP Server, Tomcat, MySQL and PHP for Red Hat Enterprise Linux and Solaris. 

Although the Web Stack product has been available in native pkg(5) format as part of the OpenSolaris distribution since OpenSolaris 2008.05 and in native package format on Red Hat Entperise Linux and Solaris since Web Stack 1.4, this new form of the product distribution introduces non-root, relocatable and multiple instance installation support combined with the benefits of pkg(5)-based installation and update management for the Red Hat Enterprise Linux and Solaris platforms.

After sweating over hundreds of details in what may be perceived as a relatively basic tool, all of the people that contributed to the Update Tool GUI should feel proud of what they've delivered.

Congrats to the Update Center development team for making this experience happen!

Tuesday Jul 07, 2009

Update Center Toolkit 2.2 Update 1 Release

The Update Center team is pleased to announce the availability of release 2.2 Update 1 of the Update Center Toolkit. This release includes the following changes:

  • A fix to client reporting facility where customer opting-in for usage reporting didn't result in reporting data being sent.
  • A fix which allows overlapping of directory trees when publishing packages with the makepkgs tool.  
  • A fix to address the situation where a given file owner or group don't exist on the target system, or the installing user doesn't have permission to install files as that user (i.e., is a non-root user)

Downloads and release notes for the 2.2 Update 1 release are now available.

Tuesday Oct 07, 2008

Managing the Desktop Notifier

For some background about how the Update Center's desktop notifier is registered and managed on a system check out Chris' blog entry on the subject. 

Wednesday Oct 01, 2008

Windows Vista Support

Windows Vista is one of the supported platforms for the Update Toolkit 2 toolkit, but recently we ran into some problems with using the toolkit on an image that was installed under the Program Files folder. In Windows Vista, the Program Files folder is protected so that standard users are not able to write to that part of the file system. If a user does attempt to write there, something called a virtual store is created to receive the written data. This gives programs that are using the virtual store the illusion that they are able to write to Program Files when they really can't.  This worked fine for some operations, but there are some file operations that fail and so updatetool, running as a standard user, eventually got a permission failure. 

To fix this problem, the UC2 team will be introducing appropriate application manifests into the Windows executables that are part of the toolkit, so that the programs run as administrator when they need to on Windows Vista. As a work-around, the tools can be run as an administrator manually using the following:

  • If running updatetool from Windows Explorer or the start menu, right click on the icon and select "Run as administrator".
  • If running command line tools such as the pkg(1) CLI or the UC2 bootstrap tools, start the command prompt window that will be used to run the tools using the same "Run as administrator" option. This requires finding the Command Prompt icon in the start menu rather than using the Run "cmd" option.
Issue 704 contains more details about the root causes and the solution for this problem.

New Site for Update Center and pkg(5) Layered Distros

In addition to preparing the binaries of the first production quality release of the pkg(5) multi-platform toolkit, the Update Center 2 development team has been getting the developer-oriented documentation in state where it's easier for people to access.  A culmination of this effort is a new developer-oriented web site:

This site is oriented toward those projects and developers that are a) interested in learning more about how the pkg(5) system can help them add value to their multi-platform software distributions and b) actually taking advantage of the toolkit.

Although developers delivering pkg(5) format packages for OpenSolaris might also find useful information on this site, the site recommends that they check out first.

Why a New Dedicated Site?

Previously, our Update Center 2 development project published all of its toolkit documentation via the development project's wiki on  That approach was awkward because content associated with the development of the toolkit was intermingled with content geared toward users of the toolkit.  We decided the best way to address this issue was to establish a dedicated site for users of the toolkit.

We're also asked about why we didn't depend on the pkg(5) content hosted on   The short answer is that we wanted provide pkg(5) information in the multi-platform context rather than require users to sort through which pkg(5) information on applies to them vs making packages available specifically for OpenSolaris.

Developers vs End Users

Although end users may find the information on this site to be useful, we encourage binary distribution providers that embed pkg(5) technology to provide end user-oriented pkg(5) documentation.  Part of our development project's mission is to provide such documentation modules as part of the toolkit. 

Hosting of the Site

We chose to host the content on for a variety of reasons. First, we wanted to use a full featured, easy to access wiki service to deliver and maintain the content.  Second, we wanted to carve out our own space that is dedicated to a specific topic and community: multi-platform use of pkg(5).  Neither of these requirements were easily met by reusing one of the popular development-oriented open source project hosting sites.

Monday Sep 15, 2008

Pleasant Surprise: GlassFish V3 Prelude Desktop Notification

Ludo was pleasantly surprised to see the pkg(5)-based GlassFish v3 Update Tool automatically notify him of updates for his GlassFish installations on his Mac OS X system.  After 30 seconds of download and installation time, he was ready to play with the latest GlassFish V3 Prelude bits...

You can try out one of these pre-release GlassFish V3 Prelude builds too.


News for projects adopting the multi-platform port of the Image Packaging System - aka pkg(5)


« October 2016