On Jun 24, 2009, at 5:50 PM, Christian Kelly wrote:
I suggest the following. Periodically, say, every 24 hours, we:
    - create a new empty repo
- for each package we want to *keep* we pkgsend | pkgrecv it to the new repo
    - rebuild the catalog
    - swap out the repos

Actually, this sequence should work and is much simpler (and will handle the catalog, search indices, etc.):

* pkgrecv -s src_repo -d file:///path/to/dest_repo fmris_you_want_to_keep (note that dest_repo doesn't even have to exist yet, it will automatically be created if needed)

* copy the cfg_cache from the old repo to the new repo

* stop the depot server for the old repository

* remove the old repository directory

* move the new repository directory into place

* start the depot server

Again, unexpected behaviour may occur with the client when things are removed from the catalog, and we will certainly fix any tracebacks that result.

We could even disallow any publishing to the repo while it's being rebuilt, so that the packages that are already in it are available for users to install.

That would be a good idea.

That does sound reasonable? We could do this on a trial basis and if we start seeing problems, simply stop doing this until another solution is available.


As long as it is clear to users of pending what the expectations are, I think this will be fine. It will be even better once we can begin to expose the repository description and other metadata to the client directly.

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

Reply via email to