Bug 165781

Summary: [bsd.port.mk] [patch] update font ports management
Product: Ports & Packages Reporter: Alberto Villa <avilla>
Component: Individual Port(s)Assignee: Alberto Villa <avilla>
Status: Closed Overcome By Events    
Severity: Affects Only Me CC: cs
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Alberto Villa freebsd_committer freebsd_triage 2012-03-06 17:20:13 UTC
Font ports are currently handled by hand, one by one, while most of the tasks (like updating font cache) could be automated. X.Org font ports have a draft of such a system, but a bit bugged, and not suited for non-X.Org ports (some try to use it, with some hacks). Additionally, all the @(un)?exec's used in those ports fail with pkgng, thus being an obstacle to its growth.

Fix: The attached patch proposes an evolution of the system already there for X.Org ports, which takes care of most of the procedures required by font ports:
- setting installation directory (different for X.Org and non-X.Org ports) without hardcoding it (thus making it flexible);
- creating and removing installation directories;
- updating font cache;
- printing a default pkg-message to notify users about the need to update xorg.conf(5).
It has been reviewed and approved by x11@ (via kwm@), apart for documentation which still requires work.

It fully supports pkgng, and introduces extension scripts for plist. Keywords/fontdir.yaml provides a @fontdir plist directive which updates font cache for a directory and removes the directory on deinstallation.
This has been approved by portmgr@ (via bapt@).

The system can be included with XORG_CAT=font for X.Org ports, and INSTALLS_FONTS=yes otherwise.

I'm now asking for an exp-run to check for errors.

Please note: the attached patch contains bits which have to go in at the same time. Without them all, fail is ensured. Here - http://people.freebsd.org/~avilla/files/fonts/fonts-full.diff - you can find a patch containing the fixes for *all* (120) font ports. As I expect it will take some time to get approval for all of them (at most two weeks, for maintainer timeout), I'd like to start committing the smaller patch, and then update single ports when maintainers reply.

Patch attached with submission follows:
Comment 1 Alberto Villa freebsd_committer freebsd_triage 2012-03-06 17:21:44 UTC
Responsible Changed
From-To: freebsd-ports-bugs->portmgr

Assigning to portmgr@ as it's a request for an exp-run.
Comment 2 Baptiste Daroussin freebsd_committer freebsd_triage 2012-03-07 13:03:08 UTC
Responsible Changed
From-To: portmgr->bapt

take for exp-run
Comment 3 Baptiste Daroussin freebsd_committer freebsd_triage 2012-05-19 00:51:30 UTC
Responsible Changed
From-To: bapt->avilla

back to submitter
Comment 4 Carlo Strub freebsd_committer freebsd_triage 2014-09-11 20:06:22 UTC
Is this PR still relevant?
Comment 5 Alberto Villa freebsd_committer freebsd_triage 2014-09-24 01:16:35 UTC
The feature has been mostly implemented via pkg(8) keywords; closing.