Apache 正在生成自定义RPM,但包为空?
我正在尝试为apache的编译版本构建rpm。 我希望rpm在/opt/apache中构建它。。。。 我能够创建RPM文件本身,但当我对该文件执行RPM-qpl时,它显示为空 这是我的规范文件:Apache 正在生成自定义RPM,但包为空?,apache,fedora,rpmbuild,rpm-spec,Apache,Fedora,Rpmbuild,Rpm Spec,我正在尝试为apache的编译版本构建rpm。 我希望rpm在/opt/apache中构建它。。。。 我能够创建RPM文件本身,但当我对该文件执行RPM-qpl时,它显示为空 这是我的规范文件: Name: custom-http Version: 2.2.25 Release: 1%{?dist} Summary: A custom build of Apache License: NA URL:
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
Name:自定义http
版本:2.2.25
发布:1%{?dist}
概要:Apache的自定义构建
执照:NA
网址:http://x.x.x.x:/repo2
资料来源0:http://x.x.x.x:/repo2/httpd-2.2.25.tar.gz
BuildRequires:xfce4开发工具apr util openssl-devel
%描述
Apache 2.2.25版的自定义编译版本
%准备
%设置-n httpd-2.2.25
%建造
./configure--disable rpath--includeapr--enable mods shared=all--mpm=prefork--enable ssl--prefix=/opt/apache--enable so
生成%{?\u smp\u mflags}
%安装
安装
%干净的
%档案
%医生
%变更日志
*2014年1月30日星期四姓名
-第一次尝试
~如果你继续往下看你正在使用的任何东西来学习如何创建RPM,它将讨论如何填充
%文件
。阅读该部分。首先,您需要在执行make install
时将文件安装到buildroot,因为您不希望在构建包时将文件安装到实际的文件系统根目录中。
这意味着您必须将makeinstall
替换为makeinstalldestdir=%{buildroot}
,您也可以将其简单地写为%makeu install
(要查看宏扩展为什么,您可以执行rpm-E
,即
$ rpm -E %make_install
/usr/bin/make install DESTDIR=$HOME/rpmbuild/BUILDROOT/%{name}-%{version}-%{release}.x86_64
)
然后,正如Ignacio Vazquez Abrams所说,您需要填充%文件
部分。要了解您必须在那里写些什么,只需从tarball中进行构建,将其安装到某个临时目录中(调用makeinstall
时使用DESTDIR
),然后列出已安装的文件。阅读i.e.[1]了解更多关于此的信息
其他说明:
实际上属于%doc
部分(从您在%files
周围添加的额外间距判断,不清楚您是否意识到这一点)%doc
- 如果您的目标是最新的rpm发行版(即Fedora>F13,RHEL>=6),则不再需要清洁
[1] 刚找到一本不错的教程。但是,由于我正在将其解包到/opt/apache,我不确定spec文件中应该包含什么:%files/httpd-2.2.25//httpd-2.2.25/我需要这个RPM从tar.gz文件编译并相应地安装。找到现有的
httpd
源RPM,取出.spec
文件,并调整安装路径可能更容易。那你就不用再发明轮子了。谢谢,我来试试。