在定义的目录中安装RPM软件包

时间:2019-05-24 06:43:28

标签: rpm rpmbuild

我正在尝试使用文件和目录构建自己的RPM软件包,我正在尝试在/usr/lib/python2.7/site-packages /

下解压缩软件包中的文件和目录

到现在为止,我成功完成了RPM构建,但是当我使用命令安装它时      rpm -ivh mypackage.rpm 总是解压根(/)目录中rpm软件包下的所有目录

这是我的规格文件

Name:           mx_module
Version:        1
Release:        0
Summary:        An test script to see RPM working

BuildArch:      noarch
License:        GPL
Source0:        mx_module-1.0.tar.gz

%description
I am suppose to write some description here but I don't want to :(.

%prep
%setup -q
%build
%install
mkdir -p %{buildroot}/config/
cp -a config/ %{buildroot}/config/
cp -a ott_cms/ %{buildroot}/
cp -a truss_crud/ %{buildroot}/

%files
/config
/ott_cms
/truss_crud

%changelog
* Thu May 23 2019 Abhishek  1.0.0
  - Initial rpm release

我希望该软件包的安装应该位于/usr/lib/python2.7/site-packages/中,而不是root(/)目录中

1 个答案:

答案 0 :(得分:0)

您可以确定规格文件中的最终位置,而不是在安装过程中。您应该像这样更改您的规范文件:

%install
mkdir -p %{buildroot}/usr/lib/python2.7/site-packages/config/
cp -a config/ %{buildroot}/usr/lib/python2.7/site-packages/config/
cp -a ott_cms/ %{buildroot}/usr/lib/python2.7/site-packages/
cp -a truss_crud/ %{buildroot}/usr/lib/python2.7/site-packages/

%files
/usr/lib/python2.7/site-packages/config
/usr/lib/python2.7/site-packages/ott_cms
/usr/lib/python2.7/site-packages/truss_crud

在您的%install步骤中;您在%buildroot下创建整个树;在%files下,您可以确定哪些文件和目录确实应该属于您的最终软件包。