No dia 1 de Janeiro de 2011 17:29, Maciej (Matchek) Blizinski
<[email protected]> escreveu:
> No dia 1 de Janeiro de 2011 14:00, Peter FELECAN
> <[email protected]> escreveu:
>> "Maciej (Matchek) Blizinski" <[email protected]> writes:
>>
>>> I agree that suggesting a gazillion unrelated looking packages might
>>> be confusing.  We could stop doing that and only report missing base
>>> directories, but... if the right choice is to add a dependency,
>>> finding the right dependency by hand is a PITA.  (Unless you know
>>> tricks such as "bin/pkgdb show filename /etc/opt/csw/init.d".)
>>
>> It's not a unknown trick if you give this exact information in your
>> message helping the maintainer to find his way.
>
> I still fiddle a lot with the interface of pkgdb, and I was a bit
> reluctant of revealing it to the world.  This is a very good
> suggestion, how about the following patch? (...)

Turns out, it's not that easy.  The patch I suggested does not work.
We have to solve the general case of "CSWfoo needs path /opt/csw/bar".

What checkpkg currently does, is that it explains the issue, and if
the directory is already present in other packages, it suggests
declaring a dependency one one of them; providing a full list and
letting the maintainer choose which one.

The code that handles it is generic, which means it works for all file
types and doesn't care about the type of the needed file.  The
interface to the database is that you call
GetPkgByPath("/opt/csw/lib/foo") and receive a list of packages:
frozenset(["CSWfoo", "CSWbar", ...]).  You can call it with
/opt/csw/bin/python and it'll suggest CSWpython; in the future, you'll
be able to call /opt/csw/bin/python3.1 and it'll suggest the
dependency on CSWpython31.  It's got a great potential.

Making it smarter however will require changing the database
interface; for example, each package name will need to be accompanied
by some file metadata, e.g. file type such as 'f', 'd', or 's'.

To make checkpkg output more useful, we can try to apply some
heuristics, for example if one of the packages returned is CSWcommon,
we can suggest just CSWcommon and not any other packages.
_______________________________________________
maintainers mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/maintainers
.:: This mailing list's archive is public. ::.

Reply via email to