RPM не заботится об удалении каталогов, созданных как часть перемещения RPM - PullRequest
0 голосов
/ 25 мая 2019

Мне нужно переместить rpm, и поэтому я добавил префикс в свой файл спецификации.

rpm.spec:

Префикс: / etc

Префикс: / usr

Префикс: / var

когда я делаю переезд:

об / мин -ivh - переместить / etc = / akshatha / test / --relocate / usr = / akshatha /test / --relocate / var = / akshatha / test / (rpm_package)

etc имеет каталоги: aaa bbb ccc

usr имеет каталоги: ddd eee fff

var имееткаталоги: hhh iii jjj

так что я вижу внутри / акшата / test /

$ cd / akshatha / test /

$ ls -ltr

аааbbb ccc ddd eee fff hhh iii jjj (и some_other_contents_, который не относится к пакету rpm)

перемещение успешно ... очень рад за это.

Но когда я деинсталлирую этот rpm:

rpm -e (rpm_package_name)

я вижу содержимое внутри каталогов aaa bbb ccc ... удаляются.

но каталоги не удаляются как часть удаления.

если я принудительно удаляю эти папки во время удаления:

об / мин принимает RPM_PREFIX_INSTALL = / akshatha / test

, которая фактически удаляет всю тестовую папку (которая также содержит другое содержимое, не относящееся к этому пакету rpm)

1 Ответ

0 голосов
/ 25 мая 2019

В разделе% files вы определяете, что принадлежит rpm и что будет удалено при удалении rpm.

Если вы поставите:

%files
/etc/test/*

Все файлы внутри/etc/test будет принадлежать rpm, но не каталогу test.Если вы установите

%files
/etc/test

, тогда каталог /etc/test со всем его содержимым будет принадлежать rpm, а также будет удален после удаления.

...