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

Re: Exploring package interrelationships



On Sun 14 Apr 2019 at 07:32:36 (-0500), Richard Owlett wrote:
> Long term goal: *personal* definition of a minimalist Debian

Debian is in no way minimilist: in fact, it's the opposite,
"The universal operating system" claiming over 51000 packages.

You're the one claiming to be a minimalist, though we may have our
doubts because your "minimal CLI" system is to include tools like
synaptic which requires a graphical system of one kind or another.

But by having a *personal* definition (your emphasis) of what's
minimalist^H^H^H, you've reserved the role of judge and jury on
any suggestions made here. As usual.

> current goal: grok how packages interact

AIUI, which is but partially, the interactions at the granularity
of installation (ie ignoring library calls and suchlike) are
encapsulated in the Packages file's {Pre-,}Depends: lines.

I've taken a look at these using Python dictionaries, but it would
appear that they actually form a type of directed graph, for which
mathematicians have a battery of tools, I'm sure. (It's not merely
"simple" because two packages can depend on each other, but I haven't
looked for loops or other complications.)

> current *test case*/example: a very minimal install of MATE
> An illustration of the opposite of what I want is task-mate-desktop.
> It's description states:
> > This task package is used to install the Debian desktop, featuring
> > the MATE desktop environment, and with other packages that Debian
> > users expect to have available on the desktop.In what I want only
> > the top level menu headings [Applications Places
> System] would exist. Under Applications the sub-headings [Accessories
> Education Graphics etc] may exist but their contents would be empty.
> 
> proposed procedure:
> Do a minimal install of a CLI system.
> Follow with "apt-get install" of a very minimal set of MATE components.
> [Pluma, Caja, and Synaptic would be included]
> 
> Under "https://packages.debian.org/stretch/"; I have been exploring
> entries under task-mate-desktop, mate-desktop-environment,
> mate-desktop-environment-core, and desktop-base.
> 
> I'm do getting a good visualization of how to reach my goal. Something
> that acted on repositories as apt-cache does on the current machine's
> cache would be useful.

Well, there's your answer then. Study how it works. Download the
source and analyse it.

> In past conversations it has been suggested that I do a typical
> install and just un-install the un-desired elements:
> 
> That is undesirable for two primary reasons:
> 1. I would not reach my primary goal of "grok how packages interact".
> 2. Uncertainty of what the resulting "thing" would be.
>    [While channel surfing recently, I caught a visual example. A
>     children's show was exploring mixing and sorting. The 1st example
>     was putting colored balls in a glass bowl. There was no problem
>     separating the balls into 2 sets. The 2nd example was mixing two
>     glasses of water with red dye in one and green in the other. The
>     mixing could not be undone.]

I don't understand. You're implying that the install-then-uninstall
method will mix packages like dye in water, and I've seen no evidence
that Debian systems behave like that (though I can't speak for synaptic).

> Comments/suggestions/readings/search terms.

You've answered it here: it's in the package resolvers. At this stage
you might be expected to have an idea of how many distinct resolvers
there are in Debian's various installers, apt-get, aptitude, dselect,
etc. Myself—I don't. I've always found apt-get's satisfactory enough
without investigating further.

Cheers,
David.


Reply to: