Greetings,
The following webrev contains the changes necessary to implement these RFEs:
7862 install links using p5i for search results desired
8723 repository should contain publisher and repository client metadata
8724 publisher metadata retrieval operation desired
webrev:
http://cr.opensolaris.org/~swalker/pkg-8724/
Change Summary
========================================
* Added new p5i/0 depot operation to allow generation and retrieval of a
.p5i datastream for a partial, full, or matching package FMRI. See
doc/depot.txt for details.
* Added new publisher/0 depot operation to allow generation and
retrieval of publisher metadata from repository. See doc/depot.txt for
details.
* Added new module pkg.p5i to allow server or clients to parse and write
p5i files outside of the client api (although due to restrictions on
changes right now, the client api has not been altered to use this new
class, and the new pkg.p5i class currently relies on pkg.client.api_errors).
* Rev'd pkg.server.api to reflect changes to repository configuration
attributes and updated docstrings.
* Changed depot info/ operation to first check repository configuration
for publisher information if not available from FMRI, and then return ""
for publisher if none available.
* Changed depot feed to use publisher.prefix instead of feed.authority.
* Added support for several new attribute types to repositoryconfig
class: ATTR_TYPE_URI, ATTR_TYPE_URI_LIST, ATTR_TYPE_PUB_ALIAS,
ATTR_TYPE_PUB_PREFIX, and ATTR_TYPE_REPO_COLL_TYPE.
* Updated repositoryconfig unit tests.
* Added new api.t_p5i unit test suite.
* Added unit tests for new publisher/0 and p5i/0 operations to depot
test suite.
* Added p5i link and icon to BUI catalog page and search result pages.
Notes
========================================
This does represent somewhat of a flag-day for depot users. Notably,
the new functionality that has been added will not work correctly until
users update their cfg_cache. In particular, there two sections
entitled "[publisher]" and "[repository]" will need to be updated.
However, to be clear, this information does *not* have to be provided
for any of the existing depot functionality to work correctly, excluding
that of the depot /feed.
The easiest way to do this is to stop and start the depot server (not in
readonly mode) so that the new sections and attributes will be written
to the configuration file. A sample of what they might look like is below:
[publisher]
alias = os.org
prefix = opensolaris.org
[repository]
collection_type = core
description = <p>This repository serves the currently in-development
release of
OpenSolaris. For production-quality release bits, see <a
href="http://pkg.opensolaris.org/release">the Release
repository</a>.</p><p>
For more about OpenSolaris:</p><ul><li>Visit
<a href="http://www.opensolaris.com">opensolaris.com</a></li><li>Visit
<a href="http://www.opensolaris.org">opensolaris.org</a></li><li><a
href="http://www.opensolaris.com/get/index.jsp">Download ISO Images</a>
</li></ul>
detailed_url = http://www.opensolaris.com
legal_uris =
http://www.opensolaris.org/os/copyrights/,http://www.opensolaris.org/os/tou/,http://www.opensolaris.org/os/trademark/
maintainer_url = http://www.opensolaris.org/os/project/indiana/
maintainer = Project Indiana <[email protected]>
name = OpenSolaris Packaging Repository
origins = http://ipkg.sfbay/dev
refresh_seconds = 86400
registration_uri =
related_uris =
http://pkg.opensolaris.org/contrib,http://pkg.opensolaris.org/pending
Requirements for new functionality
========================================
For the new functionality that was added, the following repository
cfg_cache entries should be provided:
[publisher]
alias =
prefix =
[repository]
collection_type =
origins =
For allowed values, please see the pydocs for pkg.client.publisher for
the Publisher and Repository classes respectively or pkg.server.api.
Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss