Фон
Я пытаюсь создать простой rpm, который просто копирует некоторые исходные файлы веб-приложения в каталог установки.Веб-приложение написано на Java и предоставляется поставщиком (то есть оно написано не мной).
rpm не может быть скомпилирован из-за ошибки, описанной ниже.Тем не менее, я успешно создал почти идентичные обороты для другого веб-приложения на основе Java того же производителя.Спецификационные файлы такие же, за исключением имен таких вещей, как путь установки и имя исходного файла.
Проблема
rpmbuild -v -bb --clean SPECS/web-app.spec
завершается неудачно с Permission denied
, когда он пытается удалить некоторые файлыв {BUILDROOT}/web-app-1.0/tmp
.
Я проверил разрешения для файлов, которые rpmbuild
не удалось удалить.Ниже приведены некоторые примеры:
-r--r--r--. 1 signer signer 1203 Jan 13 2006 Adler32.class
-r--r--r--. 1 signer signer 19498 Jan 13 2006 Deflate.class
-r--r--r--. 1 signer signer 628 Jan 13 2006 Deflate$Config.class
-r--r--r--. 1 signer signer 8673 Jan 13 2006 InfBlocks.class
Они имеют правильное имя владельца и группу для моего пользователя сборки (signer
), но не имеют разрешения на запись.
Эти файлы не являются частью какого-либо процесса, который яявно определены в моей спецификации оборотов.Все, что делает мой spec-файл - это запускает %setup
, создает каталог и копирует в него файлы.Исходный архив, извлеченный во время %setup
, имеет правильные разрешения для всех своих файлов;Я могу извлечь и удалить дерево, которое оно создает.Эти файлы НЕ являются частью исходного архива.Я думаю, что tmp
файлы связаны с некоторой обработкой файлов Java;rpmbuild
долго переупаковывал jar-файлы в конце сборки.Я не уверен, для чего это нужно, и сомневаюсь, что это необходимо для развертываемого приложения.
Вопросы
Можно ли отключить перепаковку файла jar, чтобы это исправить?Есть другие идеи?