rpmbuild sysconfdir의 다른 경로

rpmbuild sysconfdir의 다른 경로

rpm을 구축 중이며 기본 시스템 경로 대신 경로에 이 패키지를 설치하고 opensips싶습니다./opt/opensips

SPEC내 파일에 다음을 정의했습니다.

    %define _prefix /opt/opensips
    %define _sysconfdir /opt/opensips/etc
    %define _libdir /opt/opensips/lib64
    %define _datadir /opt/opensips/share
    %define _sbindir /opt/opensips/sbin
    %define _bindir /opt/opensips/bin
    %define _mandir /opt/opensips/share/man
    ...
    ...
    ...

    %build
    LOCALBASE=/usr NICER=0 CFLAGS="%{optflags}" %{?_with_oracle:ORAHOME="$ORACLE_HOME"} %{__make} all %{?_smp_mflags} TLS=1 \
      exclude_modules="%EXCLUDE_MODULES" \
      cfg-target=%{_sysconfdir}/opensips/ \
      modules-prefix=%{buildroot}%{_prefix} \
      modules-dir=%{_lib}/%{name}/modules

    %install
    rm -rf $RPM_BUILD_ROOT
    %{__make} install TLS=1 LIBDIR=%{_lib} \
      exclude_modules="%EXCLUDE_MODULES" \
      basedir=%{buildroot} prefix=%{_prefix} sysconfdir=%{buildroot}/opt/opensips/etc \
      cfg-prefix=%{buildroot} \
      modules-prefix=%{buildroot}/%{_prefix} \
      modules-dir=%{_lib}/%{name}/modules \
      DBTEXTON=yes # fixed dbtext documentation installation

RPM을 빌드할 때 다음 오류가 발생합니다.

rpmbuild -ba opensips.spec

실수:

RPM build errors:
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/rc.d/init.d/opensips
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/opensips/dictionary.opensips
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/sysconfig/opensips
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/opensips/opensips.cfg
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/opensips/opensipsctlrc
    File not found: /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/opt/opensips/etc/opensips/osipsconsolerc

BUILDROOT를 확인하면 모든 파일이 /etc기본 위치 에 저장되어 있음을 알 수 있습니다.

ls -l /root/rpmbuild/BUILDROOT/opensips-1.11.1-1.el6.x86_64/etc/opensips/

/opt/opensips/etc/RPM에게 이 파일들을 디렉토리 에 넣으라고 어떻게 말합니까 ?

답변1

"make install" 명령 후에 파일을 /etc/opensips에서 /opt/opensips로 이동합니다.

관련 정보