|
7. Построение RPM для нескольких архитектурСейчас RPM может использоваться для построения пакетов для
Intel i386, Digital Alpha с работающим Linux и the Sparc. Также
было сообщено, что RPM работает на SGI и рабочих станциях HP.
Существует несколько свойств, которые делают построение пакетов не
всех платформах легким. Первое из этих свойств это директива
``optflags'' в файле
7.1 Простой spec-файлСледующая информация это часть spec-файла для пакета ``fileutils''. Он настроен для построения и на Alpha и на Intel платформах.
Summary: GNU File Utilities Name: fileutils Version: 3.16 Release: 1 Copyright: GPL Group: Utilities/File Source0: prep.ai.mit.edu:/pub/gnu/fileutils-3.16.tar.gz Source1: DIR_COLORS Patch: fileutils-3.16-mktime.patch %description These are the GNU file management utilities. It includes programs to copy, move, list, etc, files. The ls program in this package now incorporates color ls! %prep %setup %ifarch alpha %patch -p1 autoconf %endif %build configure --prefix=/usr --exec-prefix=/ make CFLAGS="$RPM_OPT_FLAGS" LDFLAGS=-s %install rm -f /usr/info/fileutils* make install gzip -9nf /usr/info/fileutils* . . .
7.2 Директива OptflagsВ этом примере вы видите как директива ``optflags'' используется
из файла
7.3 МакросыМакрос В вышеприведенном примере, fileutils имеют заплатку для 64-битовых
машин. Очевидно, что она должна быть приложена только на Alpha. Так
что ма добавим макрос
Это будет обеспечивать, что заплатка не будет приложена на любой архитектуре за исключением alpha.
7.4 Исключение архитектур из пакетовДля того чтобы вы могли сопровождать пакеты с исходным текстом в одной директории для всех платформ мы реализовали возможность ``исключения'' построения пакетов на определенных архитектурах. Так что вы все равно можете делать такие вещи как:
и иметь правильно построенные пакеты. Если вы еще не перенесли приложение на определенную платформу, все что вам надо сделать это добавить примерно следующую строку:
к заголовку spec-файла пакета с исходными текстами. Затем заново постройте пакет на платформе на которой он может строится. Вы будете иметь пакет с исходными текстами, который может строиться на платформе Intel и может быть легко пропущен на платформе Alpha.
7.5 ОкончаниеИспользование RPM для создания многоплатформенных пакетов обычно более легко сделать, чем заставить сам пакет быть построенным в обоих местах. Как всегда наилучшая помощь когда вы застряли это посмотреть как сделан похожий пакет.
|
|||||||||||||||||
With any suggestions or questions please feel free to contact us |