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

Reply via email to