Добавить в цитаты Настройки чтения

Страница 180 из 324

Последующие разделы соответствуют трем шагам, необходимым для создания пакета тривиального приложения myapp.

Первый этап в создании RPM-пакета — сбор программного обеспечения, которое вы хотите поместить в пакет. Чаще всего у вас есть исходный программный код приложения, файл сборки, например make-файл, и, возможно, страница интерактивного справочного руководства.

Самый легкий способ собрать это программное обеспечение — упаковать файлы в сжатый tar-файл. Назовите файл архива именем приложения и укажите в нем номер версии, например, myapp-1.0.tar.gz.

Вы можете откорректировать ранее созданный make-файл Makefile6, добавив новое задание на упаковку файлов в сжатый файл архива. Окончательная версия make-файла, названная просто Makefile, выглядит следующим образом:

all: myapp

# Какой компилятор

CC = gcc

# Где хранятся файлы include

INCLUDE = .

# Опции для разработки

CFLAGS = -g -Wall -ansi

# Опции для рабочей версии

# CFLAGS = -О -Wall -ansi

# Локальные библиотеки

MYLIB = mylib.a

myapp: main.о $(MYLIB)

 $(CC) -о myapp main.о $(MYLIB)

$(MYLIB) : $(MYLIB)(2.o) $(MYLIB)(3.о)

main.о: main.c a.h

2.o: 2.с a.h b.h

3.o: 3.c b.h c.h

clean:

 -rm main.о 2.о 3.o $(MYLIB)

<i>dist: myapp-1.0.tar.gz</i>

<i>myapp-1.0.tar.gz: myapp myapp.1</i>

<i> -rm -rf myapp-1.0</i>

<i> mkdir myapp-1.0</i>

<i> cp *.c *.h *.1 Makefile myapp-1.0</i>

<i> tar zcvf $@ myapp-1.0</i>

Задание myapp-1.0.tar.gz в make-файле формирует сжатый архив (tarball) из исходных файлов нашего простого примера приложения. Этот код вставлен для простоты в задание dist, в котором вызываются те же команды. Для создания файла архива выполните следующую команду:

$ <b>make dist</b>

Далее нужно скопировать файл myapp-1.0.tar.gz в каталог RPM-пакетов SOURCES, обычно в системе Red Hat Linux это каталог /usr/src/redhat/SOURCES, а в системе SUSE Linux — /usr/src/packages/SOURCES. Например:

$ <b>cp myapp-1.0.tar.gz /usr/src/redhat/SOURCES</b>

RPM-система полагает, что исходные файлы находятся в каталоге SOURCES в виде tar-файлов. (Есть и другие опции, но эта самая простая.) SOURCES — это один из каталогов, на которые рассчитывает RPM-система.

RPM-система полагается на пять каталогов, приведенных в табл. 9.4.

Таблица 9.4