Я создаю простой установщик RPM, мне просто нужно скопировать файлы в структуру каталогов, которую я создаю в процессе %install
.
Процесс %install
в порядке, я создаю следующую папку /opt/company/application/
с помощью команды mkdir -p %{buildroot}/opt/company/%{name}
, а затем приступаю к копированию файлов и подкаталогов из моего пакета. Я попытался установить его, и он работает.
Сомнение у меня возникает при удалении. Я хочу удалить папку /opt/company/application/
, и я думал, что вы должны использовать %{buildroot}
в любом месте при ссылке на место установки. Поскольку я понимаю, что у пользователя может быть другая структура, и вы не можете предположить, что rmdir /opt/company/%{name}/
будет работать. Использование этой команды в разделе %postun
успешно удаляет каталоги, тогда как использование rmdir ${buildroot}/opt/company/%{name}
не удаляет папки.
Мой вопрос: не следует ли вам использовать ${buildroot}
в %postun
, чтобы получить правильное место установки? Если это не так, то почему?