2016-08-19 6 views
2

rpm의 % files 섹션에서 특수 문자가 포함 된 파일 이름을 어떻게 처리합니까?RPM % files 섹션 : 파일 이름에서 특수 문자를 처리하는 방법?

RPM을 구축하고 있지만 특수 문자가 포함 된 몇 개의 파일 이름이 있습니다. 필자는 개발자가 아니므로 소스 코드 저장소에 파일 이름을 검사하지 않습니다.

내 예를 들어 % 파일 섹션은 다음과 같습니다 :

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

내 files.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/ 

더 나은 WA가 있습니까? 이 문제를 해결하려면?

+0

내가 그 나쁜 이름을 인용하는 것은 작동하지 않고 rpmbuild 여전히 불만을 추가해야합니다 : '%의 ATTR (-, serviceXuser, serviceXuser) "/ 옵션을/serviceX/tests/# 1 escaping.sh "' – devteam

+0

'\'를 사용하여 이스케이프 처리를 시도 했습니까? –

답변

0

와일드 카드를 사용하여 문제를 방지 할 수 있습니다

%attr(-,serviceXuser,serviceXuser) /opt/serviceX/tests/*.sh