Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    X-сервер
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА X-сервер    
Автор статьи: Alexey Dmitriev
Дата: 05.07.2006

Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах

Аннотация
Создаем пакет freetype с включенным Bytecode Interpreter в дистрибутивах Fedora Core 5/6 и Slackware 10.2.

Ключевые слова: freetype, Bytecode Interpreter, Fedore Core 5/6, Slackware 10.2

Авторы: Logvinon, San АНДРЕЕВ

Введение
Известно, что из-за лиценцизионных ограничений пакет freetype поставляется без использования Bytecode Interpreter, также считается, что его наличие улучшает рендеринг TrueType шрифтов (символы отрисовываются аккуратнее, без "мазни"). Как его включить при сборке из исходников описано много где, поэтому озаботимся подготовкой пакета.

1. Подготовка
Если у Вас не готово окружение для сборки пакетов, то с этого надо начать. Хотя весь процесс и описан в Fedora Core 5 Release Notes, кратко его повторю:

su -c 'yum install fedora-rpmdevtools'
fedora-buildrpmtree
su -c 'yum install yum-utils'

В домашнем каталоге будет создано дерево ${HOME}/rpmbuild/ со всеми необходимыми для rpmbuild подкаталогами. В дальнейшем данная структура Вам пригодится для пересборки пакетов, да и для сборки kernel.

Для Slackware необходимо взять исходный код пакета и скрипта его сборки либо с дистрибутивного CD (source/x/x11/[freetype-2.1.9.tar.bz2, freetype2.build]), либо с одного из зеркал Slackware (напр. с :).

2. Теперь вперед к нашей цели.

Загружаем пакет с исходниками freetype:
cd ${HOME}/rpmbuild/SRPMS
yumdownloader --source --enablerepo=core-source freetype


Инсталируем исходники:
rpm -Uhv freetype-2.1.10-5.2.1.src.rpm
Эта команда запишет содержимое RPM пакета в ${HOME}/rpmbuild/SOURCES и ${HOME}/rpmbuild/SPECS.

Далее, основная смысловая работа, правим SPEC-файл:
cd ../SPECS
vi freetype.spec

В начале файла находим строку:
% define without_bytecode_interpreter    1

Пробела,после символа '%' - нет!

и заменяем 1 на 0, т.е. строка должна выглядеть так:
% define without_bytecode_interpreter    0

Аналогично, пробела после символа '%' быть не должно.

Всё! Собираем пакет:
QA_RPATHS=$[ 0x0010 ] rpmbuild -bb --target $(uname -m) freetype.spec


Результат нашего труда найдём в:
cd ../RPMS/$(uname -m)


Для Slackware последовательность иная. Кладем куда-нибудь архив с исходниками и скриптом сборки, напр. в моем случае это /home/san/src/freetype. Переходим в этот каталог и распаковываем архив:
$ tar -xjf freetype-2.1.9.tar.bz2

Теперь надо включить заветный Bytecode Interpreter, для чего надо подправить файл include/freetype/config/ftoption.h в строке 439, которую надо раскомментировать и привести к такому виду:
#define  TT_CONFIG_OPTION_BYTECODE_INTERPRETER


После этого надо немного "подлечить" скрипт сборки, потому как он нашу распаковку архива благополучно игнорирует. В нем надо закомментировать строки 42-44, должно получиться что-то вроде такого:
#cd /tmp
#rm -rf freetype-$VERSION
#tar xjvf $CWD/freetype-$VERSION.tar.bz2

После этого надо дать ему права на выполнение -
$ chmod +x freetype2.build

и запустить на выполнение от имени root (у себя я это делаю через sudo):
$ sudo freetype2.build

Скрипт сделает все сам, только без готового пакета на выходе. :) Если вам нужен еще и пакет, то надо зайти в распакованный каталог исходников и воспользоваться утилитой checkinstall (инсталлятором при установке системы она обычно не ставится, ее надо искать в extra и устанавливать самостоятельно).

Использованные источники:
1. Fedora Core 5 Release Notes



Все статьи раздела "X-сервер"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: