An option to automatically replace would be better than nothing... but my immediate use case is determining whether a DELETE/INSTALL cycle is necessary by comparing version numbers, which I'm presently implementing by parsing REPO LIST output. In the case where the user running my tools doesn't have admin access on the database, I'd like to at least tell them that installation of a newer version is necessary, even if they don't have the privileges to perform it themselves.
Regarding the packaging format -- I find the EXPath spec workable (there's much to be said for multiple vendor implementations); it was a matter of minutes to put together a makefile and some helpers to automate both package creation and installation (though those helpers are a bit hackier than I'd like right now, having to parse human-targeted output to determine the current version installed to compare it to the one just built).
Hi Charles,
if you delete packages, it is sufficient to specify the namespace,
which is why I'm inclined to disallow the installation of a package
that has already been installed with a different version - or
automatically replace/update it. What do you think?
Beside that, we may still extend the output of the repo:list()
function to sth. similar to the following example:
<package uri="http://www.functx.com" version="1.0"/>
...
As a sidenote: some time ago, we have started some internal
discussions on alternatives to the EXPath Packaging spec, which are
easier to build and maintain. If anyone thinks that sounds
interesting: your thoughts are welcome.
Christian
__________________________
On Wed, Feb 22, 2012 at 8:07 PM, Charles Duffy <charles@dyfis.net> wrote:
> Howdy --
>
> As best I can tell, there are currently two ways to list installed
> packages:
>
> - The REPO LIST command, which returns complete output, but in a format
> clearly intended for human consumption.
> - The repo:list() function, which is more programatically accessible but
> returns only namespaces (no version numbers)... simply repeating a single
> namespace twice if two versions of that package are installed.
>
> A mechanism to access the installed package list which includes versioning
> and directory info (the latter to allow uninstallation of a specific
> version using repo:delete) would be useful.
>
> _______________________________________________
> BaseX-Talk mailing list
> BaseX-Talk@mailman.uni-konstanz.de
> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk