Greetings,

Revision 941 / e7bff46da54eab7c01f059eb1edf56750da55efc is a flag day both for those using pkg, and those running a depot.

For users, the immediate change is that search now defaults to remote search instead of local search. Your local search indexes will be rebuilt the next time a package is installed, an image-update happens, or rebuild-index is run manually. All existing styles of queries should continue to function as they have previously. Please let me know if you notice any regressions. In addition, more complex queries are possible. It is possible to construct boolean queries using AND and OR. Structured searches using syntax similar to dtrace are possible using the following format, pkg_name:action_type:key:token. Examples of action types are file and depend. Examples of key are basename and path. Token is what has been previously searched on. Lastly, it's possible to get a list of packages instead of a list action infomation by placing '<' and '>' around a query or part of a query. More documentation and explanation will be coming, but here is one example which demonstrates all of these new features. Until depots are updated to take advantage of this new search capability (see below), complex remote queries will report that the server doesn't support search.

pkg search '(<depend::> AND </usr/bin>) OR <*107*:file:: AND path:*usr*>'

That search will return a list of packages which either have a depend action in them and also match the token '/usr/bin' or have 107 in their version number and have a file action which has a path key which matches *usr*.

I promise, more helpful examples and documentation will be appearing soon.

For those running their own depots, the on disk search format has changed. This means that before starting the new depot, it's necessary to remove the old index directory, which is present in the root directory for your depot. Doing this will allow the new depot to rebuild its indexes when it first starts up. Note that it's currently necessary to start the depot without the readonly command flag for the indexes to be rebuilt. An alternative is to remove the directory, start a depot using the --refresh-index option. When it's finished, restart the readonly depots. The key thing to ensure is that more than one process is never trying to reindex the directory at a time.

If there are any questions, please let me know.

Brock

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

Reply via email to