2014-01-31 5 views
1

Я пытаюсь построить rpm для скомпилированной версии apache. Я хочу, чтобы rpm построил его в/opt/apache .... Я могу создать файл RPM, но когда я делаю rpm -qpl в файле, он отображается как пустой.Создание пользовательских RPM, но пакет пуст?

Вот мой спецификации файла:

Name:   custom-http 
Version:  2.2.25 
Release:  1%{?dist} 
Summary:  A custom build of Apache 

License:  NA 
URL:   http://x.x.x.x:/repo2 
Source0:  http://x.x.x.x:/repo2/httpd-2.2.25.tar.gz 

BuildRequires: xfce4-dev-tools apr-util openssl-devel 

%description 
Custom compiled version of Apache version 2.2.25 

%prep 
%setup -n httpd-2.2.25 

%build 
./configure --disable-rpaths --with-included-apr --enable-mods-shared=all --with-mpm=prefork --enable-ssl --prefix=/opt/apache --enable-so 

make %{?_smp_mflags} 

%install 
make install 

%clean 

%files 

%doc 

%changelog 
* Thu Jan 30 2014 name <email address> 
- First attempt 

~

+0

Это может быть легче найти существующий 'httpd' источника RPM, достаньте' .spec' файл и настроить путь установки. Тогда вы не изобретаете колесо. –

ответ

1

Во-первых, вам нужно установить файлы в buildroot при выполнении make install, так как вы не хотите, чтобы файлы были установлены в корневой папке файловой системы при создании пакета. Это означает, что вы должны заменить make install с make install DESTDIR=%{buildroot}, которые вы можете просто написать, как %make_install (чтобы увидеть, что макрос расширяется, вы можете сделать rpm -E <macro>, т.е.

$ rpm -E %make_install 
/usr/bin/make install DESTDIR=$HOME/rpmbuild/BUILDROOT/%{name}-%{version}-%{release}.x86_64 

).

Затем, как сказал Игнасио Васкес-Абрамс, вам необходимо заполнить раздел %files. Чтобы узнать, что вам нужно написать там, просто выполните сборку из tarball, установите ее в какой-нибудь временный каталог (используя DESTDIR при вызове make install), а затем перечислите установленные файлы. Прочтите, например, [1], чтобы узнать больше об этом.

Другие ноты:

  • %doc фактически принадлежит к секции %files (судя из дополнительного интервала вы добавили около %doc, не ясно, являются ли вы об этом знать).
  • %clean больше не нужен, если вы нацелились на недавний rpm-дистрибутив (то есть Fedora> F13, RHEL> = 6).

[1] http://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25files_section

+0

Спасибо, я попробую это. – Gabriel

2

Если вы продолжите вниз все, что вы используете, чтобы узнать, как создать RPMs, это будет говорить о заселении %files. Прочтите эту часть.

+0

Просто нашел хороший учебник. Однако, поскольку я распаковываю его в/opt/apache, я не уверен, что должно быть в файле spec:% files /httpd-2.2.25/ /httpd-2.2.25/ – Gabriel

+0

Мне нужен этот RPM для компиляции из tar.gz и установить соответственно. – Gabriel

Смежные вопросы