On Tue, Jun 03, 2008 at 02:36:42PM -0700, [EMAIL PROTECTED] wrote:
> > However, one problem with this is that it creates a situation where
> > you are publishing a package that depends on a file in a package that
> > hasn't been published yet.
>
> How is this any different from the behavior that we have today? I can
> write a package with a dependency on a package that isn't in the
> repository. At least in the current code, we don't require that that the
> dependent packages be present in the catalog.
Precisely.
> We're talking about a mechanism that allows the developer to
> specify a file name, and if possible, get that translated to a package
> dependency. This needs to happen at publication time;
Does this need to happen at publication time? I haven't looked at
that part of the server code, but logically, there should be no
reason for this to happen at publication time. The client should be
able to handle a file-based dependency just like it handles
FMRI-based ones right now. I could, in fact, simulate a poor-man's
version of this with the tools available right now:
---
# Assuming that file dependencies are specified as "depend file=..."
PKGNAME=<package-to-install>
DEPFILES=$( pkg contents -m "$PKGNAME" \
| sed -n '/depend file=/s/^.*file=\([^ ]*\).*$/\1/p' )
DEPPKGS=
for FILE in $DEPFILES; do
# TODO: Filter multiple results and pick the best match
DEPPKGS="$DEPPKGS $( pkg search "$FILE" | tail +2 | awk '{print $NF}')"
done
pkg install $DEPPKGS "$PKGNAME"
---
That should do it, I guess.
Venky.
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss