创建一个rpm包以安装httpd,php,python3并通过替换配置文件进行配置

时间:2019-06-27 11:14:00

标签: rpm rpmbuild rpm-spec

我正在创建一个rpm,应该在centos 7中安装httpd,php,python3。

Name: test
Version: 1 
Release: 0
Summary: Securaa RPM Creates specific files 
Group: Applications/test
License: GPL
Source0: test-1.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-buildroot 

%description
Creates YUM repository pointing local network CentOS repository

%prep
%setup -q

%install
mkdir -p "$RPM_BUILD_ROOT"
cp -R * "$RPM_BUILD_ROOT"

%clean
rm -rf "$RPM_BUILD_ROOT"

%post
echo ..

echo "Executing script"
/etc/test/test.sh

%files
%defattr(-,root,root,-)
/etc/test/test.sh

test.sh中:

yum install httpd
yum install php 
yum install -y python36u python36u-libs python36u-devel python36u-pip

已构建rpm,执行rpm后未安装必要的软件包。

1 个答案:

答案 0 :(得分:2)

如果您的自定义软件包需要其他软件包作为依赖项,请在您的规范文件中使用Requires列出这些软件包;不要尝试通过Shell脚本安装它们。

例如,对于您的包裹:

Requires: httpd php python36u python36u-libs python36u-devel python36u-pip

此处有更多详细信息:https://rpm.org/user_doc/dependencies.html