ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Valery V. Inozemtsev" <shrek@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] chkfontpath
Date: Thu, 30 Aug 2007 20:23:19 +0400
Message-ID: <200708302023.23954.shrek@altlinux.ru> (raw)
In-Reply-To: <20070830124610.63dbadda@mission>


[-- Attachment #1.1: Type: text/plain, Size: 2111 bytes --]

...

поясняю еще раз по порядку

на данный момент /etc/X11/fs/config, chkfontpath и иже с ними являются крайне неудобным решением,
т.к. при установке шрифта надо править конфиг и эти шрифты мы получим только после рестарта иксов.
/etc/X11/fs/config вообще находится в пакете никак не относящемуся ни к иксам ни к шрифтам

теперь собственно по обновлению всего этого хозяйства
1. пересборка всех пакетов со шрифтами в которых будет следующее (для примера взят fonts-ttf-liberation.spec):
...
PreReq: fontconfig >= 2.4.2
...
BuildRequires: mkfontscale
...
%install
%__mkdir_p %buildroot%_fontsdir/%fname
%__install -m644 *.ttf %buildroot%_fontsdir/%fname
%_bindir/mkfontscale %buildroot%_fontsdir/%fname
%__ln_s fonts.scale %buildroot%_fontsdir/%fname/fonts.dir

%__mkdir_p %buildroot%_sysconfdir/X11/fontpath.d
%__ln_s ../../..%_fontsdir/%fname %buildroot%_sysconfdir/X11/fontpath.d/ttf-%fname:pri=50

имена симлинков в /etc/X11/fontpath.d следующие:
для ttf шрифтов ttf-%name:pri=50
для otf - otf-%name:pri=50
для type1 - type1-%name:pri=40
для bitmap - bitmap-%name:pri=20 если шрифты не зависят от локали и bitmap-%name:pri=10 для зависимых
от локали.
":pri=" это порядок в котором шрифты будет выбираться


далее триггер (только для пакетов у которых не меняется имя, изменяется только %version или %release):
%triggerin -- %name <= 0.2-alt1
[ ! -x %_sbindir/chkfontpath -a ! -f %_sysconfdir/X11/fs/config ] || \
        %_sbindir/chkfontpath -q -r %_fontsdir/%fname ||:

выполнен он будет соответственно только один раз. проверки нужны потому что точно не знаем
есть у нас на данный момент chkfontpath или /etc/X11/fs/config (как там apt будет их сносить/устанавливать
доподлинно не известно).

2. конфликт на chkfontpath будет в xorg-x11-xfs после того как будет произведена
пересборка всех шрифтовых пакетов (или не будет, семеро одного не ждут) и будет новый setup

далее по спеку:
%post
%_bindir/fc-cache %_fontsdir/%fname ||:

%files
%doc License.txt
%_sysconfdir/X11/fontpath.d/*
%_fontsdir/%fname

что тут заворачивать в макросы мне не понятно. спек для примера во вложении

-- 
Valery V. Inozemtsev

[-- Attachment #1.2: fonts-ttf-liberation.spec --]
[-- Type: text/plain, Size: 1602 bytes --]

%define fname liberation
%define _fontsdir %_datadir/fonts/ttf

Name: fonts-ttf-%fname
Version: 0.2
Release: alt2

Summary: Fonts to replace commonly used Microsoft Windows Fonts

License: GPL+exception
Group: System/Fonts/True type
Url: https://www.redhat.com/promo/fonts/

Packager: Valery Inozemtsev <shrek@altlinux.ru>

PreReq: fontconfig >= 2.4.2

Source: https://www.redhat.com/f/fonts/liberation-fonts-ttf-3.tar.gz

BuildArch: noarch
BuildRequires: mkfontscale

%description
The Liberation Fonts are intended to be replacements for the three
most commonly used fonts on Microsoft systems: Times New Roman,
Arial, and Courier New.

%prep
%setup -q -n %fname-fonts-%version

%install
%__mkdir_p %buildroot%_fontsdir/%fname
%__install -m644 *.ttf %buildroot%_fontsdir/%fname
%_bindir/mkfontscale %buildroot%_fontsdir/%fname
%__ln_s fonts.scale %buildroot%_fontsdir/%fname/fonts.dir

%__mkdir_p %buildroot%_sysconfdir/X11/fontpath.d
%__ln_s ../../..%_fontsdir/%fname %buildroot%_sysconfdir/X11/fontpath.d/ttf-%fname:pri=50

%triggerin -- %name <= 0.2-alt1
[ ! -x %_sbindir/chkfontpath -a ! -f %_sysconfdir/X11/fs/config ] || \
	%_sbindir/chkfontpath -q -r %_fontsdir/%fname ||:

%post
%_bindir/fc-cache %_fontsdir/%fname ||:

%files
%doc License.txt
%_sysconfdir/X11/fontpath.d/*
%_fontsdir/%fname

%changelog
* Tue Aug 28 2007 Valery Inzemtsev <shrek@altlinux.ru> 0.2-alt2
- used %_sysconfdir/X11/fontpath.d, adieu chkfontpath

* Mon Aug 06 2007 Valery Inzemtsev <shrek@altlinux.ru> 0.2-alt1
- 0.2

* Sun May 13 2007 Vitaly Lipatov <lav@altlinux.ru> 0.1-alt1
- initial build for ALT Linux Sisyphus

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2007-08-30 16:23 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-28  7:56 [devel] libXfont >= 1.2.9 - прощай chkfontpath Valery V. Inozemtsev
2007-08-28 10:57 ` Valery V. Inozemtsev
2007-08-28 17:01   ` Denis Medvedev
2007-08-28 18:10     ` Valery V. Inozemtsev
2007-08-29  5:26 ` [devel] да здравствует chkfontpath для /etc/X11/fontpath.d Vitaly Lipatov
2007-08-29  5:56   ` Valery V. Inozemtsev
2007-08-29  7:23     ` Alexey Rusakov
2007-08-29 10:15       ` Valery V. Inozemtsev
2007-08-29 13:13         ` Alexey Rusakov
2007-08-29 13:27           ` Valery V. Inozemtsev
2007-08-29 14:41             ` Alexey Rusakov
2007-08-29 17:40               ` Valery V. Inozemtsev
2007-08-29 20:01             ` Vitaly Lipatov
2007-08-30  5:44               ` Valery V. Inozemtsev
2007-08-30  8:23                 ` [devel] chkfontpath Alexey Rusakov
2007-08-30  8:46                   ` Alexey Rusakov
2007-08-30 16:23                     ` Valery V. Inozemtsev [this message]
2007-08-30 16:29                       ` Dmitry V. Levin
2007-08-30 16:35                         ` Valery V. Inozemtsev
2007-08-30 16:44                       ` Dmitry V. Levin
2007-08-30 16:52                         ` Valery V. Inozemtsev
2007-08-30 16:44                       ` Alexey I. Froloff
2007-08-30 17:17                         ` Valery V. Inozemtsev
2007-08-30 17:21                           ` Dmitry V. Levin
2007-08-30 17:27                             ` Valery V. Inozemtsev
2007-08-30 17:34                               ` Dmitry V. Levin
2007-08-31  5:38                                 ` Valery V. Inozemtsev
2007-08-31  9:34                                   ` Dmitry V. Levin
2007-08-31  9:49                                     ` Valery V. Inozemtsev
2007-08-30 17:10                       ` Valery V. Inozemtsev
2007-08-31  8:57                       ` Хихин Руслан
2007-08-31  9:08                         ` Valery V. Inozemtsev
2007-08-31 17:53                           ` Хихин Руслан
2007-08-31 18:27                             ` Valery V. Inozemtsev
2007-08-31 18:11                           ` Хихин Руслан
2007-08-31 19:07                             ` Valery V. Inozemtsev
2007-08-31 19:33                               ` Хихин Руслан
2007-08-29  9:37     ` [devel] да здравствует chkfontpath для /etc/X11/fontpath.d Slava Semushin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200708302023.23954.shrek@altlinux.ru \
    --to=shrek@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git