Есть несколько проблем с вашим файлом спецификации:
- ваш раздел
%files
пуст, ваш RPM вообще не содержит файлов (попробуйте и rpm -ql packagename
);
- вы делаете всю свою работу в
%pre
и %post
;
- ваш
%post
слишком сложен.
Поскольку в вашем RPM вообще нет файлов, он не будет ничего удалять при его удалении, что логично. Что касается других проблем, было бы гораздо лучше, если бы ваш %post
скрипт был файлом, предоставленным RPM, и чтобы для очистки был предусмотрен другой скрипт. Тогда ваш раздел pre, post, preun и postun будет выглядеть так:
#no %pre
%post
/path/to/install.sh
%preun
# Only if package completely removed!
[ "$1" = "0" ] && /path/to/cleanup.sh
#no %postun
Но, учитывая то, что вы делаете здесь, вам, вероятно, лучше использовать такой инструмент, как Puppet или другой.