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

Reply via email to