У меня есть несколько файлов (RPM), которые я хочу упаковать в один RPM и сделать их доступными где-нибудь еще в качестве хранилища.
Требование для этого RPM должно сделать его перемещаемым. rpm -Uvh --prefix ...
Перемещение само по себе не было проблемой и работает, как и ожидалось. В моем% post (важная часть, отмеченная #) файла спецификации, где я хочу предварительно сконфигурировать репозиторий результатов, параметр префикса не изменится, когда я назову его следующим образом: rpm -Uvh --prefix /some/other/path some_rpm_name-some_rpm_version
.
Я попыталсямногое, но не изменится, как:
Prefix: /mnt/extern
%global SOME_VAR %{prefix}
Prefix: /mnt/extern
%global REPO_NAME somerepo
Name: some_rpm_name
Version: some_rpm_version
Release: 1%{?dist}
Source: yum.tar.gz
%prep
%setup -n yum
%install
mkdir -p %{buildroot}%{prefix}
cp -r %{_builddir}/yum %{buildroot}%{prefix}
%files
%{prefix}/yum
%post
echo '[%{REPO_NAME}]' | sudo tee /etc/yum.repos.d/%{CABIS_REPO_FILE}.repo
echo 'name = %{REPO_NAME}' | sudo tee -a /etc/yum.repos.d/%{CABIS_REPO_FILE}.repo
########################
echo 'baseurl = file://%{prefix}/yum/' | sudo tee -a /etc/yum.repos.d/%{CABIS_REPO_FILE}.repo
########################
echo 'gpgcheck = 0' | sudo tee -a /etc/yum.repos.d/%{CABIS_REPO_FILE}.repo
echo 'enabled = 1' | sudo tee -a /etc/yum.repos.d/%{CABIS_REPO_FILE}.repo
Ожидаемый результат:
[somerepo]
name = somerepo
baseurl = file:///some/other/path/yum/
gpgcheck = 0
enabled = 1
Фактический результат:
[somerepo]
name = somerepo
baseurl = file:///mnt/extern/yum/
gpgcheck = 0
enabled = 1
Но файлы будутперенесены в /some/other/path
.
У кого-нибудь есть идеи, как это исправить?