2011-09-14 7 views
0

rpmbuild spec 파일을 사용하여 이미 존재하는 구성 파일을 업데이트하는 방법을 살펴 보았습니다.rpmbuild를 사용하여 기존 구성 파일을 업데이트하는 방법은 무엇입니까?

예를 들어, rpm에서 구성 파일에 행을 추가하고 싶습니다.

cat stunnel/stunnel.conf >> %{buildroot}/etc/stunnel/stunnel.conf 

이제 명확이 쓰레기 때문에 나는 그것이 설정 파일에이 같은 라인을 추가합니다 RPM을 실행할 때마다 : /etc/stunnel/stunnel

[SomeAppName] 
accept = 8006 
connect = 127.0.0.1:5006 

나는 현재 내 %이있어이 부분을 설치합니다.

내 rpm 패키지를 지울 때 제거하지 않으려면 /etc/stunnel/stunnel.conf 파일을 내 rpm에 포함시키지 마십시오.

내 질문은 :

  1. 어떻게 내 RPM의 일부가되는 것을 /etc/stunnel/stunnel.conf을 제외 할 수 있습니까?
  2. rpm 중에 구성 파일에 행을 추가하는 올바른 방법은 무엇입니까?
  3. 제 작업을 수행하는 방법이나 사양 파일에서 사용할 수있는 몇 줄의 예를 볼 수있는 링크를 누군가가 제공 할 수 있습니까?

Max Rpm에서 공식 가이드를 살펴 봤지만 지금까지 문제에 대한 답변을 찾지 못했습니다.

답변

2

a) 더욱 많은 최신 도구는 이러한 정확한 이유 때문에 플랫 파일과 평행 한 .d 구성 디렉토리를 지원합니다. 예를 들어, 데비안 wheezy 배포판은/etc/stunnel을 각 .conf 파일이 별개의 stunnel 구성 인 디렉토리로 취급합니다.

B)는 설립 대안은 조건부 구조가 될 것 같은

grep -q '[SomeAppName]' %{buildroot}/etc/stunnel/stunnel.conf || cat ... 

(또는,

grep -s '[SomeAppName]' %{buildroot}/etc/stunnel/stunnel.conf || cat ... 
+0

가 사용에 대한 생각하지 않았다) stunnel.conf이 이미 존재하는 경우 발생했는지 확실하지 않습니다. d 디렉토리. 그게 내가 redhat에있어 아파치가 이미이 방법을 사용하고있는 것처럼 보일 수 있습니다 :) – ghostJago

+0

% files 섹션에 % config /etc/stunnel/stunnel.conf도 넣어야합니까? – ghostJago

+0

.d 솔루션을 사용하려는 경우 - 아니요. 그 외에는 RPM 패키지에 대해 충분히 알지 못합니다. – thiton

관련 문제