[Bug 499137] Review Request: sipwitch - SIP telephony server for secure phone systems

bugzilla at redhat.com bugzilla at redhat.com
Thu May 7 18:29:47 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=499137





--- Comment #3 from Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp>  2009-05-07 14:29:45 EDT ---
Created an attachment (id=342909)
 --> (https://bugzilla.redhat.com/attachment.cgi?id=342909)
rpmlint on x86_64 (after fixing rpath and so on)

For 0.5.4-1:

* BR
  - "BR: pkgconfig" is not needed because ucommon-devel
    has "Requiers: pkgconfig"
    (Note that any packages containing pkgconfig .pc file
    should have "Requires: pkgconfig")
  - By the way would you check if some version specific
    dependency for BuildRequires (not Requires) is really
    needed?

* Internal dependency
  - Is it safe that sipwitch-snmp subpackage does not depend
    on sipwitch?

* Patch0 vs %patch
  - On rawhide %patch is rejected when you use "Patch0:".
    You should use "Patch: <-> %patch" or "Patch0: <-> %patch0".

* rpath
  Ref:
  https://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath
  - On x86_64 the rebuilt binaries have unneeded rpath:
-------------------------------------------------------------
sipwitch-plugin-forward.x86_64: E: binary-or-shlib-defines-rpath
/usr/lib64/sipwitch/forward.so ['/usr/lib64']
sipwitch-plugin-rtpproxy.x86_64:        E: binary-or-shlib-defines-rpath
/usr/lib64/sipwitch/rtpproxy.so ['/usr/lib64']
sipwitch-plugin-scripting.x86_64:       E: binary-or-shlib-defines-rpath
/usr/lib64/sipwitch/scripting.so ['/usr/lib64']
sipwitch-plugin-subscriber.x86_64:      E: binary-or-shlib-defines-rpath
/usr/lib64/sipwitch/subscriber.so ['/usr/lib64']
sipwitch-plugin-zeroconf.x86_64:        E: binary-or-shlib-defines-rpath
/usr/lib64/sipwitch/zeroconf.so ['/usr/lib64']
-------------------------------------------------------------
    Fedora requests to remove these rpaths.
    This can be removed by the below (I usually do the following)
-------------------------------------------------------------
%prep
%setup -q
%patch -p0
sed -i.rpath -e \
  '/sys_lib_dlsearch_path_spec/s|/usr/lib |/usr/lib /usr/lib64 /lib /lib64 |' \
  configure
....
....
%build
....
%configure \
....
-------------------------------------------------------------
    (note that the way recommended in the wiki often breaks
    linkage against libraries rebuilt from the same source)

* stripping binaries
  - Some of the binaries are stripped:
-------------------------------------------------------------
  1660  DEBUG: + /usr/bin/make
DESTDIR=/builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64
'INSTALL=install -p' swig-python
.....
  1685  DEBUG: g++ -pthread -shared -lc -Wno-variadic-macros -Wno-long-long
-fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden
-DUCOMMON_VISIBILITY=1 -I/builddir/build/BUILD/sipwitch-0.5.4/inc
-I/builddir/build/BUILD/sipwitch-0.5.4 build/temp.linux-x86_64-2.6/wrapper.o
-L/usr/lib64 -lpython2.6 -lucommon -o _sipwitch.so
  1686  DEBUG: /bin/sh /builddir/build/BUILD/sipwitch-0.5.4/autoconf/install-sh
-d /builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64`python -c 'from
distutils.sysconfig import get_python_lib; print get_python_lib()'`
  1687  DEBUG: /bin/sh /builddir/build/BUILD/sipwitch-0.5.4/autoconf/install-sh
-d /builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64`python -c 'from
distutils.sysconfig import get_python_lib; print get_python_lib(1)'`
  1688  DEBUG: strip _sipwitch.so
.....
  1692  DEBUG: + /usr/bin/make
DESTDIR=/builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64
'INSTALL=install -p' swig-php5
  1698  DEBUG: g++ -shared -module -shared -avoid-version -o sipwitch.so
wrapper.o -lucommon -lc
  1699  DEBUG: /bin/sh /builddir/build/BUILD/sipwitch-0.5.4/autoconf/install-sh
-d /builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64`php-config
--extension-dir`
  1700  DEBUG: strip sipwitch.so
-------------------------------------------------------------
    To create debuginfo rpm correctly, binaries must not be stripped
    before %install ends. ref:
    https://fedoraproject.org/wiki/Packaging/Debuginfo
    For this package, the following will prevent this strip:
-------------------------------------------------------------
%build
export STRIP=/bin/true
%configure --with-pkg-config --disable-static
%{__make} %{?_smp_mflags} 
-------------------------------------------------------------

* Automated autotools call
  - At some point autotools are automatically called after configure ->
    make is executed:
-------------------------------------------------------------
  1660  DEBUG: + /usr/bin/make
DESTDIR=/builddir/build/BUILDROOT/sipwitch-0.5.4-1.1.fc11.x86_64
'INSTALL=install -p' swig-python
  1661  DEBUG: (cd swig ; make python-swig)
  1662  DEBUG: make[1]: Entering directory
`/builddir/build/BUILD/sipwitch-0.5.4/swig'
  1663  DEBUG:  cd .. && /bin/sh
/builddir/build/BUILD/sipwitch-0.5.4/autoconf/missing --run automake-1.10 --gnu
 swig/Makefile
  1664  DEBUG:  cd .. && /bin/sh ./config.status swig/Makefile 
  1665  DEBUG: config.status: creating swig/Makefile
-------------------------------------------------------------
    This modifies autotools-generated files and this must be done
    before configure/make is executed.
    For this package, this is because your patch modifies only
    swig/Makefile.am but does not modify swig/Makefile.in.
    Solution:
    - Patch against swig/Makefile.in, not against swig/Makefile.am
      This is recommended to avoid unneeded autotools call.
    - If you want to call autotools anyway, explicitly call autotools
      before configure/make is executed. However this is not
      recommended and should be avoided when possible.

* %config(noreplace)
  - Would you explain why %{_sysconfdir}/logrotate.d/sipwitch is not marked
    as (noreplace)?

* rpmlint issue
  See attached:
  ! Note that "sipwitch.src:151: E: hardcoded-library-path in /lib" is
    because of rpath fix suggested above and this can be ignored.
  - If %{python_sitelib}/sipwitch.py is to be executed directly from
    users, then this script should have 0755 permission.
    Otherwise the shebang on this script should be removed.

* Macros
  - For the directory where php binary modules are installed, please
    use %php_extdir macro. This macro is defined in /etc/rpm/macros.php
    in php-devel.

* Initscripts convention
  Again please check:
  https://fedoraproject.org/wiki/Packaging/SysVInitScript
  - Initscript must be installed under %_initrddir (/etc/rc.d/init.d,
    and please use this macro), not %_sysconfdir/init.d.
  - Some proper Requires(post) or so and scriptlets are needed.
    Please refer to
   
https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the package-review mailing list