1

I am building rpm for opensips and i want to install this package in /opt/opensips path instead of default system path

I have define following in my SPEC file

    %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

I am getting following error when i build RPM

rpmbuild -ba opensips.spec

Error:

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

If i check my BUILDROOT i can see it put all those file in /etc at default location

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

How do i tell RPM put those files in /opt/opensips/etc/ directories?

0

Move the files from /etc/opensips to /opt/opensips them after the "make install" command.

|improve this answer|||||
  • Manually moving system files is rarely a good idea. In fact, assuming there is a package manager at all, manually messing around in the system is virtually never a good idea. – HalosGhost Jan 5 '15 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.