* Kuldip Oberoi <[EMAIL PROTECTED]> [2008-04-30 17:18]:
> Stephen Hahn wrote:
> > .... It's not a great idea to name packages with their release
> > characteristics. That's what the version is for.
> >
> > For instance, if sunstudioexpress isn't the name of the final package,
> > then upgrades from
> >
> > pkg:/[EMAIL PROTECTED],5.11-0.86:20080428T164106Z
> >
> > to
> >
> > pkg:/[EMAIL PROTECTED],5.11-1:...
> >
> > are (a) manual by default, and (b) will involve retrieving all of the
> > sunstudio files and deleting all of the sunstudioexpress files.
> >
> > (Not picking on the compilers here, but want to point out authors are
> > on the wrong path if they start naming their packages "foo-beta" and
> > "foo-express", rather than [EMAIL PROTECTED] and then [EMAIL PROTECTED]
> > One for the
> > developer's guide.)
>
> I may not fully understand how this works, but here's a subset of our
> requirements:
>
> 1. Users have the ability to have multiple Sun Studio versions installed
> (Sun Studio 11 [for CBE, for instance], Sun Studio 12 [latest FCS
> release], etc.)
>
> 2. Users are able to get access to the latest public builds via Sun
> Studio Express program (non-FCS) and have them installed next to FCS builds.
>
> Because there is no option to specify destination directory via IPS, we
> thought we'd move to having version specific directories for our FCS
> releases. Because of this, we envisioned that we would have 1
> sunstudioexpress pkg and separate packages for major releases
> (sunstudio11, sunstudio12, ...)
>
> So, in theory, someone can have the following on their system:
>
> /opt/SunStudioExpress/
> /opt/SunStudio12/
> /opt/SunStudio11/
>
>
> My understanding is that if we want to have version specific
> directories, this needs to be associated with a version-specific
> package. However, if a destination directory can be associated with a
> specific _version_ of a package, then we can go with 1 package.
>
> Thoughts? Mis-assumptions I've made, etc.?
(In between one issue and the next, I've almost finished responses to
our first attribute and naming review rounds. But this aspect didn't
present there, so it's good to cover here.) The first point is that
the summary and description attributes are the place for so-called
"marketing" names. The package FMRI is an ID suitable for
programmatic use; it's the API for "a particular piece or pieces of
software. FMRIs need to be of known stability and, eventually, to
change only for very precise reasons.
So, the choices here can be split into two categories:
1. Installation of multiple versions. Tom points out that user
images are being introduced expressly for this case--I would
emphasize that for complex stacks of software, installer programs
should in fact offer user images as the preferred way to deliver
related sets of software. Shawn mentions that it should be easy
to have multiple versions installed, without going through the
user image step, which is also true for some classes of software.
Everybody's right: this choice is a design decision for the
package author.
If you expect that having
/opt/SunStudio11
/opt/SunStudio12
is the common case, then you should have
pkg:/[tools_categories]/[EMAIL PROTECTED]
pkg:/[tools_categories]/[EMAIL PROTECTED]
so that both packages can be installed, and we can use a group
package like the current "ss-dev" to manage the preferred
configuration.
If you instead expect that most sites would like a preferred
configuration with a single version, and that complex development
sites should use user images, then you would just have
pkg:/[tools_categories]/[EMAIL PROTECTED]
pkg:/[tools_categories]/[EMAIL PROTECTED]
with a clear upgrade path being defined automatically.
2. Handling of pre-release versions. Pre-release versions are
different. Here the goal is to keep the pre-release aligned with
the general release as much as possible; that means identifying
the FMRI and the destination paths early. Why? Well, it makes
upgrade for your beta customers automatic, it minimizes
operational costs of that upgrade, and it lets potentially
dependent software components make adjustments during the
pre-release phase (which is usually one of the goals for such a
phase...). What that means is that package version numbering and
product names may need to depart to retain efficiencies and
seamless operation.
(Sites that want to continue to run a pre-release version--because
organizational needs forced a standardization on a beta product
(as often happens)-- would need to use a user image to do so.)
So I would expect the current sunstudioexpress package to be renamed
to sunstudio13, with a version number much lower than 13.0. A trick
we've been using is the "0." prefix on the hypothetical final version
number--that should keep the version ordering correct for most cases.
(If anyone's really worried, prefix with "0.0.".) The package summary
could be "Sun Studio Express - C, C++, and Fortran compilers", or
whatever is deemed appropriate.
Cheers
Stephen
--
[EMAIL PROTECTED] http://blogs.sun.com/sch/
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss