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