On 11/21/11 15:54, Danek Duvall wrote:
Brock Pytlik wrote:
Do we need to allow users to specify path and basenames separately
(like generate does) or is allowing multiple full paths sufficient?
Can target be a relative path to source?
Do you have a use case for either?
The use case for the former is mostly less typing in some situations.
Right. What kind of situation?
I was specifically not thinking about the python module situation as I
don't, yet, have a good solution for that one. The cases I was thinking
about was when one library might be located in several locations. The
difference would be whether the base name would be repeated once per
directory. Alternatively, if two libraries could satisfy the dependency
and lived in the same directory, then it wouldn't be necessary to
specify that directory multiple times.
I think it might also be worth thinking about the other pkgdepend
abstraction bug we have, where we have to specify the full path in
bypass-generate, rather than the high-level object that we want to ignore.
This comes up when trying to bypass generation of dependencies on python
modules, for instance -- you have to specify all possible paths of the
python module, which is insane, or use a regular expression which is
potentially far too inclusive.
So, similarly, what if I want to declare a dependency on a python module?
Why should I have to specify the full path(s) instead of just the module
name (is this where you were thinking it would be useful to use a path and
multiple filenames)? Fundamentally, we want to name the interface we
depend on, which may very well be something other than a path or a service.
So perhaps we need "kind" after all? (I'd probably use "target-type".)
Or just like we have svc:/ (and potentially file:/) we could have
python:/ which meant this thing I'm naming is a python module.
Alternatively, we could have target-type and source-type and let those
default to file. I think a similar approach holds for bypass-generate.
We could have bypass-generate-type=python, or we could have
bypass-generate=python:/... (and I guess in the same vein actually, we
could have basename:/ and path:/ if we really need to meet that need.
Danek and I talked offline and agreed that while the case for multiple
targets of different types in the pkgdep space is limited, it seems
reasonable to say "Skip both this python module and this service when
analyzing the dependencies of this file." For that reason, we're going
to go with the encoding within the token of source/target/bypass-generate.
Brock
Danek
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss