Чтение онлайн

на главную - закладки

Жанры

Основы программирования в Linux
Шрифт:
Создание RPM-пакета с помощью rpmbuild

Создаются пакеты с помощью команды

rpmbuild
со следующей синтаксической записью:

rpmbuild -bBuildStage spec_file

Опция

– b
заставляет
rpmbuild
создать RPM-пакет. Дополнительная опция
BuildStage
— специальный код, информирующий команду
rpmbuild
о том, как далеко она может зайти в процессе создания. В табл. 9.5 перечислены опции команды.

Таблица 9.5

Опция Описание
– ba
Создавать
и двоичный, и исходный RPM-пакет
– bb
Создавать двоичный RPM-пакет
– bc
Компилировать программу, но не создавать полный RPM-пакет
– bp
Подготовиться к созданию двоичного RPM-пакета
– bi
Создать двоичный RPM-пакет и установить его
– bl
Проверить список файлов RPM-пакета
– bs
Создать только RPM-пакет исходных файлов

Для создания двоичного RPM-пакета и пакета исходных файлов используйте опцию

– ba
. RPM-пакет исходных файлов позволит создать повторно двоичный RPM- пакет.

Скопируйте RPM-файл spec в корректный каталог SOURCES, поместив его рядом с исходным файлом приложения:

$ cp myapp.spec /usr/src/redhat/SOURCES

Далее приведен вывод, сопровождающий создание пакета в системе SUSE Linux, пакеты в которой создаются из каталога /usr/src/packages/SOURCES:

$ rpmbuild -ba myapp.spec

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.47290

+ umask 022

+ cd /usr/src/packages/BUILD

+ cd /usr/src/packages/BUILD

+ rm -rf myapp-1.0

+ /usr/bin/gzip -dc /usr/src/packages/SOURCES/myapp-1.0.tar.gz

+ tar -xf -

+ STATUS=0

+ '[' 0 -ne 0 '] '

+ cd myapp-1.0

++ /usr/bin/id -u

+ '[' 1000 = 0 ']'

++ /usr/bin/id -u

+ '[' 1000 = 0 ']'

+ /bin/chmod -Rf a+rX, u+w, g-w, o-w

+ exit 0

Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.99663

+ umask 022

+ cd /usr/src/packages/BUILD

+ /bin/rm -rf /var/tmp/myapp-1.0-root

++ dirname /var/tmp/myapp-1.0-root

+ /bin/mkdir -p /var/tmp

+ /bin/mkdir /var/tmp/myapp-1.0-root

+ cd myapp-1.0 + make

gcc -g -Wall -ansi -с -o main.о main.c

gcc -g -Wall -ansi -с -o 2.o 2.c

ar rv mylib.a 2.o

ar: creating mylib.a

a - 2.о

gcc -g -Wall -ansi -с -o 3.o 3.c

ar rv mylib.a 3.o

a — 3.o

gcc -o myapp main.о mylib.a

+ exit 0

Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.47320

+ umask 022

+ cd /usr/src/packages/BUILD

+ cd myapp-1.0

+ mkdir -p /var/tmp/myapp-1.0-root/usr/bin

+ mkdir -p /var/tmp/myapp-1.0-root/usr/share/man

+ install -m755 myapp /var/tmp/myapp-1.0-root/usr/bin/myapp

+ install -m755 myapp.1 /var/tmp/myapp-1.0-root/usr/share/man/myapp.1

+ RPM_BUILD_ROOT=/var/tmp/myapp-1.0-root

+ export RPM_BUILD_ROOT

+ test -x /usr/sbin/Check -a 1000 = 0 -o

 -x /usr/sbin/Check -a '!' -z /var/tmp/myapp-1.0-root

+ echo 'I call /usr/sbin/Check...'

I call /usr/sbin/Check...

+ /usr/sbin/Check

– rwxr-xr-x 1 neil users 926 2007-07-09 13:35 /var/tmp/myapp-1.0-root/ /usr/share/man/myapp.1.gz

Checking permissions and ownerships — using the permissions files

 /tmp/Check.perms.017506

setting /var/tmp/myapp-1.0-root/ to root:root 0755 (wrong owner/group neil:users)

setting /var/tmp/myapp-1.0-root/usr to root:root 0755. (wrong owner/group neil:users)

+ /usr/lib/rpm/brp-compress

+ /usr/lib/rpm/brp-symlink

Processing files: myapp-1.0-1

Finding Provides: /usr/lib/rpm/find-provides myapp

Finding Requires: /usr/lib/rpm/find-requires myapp

Finding Supplements: /usr/lib/rpm/find-supplements myapp

Provides: goodness

Requires(interp): /bin/sh

Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1

 rpmlib (CompressedFileNames) <= 3.0.4-1

Requires(post): /bin/sh

Requires: mysql >= 3.23 libc.so.6 libc.so.6 (GLIBC 2.0)

Поделиться:
Популярные книги

Мир приключений 1957 г. № 3.

Ефремов Иван Антонович
Альманах "Мир приключений"
Фантастика:
научная фантастика
6.00
рейтинг книги
Мир приключений 1957 г. № 3.

Цикл "Отмороженный". Компиляция. Книги 1-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Самый лучший демон. Трилогия

Снежинская Катерина
Фантастика:
фэнтези
7.69
рейтинг книги
Самый лучший демон. Трилогия

Наша навсегда

Зайцева Мария
2. Наша
Любовные романы:
современные любовные романы
эро литература
5.25
рейтинг книги
Наша навсегда

Росская империя (сборник)

Эльтеррус Иар
Росская Империя
Фантастика:
боевая фантастика
8.24
рейтинг книги
Росская империя (сборник)

Кир Булычев. Собрание сочинений в 18 томах. Т.7

Булычев Кир
Собрания сочинений
Фантастика:
научная фантастика
6.25
рейтинг книги
Кир Булычев. Собрание сочинений в 18 томах. Т.7

Альфа-ноль. Компиляция. Книги 1-12

Каменистый Артем
Альфа-ноль
Фантастика:
рпг
попаданцы
фэнтези
5.00
рейтинг книги
Альфа-ноль. Компиляция. Книги 1-12

Приходи в прошлое

Тихая Лия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Приходи в прошлое

Переписка и деловые бумаги

Чехов Антон Павлович
Документальная литература:
публицистика
5.00
рейтинг книги
Переписка и деловые бумаги

История Рима

Ковалёв Сергей Митрофанович
Научно-образовательная:
история
5.00
рейтинг книги
История Рима

Меч и проводник.Дилогия.

Макарка, Гыррр
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Меч и проводник.Дилогия.

Время дня: ночь

Беатов Александр Георгиевич
Проза:
современная проза
5.00
рейтинг книги
Время дня: ночь

История политических и правовых учений. Учебник

Коллектив авторов
Научно-образовательная:
история
юриспруденция
5.00
рейтинг книги
История политических и правовых учений. Учебник

Король Артур (сборник)

Уайт Теренс Хэнбери
Фантастика:
фэнтези
5.00
рейтинг книги
Король Артур (сборник)