我正在尝试使用文件和目录构建自己的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(/)目录中
答案 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下,您可以确定哪些文件和目录确实应该属于您的最终软件包。