Danek Duvall wrote:
> Looks nice, though I'd replace the underscore with a dash:
> info.defect-tracker.*
All the other multiword info.* attributes use underscore though - is there
a reason to be different here?
Though after further thought (and probably a bit of overthinking), I wonder
about reorganizing the whole info.* structure a bit.
Right now the defined "informational" attributes for packages are:
info.maintainer
info.maintainer_url
info.upstream
info.upstream_url
info.source_url
info.repository_url
info.repository_changeset
But in a number of cases, those, like the defect-tracker ones, will apply to
subsets of the package. In my original proposal mail, one of my examples
overloaded info.keyword to serve as a "grouping" agent:
pkg:/developer/gnome/gettext
set name=info.defect_tracker.url \
value=http://defect.opensolaris.org/
set name=info.defect_tracker.category \
value=development/gnome/libraries
set name=info.keyword value=pkg-config \
info.upstream_defect_tracker.url=https://bugs.freedesktop.org/ \
info.upstream_defect_tracker.category=pkg-config
set name=info.keyword value=intltool \
info.upstream_defect_tracker.url=https://bugs.launchpad.net/intltool
set name=info.keyword value=gnome-common \
info.upstream_defect_tracker.url=https://bugzilla.gnome.org/ \
info.upstream_defect_tracker.category="product=gnome-common"
And like the defect tracker, there's duplication between upstream and downstream
entries.
Would it make more sense to have the grouping be more explicit, such as:
info.source.<source_name>.contact
info.source.<source_name>.contact.url
info.source.<source_name>.source.url
info.source.<source_name>.source.repository.url
info.source.<source_name>.source.repository.changeset
info.source.<source_name>.defect-tracker.url
info.source.<source_name>.defect-tracker.category
If the values are the same for everything in a package, then <source_name>
would simply be "upstream" and "packager" for packages delivered from upstream,
and "developer" for those originating from a single source, but if there's
multiple values, then any number of groups can be created, with ":upstream",
":packager", and/or ":developer" added to the end of each <source_name>.
For any values not set on a "*:foo", the default fallback would be the
equivalent "foo" value.
So building on some of the previous examples:
pkg:/package/pkg
set name=info.source.developer.contact \
value="[email protected]"
set name=info.source.developer.contact.url \
value="http://hub.opensolaris.org/bin/view/Project+pkg/"
set name=info.source.developer.source.repository.url \
value="ssh://[email protected]/hg/pkg/gate"
set name=info.source.developer.defect-tracker.url \
value=https://defect.opensolaris.org/
set name=info.source.developer.defect-tracker.category \
value=Development/pkg
pkg:/system/kernel
set name=info.source.developer.contact \
value="[email protected]"
set name=info.source.developer.contact.url \
value="http://hub.opensolaris.org/bin/view/Community+Group+on/"
set name=info.source.developer.defect-tracker.url \
value=http://bugs.opensolaris.org/
set name=info.source.developer.defect-tracker.category \
value=solaris/kernel value=solaris/driver
pkg:/SUNWcs
set name=info.source.developer.defect-tracker.url \
value=http://bugs.opensolaris.org/
set name=info.source.developer.defect-tracker.category \
value=solaris/utility
set name=info.source.packager.defect-tracker.url \
value=http://bugs.opensolaris.org/
set name=info.source.ksh93:upstream.contact.url \
value=http://kornshell.com/
set name=info.source.ksh93:packager.contact \
[email protected]
set name=info.source.ksh93:packager.defect-tracker.category \
value=solaris/shell/korn93
file usr/has/bin/sh \
info.source.developer.defect-tracker.category=solaris/shell/bourne
file usr/bin/csh \
info.source.developer.defect-tracker.category=solaris/shell/cshell
file usr/bin/ksh93 info.source=ksh93
file usr/bin/print info.source=ksh93
file usr/bin/sleep info.source=ksh93
file usr/bin/test info.source=ksh93
pkg:/x11/server/xorg
set name=info.source.packager.defect-tracker.url \
value=http://bugs.opensolaris.org/
set name=info.source.packager.defect-tracker.category \
value=solaris/xserver/xorg-server
set name=info.source.upstream.defect-tracker.url \
value=https://bugs.freedesktop.org/
set name=info.source.upstream.defect-tracker.category \
value=xorg/Server/general value=xorg/DDX/xorg
pkg:/developer/gnome/gettext
set name=info.source.packager.defect-tracker.url \
value=http://defect.opensolaris.org/
set name=info.source.packager.defect-tracker.category \
value=development/gnome/libraries
set name=info.source.pkg-config:upstream.defect-tracker.url \
value=https://bugs.freedesktop.org/
set name=info.source.pkg-config:upstream.defect-tracker.category=pkg-config
set name=info.source.intltool:upstream_defect-tracker.url \
value=https://bugs.launchpad.net/intltool
set name=info.source.gnome-common:upstream.defect-tracker.url \
value=https://bugzilla.gnome.org/
set name=info.source.gnome-common:upstream.defect-tracker.category \
value="classification=Other;product=gnome-common"
I'm not thrilled about using source as both "a person/group/place
contributing to the development of a package" and "the programming
language input files that humans wrote", but don't have a better
idea right now (info.about.* and info.for.* both seemed a bit awkward).
I know, I'm totally over-obsessing about this, right?
--
-Alan Coopersmith- [email protected]
Oracle Solaris Platform Engineering: X Window System
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss