Laszlo (Laca) Peter wrote:
I'm working on adding support for IPS source packages
in pkgbuild.  As discussed earlier[1], the source packages
will live in a separate repository (which can technically
be the same repository).  I propose adding the following
meta data:

source packages:

set name=info.source_pkg_type value=pkgbuild
set name=info.pkgbuild_version
    value=<version of pkgbuild that created the pkg>

You have a generic name for the tool that built the package, so it seems logical to have one for the tool that built it as well.

Perhaps, info.source_pkg_type_version instead of info.pkgbuild_version?

binary packages:

set name=info.source_pkg_server value=<http://url/to/src/ips/server>

Instead of server, I'd prefer this be:

info.source_pkg_repo

Also, remember that it isn't necessarily http :-)

Right now, we support http and https, and eventually the client will support file:// as well (we already do for publication).

set name=info.source_pkg_fmri value=<full fmri of the source package>

Couldn't there be multiple source packages for a single binary package?

set name=info.source_pkg_type value=pkgbuild

The source package itself will include the following:

/usr/share/src/<package name>-<package version>/

<package name> will be problematic here unless it is escaped. For example, a package might be named "developer/tool/exuberant-ctags", which escaped would be 'developer%2Ftool%2Fexuberant-ctags'.

Also, instead of '-<package version>', I would use the same format that the FMRI class already provides. As an example:

developer/tool/[email protected],5.11-0.111:20090418T200135Z

...which, escaped is:

developer%2Ftool%2Fexuberant-ctags%405.7%2C5.11-0.111%3A20090418T200135Z

Doing things that way would allow you to easily parse package FMRIs and get their directory paths just by doing:

f = pkg.fmri.PkgFmri("developer/tool/[email protected],5.11-0.111:20090418T200135Z", None)
path = f.get_dir_path()

By default, the source packages will be called
        src/<binary package name>
unless there's a better suggestion.

I wouldn't do that for the same reasons David mentioned. I'd suggest appending or prefix "source" or "src" to the name (with a leading or trailing slash respectively), so:

src/developer/tool/exuberant-ctags
source/developer/tool/exuberant-ctags

or:

developer/tool/exuberant-ctags/src
developer/tool/exuberant-ctags/source

The other question I have is how you will deal with binary packages that come from a single or multiple source package?

Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to