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