tech-pkg archive

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

Re: CVS commit: pkgsrc/fonts/dejavu-ttf



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



Home | Main Index | Thread Index | Old Index