Учитывая это spe c
Name: utp
Version: 1.0
Release: 1%{?dist}
Summary: some summary
Group: Applications/Engineering
License: Proprietary
URL: http://www.example.com
Source0: %{name}-%{version}.tgz
BuildArch: noarch
Prefix: /opt
%undefine __brp_mangle_shebangs
%description
A very nice description
# get a list of the files
%prep
# tar -zvtf %{SOURCE0} | awk '{printf "/opt/%s\n", $NF}' > %{_tmppath}/files.list
tar -zvtf %{SOURCE0} | awk '{printf "/%s\n", $NF}' > %{_tmppath}/files.list
tar -zxvf %{SOURCE0}
echo "=== prep ... done"
# no build here
# %build
%setup -q
echo "=== setup ... done"
%install
cp -r ./* %{buildroot}
echo "=== install ... done"
%clean
echo "=== clean ... done"
# %files -f %{_tmppath}/files.list
%files
/%{name}
%defattr(-,root,root)
Я могу создать свой rpm-пакет, который кажется перемещаемым
medi@medi:~/work> rpm -qp --queryformat "%{prefixes}\n" rpmbuild/RPMS/noarch/utp-1.0-1.el8.noarch.rpm
/opt
, но при установке
medi@medi:~/work> rpm -i --prefix /tmp/opt rpmbuild/RPMS/noarch/utp-1.0-1.el8.noarch.rpm --dbpath /tmp/mydbpath --nodeps
error: unpacking of archive failed on file /utp: cpio: mkdir failed - No such file or directory
error: utp-1.0-1.el8.noarch: install failed
происходит сбой
Я собираюсь установить этот пакет в / tmp / opt и использовать test dbpath.
Во время обработки% файлов я вижу
Processing files: utp-1.0-1.el8.noarch
D: /home/medi/work/rpmbuild/BUILDROOT/utp-1.0-1.el8.x86_64/utp: directory
D: /home/medi/work/rpmbuild/BUILDROOT/utp-1.0-1.el8.x86_64/utp/README.txt: ASCII text
D: /home/medi/work/rpmbuild/BUILDROOT/utp-1.0-1.el8.x86_64/utp/utg: directory
etc etc
У меня такое чувство, что мне нужно иметь «/ opt» где-то в моих файлах% или% install Можете ли вы сказать, что не так?