Похоже, вы неправильно поняли, как работает упаковка rpm. Вот пример рабочего процесса, который создаст файл package-1.0.0-0.spec
и package-2.0.0-0.rpm
:
создайте два файла, которые вы хотите упаковать (эти команды выполняются вне spec-файла, точно так же, как при написании кода):
echo "i am in and this line is written from rpm 1" > item1.txt
echo "i am in and this line is written from rpm 1" > item2.txt
теперь создайте файл спецификаций рядом с этими частями:
Version: 1.0.0
Release: 0
%install
install -d -m 0755 "${RPM_BUILD_ROOT}/usr/bin/"
cp item1.txt ${RPM_BUILD_ROOT}/usr/bin/
cp item2.txt ${RPM_BUILD_ROOT}/usr/bin/
%files
/usr/bin/item1.txt
/usr/bin/item2.txt
это создаст package-1.0.0-0.rpm
, содержащий item1.txt и item2.txt
теперь предположим, что мы хотим создать следующую версию; то:
echo "xyz1" >> item1.txt
echo "xyz3" >> item3.txt
Файл спецификации теперь должен содержать:
Version: 2.0.0
Release: 0
%install
install -d -m 0755 "${RPM_BUILD_ROOT}/usr/bin/"
cp item1.txt ${RPM_BUILD_ROOT}/usr/bin/
cp item3.txt ${RPM_BUILD_ROOT}/usr/bin/
%files
/usr/bin/item1.txt
/usr/bin/item3.txt
, который создаст package-2.0.0-0.rpm
. После обновления rpm
теперь удалит /usr/bin/item2.txt и установит новые версии item1.txt и item3.txt