Раздел RPM %files: как обрабатывать специальные символы в именах файлов?

Как обрабатывать имена файлов, содержащие специальные символы, в разделе %files пакета rpm?

Я создаю RPM, но у меня есть несколько имен файлов, содержащих специальные символы. Я не разработчик, поэтому я не контролирую имена файлов, зарегистрированных в репозитории исходного кода.

Мой пример раздела %files приведен ниже:

 %files -f files.serviceX.list
 %defattr(-,serviceXuser,serviceXuser,-)

Мои файлы.serviceX.list содержат:

%config(noreplace) %attr(-,serviceXuser,serviceXuser) /etc/serviceX/serviceX.conf
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/runtests.sh
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/configtests.sh
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/badinput.sh
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/#1 escaping.sh
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/#2 bad filenames.sh

Единственный обходной путь, который я нашел до сих пор, — это перечислить каталог, содержащий имена файлов, используя специальные символы в files.serviceX.list:

%config(noreplace) %attr(-,serviceXuser,serviceXuser) /etc/serviceX/serviceX.conf
%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/

Есть ли лучший способ справиться с этим?


person devteam    schedule 19.08.2016    source источник
comment
Я должен добавить, что цитирование плохого имени файла не работает, и rpmbuild все еще жалуется: %attr(-,serviceXuser,serviceXuser) "/opt/serviceX/tests/#1 escaping.sh"   -  person devteam    schedule 19.08.2016
comment
вы пытались избежать пробела, используя \ ?   -  person Chris Maes    schedule 19.08.2016


Ответы (1)


Вы можете использовать подстановочный знак и избежать проблемы:

%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/*.sh
person Thomas Dickey    schedule 20.08.2016