[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