Hauke Fath <hf%spg.tu-darmstadt.de@localhost> writes:
> On 7/23/21 4:30 PM, Greg Troxel wrote:
>> But, if it makes conceptual sense to have fonts installed for some uses
>> without the extra metadata dirs, and we can do that in a way that will
>> preserve the consistency properties that matter, that's a reasonable
>> thing to consider.
>
> Good to hear.
>
>> What abs@ suggested seems to meet that, basically saying that output
>> created my mkfontdir is a mkfontdir-world thing, detached from the
>> fonts,
>
> Exactly. The index files produced by mkfontdir are not part of the
> font packages. By making the mkfontdir run optional, you change the
> installation procedure, not the package (content).
I think there's an important property that we need to preserve, which is
that the state of the installed packages (including font directory
stuff) must be a function of the set of installed packages only, and not
vary depending on the sequence of installation/deinstallation. This
isn't exactly what I said earlier about package building not depending
on what's installed, but it's sort of the same thing; when you build and
install a set of packages, you always get the same thing.
As abs@ mostly said, one approach to having this consistency property
would be
no font packages depend on mkfontscale/mkfontdir. They might have
some sort-of-depending-not-really that just has a path for where
mkfontscale/mkfontdir ought to be if they exist, for substituting into
INSTALL/DEINSTALL. Basically bl3 for path, but not a dependency at
build time or run time.
font packages have some INSTALL script that
a) if mkfontdir/mkfontscale exists, run it
and a DEINSTALL script that
b) if mkfontdir/mkfontscale exists, get rid of the files from (a)
mkfontscale from modular has an INSTALL script that
c) runs mkfontdir for every font package that is already installed
and a DEINSTALL script that
d) removes things that coudl have been created in step c
It might be that c/d don't look at packages so much as do this for
things that are in the pkgsrc X-ish font directory. These details are
perhaps tricky.
with X11_TYPE=native, the font packages a/b steps will always happen,
because mkfontscale will always be there. Actually, if they aren't
the scripts will error, because X11_TYPE=native and lack of those
programs (or any of what is in native) is a base system configuration
error.
So:
do people agree that the end state should be independent of the
install/deinstall history?
did I expand correctly on what abs@ meant?
anything else?
Attachment:
signature.asc
Description: PGP signature