Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. Summary: Review Request: rcssserver3d - Robocup Soccer Simulation Server 3D https://bugzilla.redhat.com/show_bug.cgi?id=450409 ------- Additional Comments From mtasaka@xxxxxxxxxxxxxxxxxxx 2008-06-23 14:59 EST ------- Please change the release number every time you modify your spec file. For 0.6-0.1: * Source files - %SOURCE0 included in your srpm differs from what I can download from the URL as written - Please write the full URL of (or how you received) %SOURCE1 * BuildRequires - Some BuildRequires are redundant https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 - Also you are writing mesa-libGL-devel twice. BTW please use 'libGL-devel' instead of mesa-libGL-devel. * Requires - When adding Ruby to Requires, also ruby(abi) Requires must be added: https://fedoraproject.org/wiki/Packaging/Ruby * Requires for -devel subpackage - Please investigate and add proper Requires for -devel subpackage. For example, rcssserver3d/zeitgeist/parameterlist.h contains: --------------------------------------------------------------- 24 25 #include <boost/any.hpp> 26 #include <vector> --------------------------------------------------------------- This means that rcsssserver3d-devel should have "Requires: boost-devel" * Redundant description - Please remove all SUSE related description. This just makes your spec file complicated unneededly. * %vendor macro --------------------------------------------------------------- %define vendor fedora --------------------------------------------------------------- - You must not define %vendor macro. This macro overrides "Vendor:" value on "rpm -qi", where Fedora uses "Fedora Project" by default. * Subpackages having different version from main package ---------------------------------------------------------------- Version: 1.1 ---------------------------------------------------------------- - We don't allow that subpackages has different version from main package but for some exception (like perl, texlive). * %prep vs %build ---------------------------------------------------------------- autoreconf --install chmod a-x app/simspark/rsg/agent/nao/* find -name "*.cpp" -exec chmod a-x {} \; find -name "*.h" -exec chmod a-x {} \; ---------------------------------------------------------------- - Please move all to %prep. * Timestamps - As this package installs many files which are not modified during build, please use ---------------------------------------------------------------- make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" CPPROG="cp -p" ---------------------------------------------------------------- to keep timestamps on installed files. The method 'INSTALL="install -p"' usually works for recent autotool-based Makefiles. And sometimes 'CPPROG="cp -p"' is needed for some old packages using install-sh for installing files - Also, when using "install" or "cp" commands, add "-p" option. * Desktop file Category - "X-Red-Hat-Base" is deprecated and should not be added any longer. * ld.so.conf.d ---------------------------------------------------------------- %{_sysconfdir}/ld.so.conf.d/%{name}.conf ---------------------------------------------------------------- ! Please don't add this. All files under %{_libdir}/%{name} are used only for this package and making those libraries system wide is undesirable unless it is actually intended. And this actually causes problem as - Fedora ships tinyxml, which provides libtinyxml.so.0 (and installs this library under %{_libdir}), and some rpms require this library. - However when this ld.so.conf file is added, all binaries requiring libtinyxml.so.0 finds the libraries under %{_libdir}/%{name}/ first and tries to use it, not %{_libdir}/libtinyxml.so For example, when you install rcssserver3d and cegui, The following happen: ---------------------------------------------------------------- [tasaka1@localhost ~]$ ldd -r /usr/lib/libCEGUITinyXMLParser-0.6.0.so linux-gate.so.1 => (0x00110000) libCEGUIBase-0.6.0.so => /usr/lib/libCEGUIBase-0.6.0.so (0x00117000) libtinyxml.so.0 => /usr/lib/rcssserver3d/libtinyxml.so.0 (0x00377000) <====== libxerces-c.so.28 => /usr/lib/libxerces-c.so.28 (0x0038a000) libpthread.so.0 => /lib/libpthread.so.0 (0x00763000) libdl.so.2 => /lib/libdl.so.2 (0x0077d000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00782000) libm.so.6 => /lib/libm.so.6 (0x00874000) libc.so.6 => /lib/libc.so.6 (0x0089d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00a3d000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00a4b000) libpcre.so.0 => /lib/libpcre.so.0 (0x00ade000) /lib/ld-linux.so.2 (0x00a1b000) undefined symbol: _ZNK13TiXmlDocument6AcceptEP12TiXmlVisitor (/usr/lib/libCEGUITinyXMLParser-0.6.0.so) undefined symbol: _ZN13TiXmlDocument8StreamInEPSiPSs (/usr/lib/libCEGUITinyXMLParser-0.6.0.so) ---------------------------------------------------------------- The expected result is: ---------------------------------------------------------------- [tasaka1@localhost ~]$ ldd -r /usr/lib/libCEGUITinyXMLParser-0.6.0.so linux-gate.so.1 => (0x00110000) libCEGUIBase-0.6.0.so => /usr/lib/libCEGUIBase-0.6.0.so (0x00117000) libtinyxml.so.0 => /usr/lib/libtinyxml.so.0 (0x00377000) libxerces-c.so.28 => /usr/lib/libxerces-c.so.28 (0x0038e000) libpthread.so.0 => /lib/libpthread.so.0 (0x00767000) libdl.so.2 => /lib/libdl.so.2 (0x00781000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00786000) libm.so.6 => /lib/libm.so.6 (0x00878000) libc.so.6 => /lib/libc.so.6 (0x008a1000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00a3d000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7fd1000) libpcre.so.0 => /lib/libpcre.so.0 (0xb7fa6000) /lib/ld-linux.so.2 (0x00a1b000) --------------------------------------------------------------- Also, shipping libtinyxml.so.0 in the current way is causing a problem on rpm system anyway because on rpm rcssserver3d package also "Provides" libtinyxml.so.0. This means that (for example) cegui can be installed without tinyxml package if rcssserver3d is installed, while tinyxml package is actually needed for cegui, which of course cause a problem (you can try this). So you must follow below: - Please remove %{name}.conf file under %_sysconfdir/ld.so.conf.d - Check if system wide libtinyxml.so provided by tinyxml package can substitute for %{_libdir}/%{name}/libtinyxml.so.0 (by adding patches) - If it seems difficult, filter out libtinyxml.so.0 from Requires/ Provides following http://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies (some explanation are written on http://www.redhat.com/archives/fedora-maintainers/2007-June/msg00690.html ) - Remove "--disable-rpath" from %configure option. Well, actually the reason you had to add ld.so.conf.d file was because you removed the *needed rpath* %{_libdir}/%{name}. - Then calling /sbin/ldconfig on scriptles should be no longer needed. -- 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, or are watching someone who is. _______________________________________________ Fedora-package-review mailing list Fedora-package-review@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-package-review