[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dependencies of -dbg and -doc packages



Ludovic Brenta <ludovic@ludovic-brenta.org> writes:

> Stephen Leake wrote:
>
>> The second problem is "how does someone new to Debian discover all the
>> Ada packages that are available".
>> 
>> The answer could be the same, or it could be "run the aptitude character
>> based GUI, and type some obsure commands", or it could be "run the
>> Synaptic modern GUI, use the buttons to search for gnat in
>> 'dependencies'".
>> 
>> The latter seems likely to be the closest to the "typical" modern user's
>> expectations, except that they will be more likely to try searching for
>> "Ada" in "description and name" first, and get _lots_ of false positives
>> (that's what I just did :).
>> 
>> But everyone will have different expectations, so it's good that we have
>> three possible answers. Perhaps we can post these answers in a Debian
>> Ada FAQ somewhere?
>> 
>> They all suffer from various failures. apt-rdepends gives a precise
>> list, but doesn't give any descriptions. The aptitude character GUI
>> apparently only reports about installed packages, which is likely to be
>> none on a new machine.
>
> No; aptitude shows all packages, installed or not (in different sub-trees
> by default).

It didn't for me when I tried to repeat the process you gave.

Could you give more explicit instructions?

>> The Synaptic search requires use of a rodent-like
>> attachment :), gives some false positives, and leaves out
>> libopentoken-dbg (I'm not clear why).
>
> That's why I think that ensuring that all Ada packages are linked with
> one another in some sensible way would be a big help.

Only if Synaptic takes advantage of those links. It didn't use the
Depends: links properly, and it doesn't say anything about using
Recommends:.

Unless there is some other tool that people should use.

> Note: there is a fourth answer: use debtags.  This is available both
> in aptitude and in synaptic; but it requires brave souls to add tags
> to each package and that's not done in the debian/control files but
> externally in a tags database.

That doesn't sound like a good solution, but it should work.

>> Now we are talking about a different problem; how to install packages
>> once we find out about them.
>
> I'd like this to be as immediate as possible; there should not be separate
> commands.

Ok; the check boxes in synaptic do that. I guess there is something
similar in the aptitude GUI.

Currently it's a several step process in synaptic:

1) browse the list of packages dependent on libgnat

2) find a few, note the root names (ie "opentoken")

3) search for that name to get all packages related to it (-dbg, -doc)

4) click on the check boxes of the ones you want to install

5) click on "install"

6) repeat 3 .. 5 for the other noted packages.

I don't think that's too complicated for someone who is used to building
software.

But it would be nice if the initial browse command produced a more
complete list.

>> I doubt _any_ user will want to simply install "everything that uses
>> Ada". I expect them to browse the list, decide to install a couple of
>> packages to start with, and type:
>> 
>>     aptitude install libopentoken-dev libgnadesqlite-dev
>> 
>> or just click on the check boxes in Synaptic.
>
> Yes. This is why our hypothetical user needs a browsable list of such
> packages in one screen in aptitude or Synaptic.  The reverse dependencies
> of gnat-4.3 or gnat-4.4 is such a list but it is a wee bit incomplete
> (no -doc or -dbg packages visible).  Moreover, if you look at all the
> immediate reverse dependencies of gnat-4.3 and install them all, you
> will be missing several -doc or -dbg packages and you won't even know
> about that.
>
> If each -dev package (already visible in this list) would Suggest the
> corresponding -dbg package and Recommend the corresponding -doc package
> (which is the current proposal), the whole selection + installation
> process would be streamlined.

How? How do I get synaptic or aptitude to show me "all reverse
dependencies of libgnat, plus all things they Suggest and Recommend".

Ah. In synaptic, the "search dependencies" does include Suggests;
ada-reference-manual has a Suggests: gnat, and when I search for "gnat
dependencies", it shows ada-reference-manual. And it includes
"Recommends" as well.

So having all ada-related packages Suggest gnat if they don't already
directly Depend or Recommend it or some package name containing the
string 'gnat' would cause synaptic to show them all in a single search.
That works for me.

Just be sure the policy includes the rationale that "this causes
synaptic (and aptitude?) to display this package when searching for
'gnat dependencies'".

And we still need a FAQ to point out this way of using synaptic; it's
not obvious, both because it doesn't involve searching for "ada", and it
involves the mysterious "dependencies" search option.

Hmm. I tried searching for "ada dependencies" and got lots of false
positives and false negatives, but some true positives. Ah; that's "all
dependencies (depend, recommend, suggest) on all packages whose name
includes 'ada'". gprbuild depends on libxmlada, so it shows up. gnat
suggests ada-reference-manual, so it shows up. But libopentoken doesn't
show up, so this is not a recursive dependencies search. And adanaxisgpl
depends on adanaxisgpl-data, so it shows up.

Searching for "gnat dependencies" also gives false positives; the
'gnats' bug tracking system shows up. But it's not too bad, at the
moment.

-- 
-- Stephe


Reply to: