Spec URL: http://lucilanga.fedorapeople.org/svxlink.spec SRPM URL: http://lucilanga.fedorapeople.org/svxlink-080730-1.fc9.src.rpm Description: The SvxLink project is a multi purpose voice services system for ham radio use. For example, EchoLink connections are supported. Also, the SvxLink server can act as a repeater controller. A few notes: - not entirely sure about the versioning - Patch1 might be required (initially commented) as it seems mock spandsp version (0.0.4) differs from the one in koji (0.0.5) ?!, not able to test it recently.
- cleaned up -devel packages - tweaked server config file to include the correct libdir. ... and bumped version http://lucilanga.fedorapeople.org/svxlink.spec http://lucilanga.fedorapeople.org/svxlink-080730-2.fc9.src.rpm
This fails to build for me on x86_64 rawhide: --- Compiling SpanDtmfDecoder.cpp... /usr/include/spandsp/dtmf.h: In member function 'virtual bool SpanDtmfDecoder::initialize()': /usr/include/spandsp/dtmf.h:228: error: too few arguments to function 'void dtmf_rx_parms(dtmf_rx_state_t*, int, int, int, int)' SpanDtmfDecoder.cpp:169: error: at this point in file Also, the build system obscures the compiler calls, but I'm not sure I see any place that would incorporate the regular Fedora compiler flags. There's no mention of %{optflags} or $RPM_OPT_FLAGS in the spec and there's no configure script to call.
(In reply to comment #2) > --- Compiling SpanDtmfDecoder.cpp... > /usr/include/spandsp/dtmf.h: In member function 'virtual bool > SpanDtmfDecoder::initialize()': > /usr/include/spandsp/dtmf.h:228: error: too few arguments to function 'void > dtmf_rx_parms(dtmf_rx_state_t*, int, int, int, int)' > SpanDtmfDecoder.cpp:169: error: at this point in file Patch2 was not applied. Fixed. > Also, the build system obscures the compiler calls, but I'm not sure I see any > place that would incorporate the regular Fedora compiler flags. There's no > mention of %{optflags} or $RPM_OPT_FLAGS in the spec and there's no configure > script to call. Fixed. A few notes: rpmlint libasync.x86_64: W: shared-lib-calls-exit /usr/lib64/libasyncaudio-0.16.1.so exit.5 libasync.x86_64: W: shared-lib-calls-exit /usr/lib64/libasynccpp-0.16.1.so exit.5 libasync-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libasyncaudio-0.16.1.so exit.5 libasync-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libasynccpp-0.16.1.so exit.5 Not entirely sure but I think it safe. From what I could see there are 2 calls both internal error handling. I will address this upstream anyway. libasync.x86_64: W: unused-direct-shlib-dependency libasync-devel.x86_64: W: unused-direct-shlib-dependency I am unable to fix, package does not use libtool and passing -Wl,-as-needed won't work (fails with undefined reference) I think the above are harmless. new version: http://lucilanga.fedorapeople.org/svxlink.spec http://lucilanga.fedorapeople.org/svxlink-080730-3.fc10.src.rpm
The shared-lib-calls-exit bits are just pointing out an oddity in the API of the library; generally the caller would want to handle errors itself instead of simply having the library exit, but I suspect that most of these libraries are for internal use anyway. If anything, they'd be something to report upstream; they're not blockers. The unused-direct-shlib-dependency complaints are valid, but not really significant. I don't see any libraries there that wouldn't be pulled in by qt itself, so there's not really any inefficiency. The static libraries will need to go in their own -static packages; they are not permitted in the -devel packages alongside shared libraries. Preferably they aren't included at all, but that's up to you. Many (all?) of the *so files are duplicated between the base and -devel packages. It looks like you used the usual pattern for capturing just the versioned .so files, but this package uses some odd library versioning so for some reason the library version appears before the ".so" as well as after it on some files. I don't pretend to understand why, but I guess you'll need to change the patterns used for capturing the versioned and unversioned .so files. The COPYRIGHT file mentions a gsm directory with a different copyright, but I don't see it in the package. I guess the package now just uses an external library. I don't see any licensing information on the sounds. Can you verify the license?
(In reply to comment #4) > The static libraries will need to go in their own -static packages; they are > not permitted in the -devel packages alongside shared libraries. Preferably > they aren't included at all, but that's up to you. Removed. > Many (all?) of the *so files are duplicated between the base and -devel > packages. It looks like you used the usual pattern for capturing just the > versioned .so files, but this package uses some odd library versioning so for > some reason the library version appears before the ".so" as well as after it on > some files. I don't pretend to understand why, but I guess you'll need to > change the patterns used for capturing the versioned and unversioned .so files. Fixed (I think...) > The COPYRIGHT file mentions a gsm directory with a different copyright, but I > don't see it in the package. I guess the package now just uses an external > library. I've asked upstream to update the file. > I don't see any licensing information on the sounds. Can you verify the > license? Asked upstream. new version: http://lucilanga.fedorapeople.org/svxlink.spec http://lucilanga.fedorapeople.org/svxlink-080730-4.fc10.src.rpm
(In reply to comment #5) > > I don't see any licensing information on the sounds. Can you verify the > > license? License of sounds is GPLv2 new version: http://lucilanga.fedorapeople.org/svxlink.spec http://lucilanga.fedorapeople.org/svxlink-080730-5.fc10.src.rpm
Thanks for doing that. It would be good to add a quick comment to the spec near the License: tag indicating which parts are GPLv2 and which are GPLv2+ so you don't have to look for the COPYRIGHT files. I can't quite tell if the svxlink-server package needs a dependency on udev (for /etc/udev/rules.d) or whether the dependency chain includes it. I note that the .so files aren't executable. I was under the impression that they needed to be executable for things to work, and my systems don't seem to have any non-executable so files in _libdir. Any reason for not using the standard user management scriptlet? As it is now, your system fails badly if the svxlink user is defined somewhere other than /etc/passwd (such as on my LDAP server). Check http://fedoraproject.org/wiki/Packaging/UsersAndGroups for more info; it's basically just calling getent. Also, you will need Requries(pre): shadow-utils for that scriptlet. * source files match upstream. sha256sums: 77d14a788ba1a9c5a2027f875790ec3eaeb5074ba48d0bb382c2b6992249a7d1 sounds-080730.tar.gz 68039508fa77ac3daf648bc26b99029c867068a03b43aab6650101c2fc2ef107 svxlink-080730.tar.gz * package meets naming and versioning guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * summaries are OK. * descriptions are OK. * dist tag is present. * build root is OK. * license field matches the actual license. * license is open source-compatible. * license texts included in package. * latest version is being packaged. * BuildRequires are proper. * compiler flags are appropriate. * %clean is present. * package builds in mock (rawhide, x86_64). * package installs properly. * debuginfo package looks complete. * rpmlint has acceptable complaints. * final provides and requires are sane: echolib-0.13.0-5.fc11.x86_64.rpm libecholib.so.0.13()(64bit) echolib = 0.13.0-5.fc11 echolib(x86-64) = 0.13.0-5.fc11 = /sbin/ldconfig libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libecholib.so.0.13()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgsm.so.1()(64bit) echolib-devel-0.13.0-5.fc11.x86_64.rpm echolib-devel = 0.13.0-5.fc11 echolib-devel(x86-64) = 0.13.0-5.fc11 = echolib = 0.13.0 libecholib.so.0.13()(64bit) libasync-0.16.1-5.fc11.x86_64.rpm libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libasynccpp.so.0.16()(64bit) libasyncqt.so.0.16()(64bit) libasync = 0.16.1-5.fc11 libasync(x86-64) = 0.16.1-5.fc11 = /sbin/ldconfig libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXcursor.so.1()(64bit) libXext.so.6()(64bit) libXft.so.2()(64bit) libXi.so.6()(64bit) libXinerama.so.1()(64bit) libXrandr.so.2()(64bit) libXrender.so.1()(64bit) libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libasynccpp.so.0.16()(64bit) libasyncqt.so.0.16()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjpeg.so.62()(64bit) libmng.so.1()(64bit) libpng12.so.0()(64bit) libqt-mt.so.3()(64bit) libsigc-1.2.so.5()(64bit) libz.so.1()(64bit) libasync-devel-0.16.1-5.fc11.x86_64.rpm libasync-devel = 0.16.1-5.fc11 libasync-devel(x86-64) = 0.16.1-5.fc11 = libasync = 0.16.1 libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libasynccpp.so.0.16()(64bit) libasyncqt.so.0.16()(64bit) qtel-0.11.1-5.fc11.x86_64.rpm qtel = 0.11.1-5.fc11 qtel(x86-64) = 0.11.1-5.fc11 = libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXcursor.so.1()(64bit) libXext.so.6()(64bit) libXft.so.2()(64bit) libXi.so.6()(64bit) libXinerama.so.1()(64bit) libXrandr.so.2()(64bit) libXrender.so.1()(64bit) libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libasyncqt.so.0.16()(64bit) libecholib.so.0.13()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libjpeg.so.62()(64bit) libmng.so.1()(64bit) libpng12.so.0()(64bit) libqt-mt.so.3()(64bit) libsigc-1.2.so.5()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libz.so.1()(64bit) ? svxlink-server-0.10.1-5.fc11.x86_64.rpm ModuleDtmfRepeater.so()(64bit) ModuleEchoLink.so()(64bit) ModuleHelp.so()(64bit) ModuleParrot.so()(64bit) ModuleTcl.so()(64bit) config(svxlink-server) = 0.10.1-5.fc11 svxlink-server = 0.10.1-5.fc11 svxlink-server(x86-64) = 0.10.1-5.fc11 = /bin/bash /bin/sh /usr/bin/tclsh config(svxlink-server) = 0.10.1-5.fc11 libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXcursor.so.1()(64bit) libXext.so.6()(64bit) libXft.so.2()(64bit) libXi.so.6()(64bit) libXinerama.so.1()(64bit) libXrandr.so.2()(64bit) libXrender.so.1()(64bit) libasyncaudio.so.0.16()(64bit) libasynccore.so.0.16()(64bit) libasynccpp.so.0.16()(64bit) libasyncqt.so.0.16()(64bit) libecholib.so.0.13()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgsm.so.1()(64bit) libjpeg.so.62()(64bit) libmng.so.1()(64bit) libpng12.so.0()(64bit) libpopt.so.0()(64bit) libpopt.so.0(LIBPOPT_0)(64bit) libqt-mt.so.3()(64bit) libsigc-1.2.so.5()(64bit) libspandsp.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtcl8.5.so()(64bit) libz.so.1()(64bit) ? Needs udev? svxlink-server-devel-0.10.1-5.fc11.x86_64.rpm svxlink-server-devel = 0.10.1-5.fc11 svxlink-server-devel(x86-64) = 0.10.1-5.fc11 = * shared libraries installed; ldconfig called properly. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. ? file permissions are appropriate. * no generically named files X issues with scriptlets * code, not content. * documentation is small, so no -doc subpackage is necessary. * %docs are not necessary for the proper functioning of the package. * headers are in the -devel subpackages. * no pkgconfig files. * no static libraries. * no libtool .la files. * desktop files valid and installed properly.
(In reply to comment #7) > Thanks for doing that. It would be good to add a quick comment to the spec > near the License: tag indicating which parts are GPLv2 and which are GPLv2+ so > you don't have to look for the COPYRIGHT files. Fixed. > I can't quite tell if the svxlink-server package needs a dependency on udev > (for /etc/udev/rules.d) or whether the dependency chain includes it. Added udev dependency. > I note that the .so files aren't executable. I was under the impression that > they needed to be executable for things to work, and my systems don't seem to > have any non-executable so files in _libdir. Fixed. Though I can find non-executable files in my _libdir. I guess it all depends on the loading method. Anyway this is seamless thing to do. > Any reason for not using the standard user management scriptlet? As it is now, > your system fails badly if the svxlink user is defined somewhere other than > /etc/passwd (such as on my LDAP server). Check > http://fedoraproject.org/wiki/Packaging/UsersAndGroups for more info; it's > basically just calling getent. Also, you will need Requries(pre): shadow-utils > for that scriptlet. Fixed. new versions: http://lucilanga.fedorapeople.org/svxlink.spec http://lucilanga.fedorapeople.org/svxlink-080730-6.fc10.src.rpm
Looks good: license note is there, udev dependency is added, so files are executable (and I should check to see if this is really necessary), scriptlets and their dependencies are OK. APPROVED
Thank you. New Package CVS Request ======================= Package Name: svxlink Short Description: Repeater controller and EchoLink (simplex or repeater) Owners: lucilanga Branches: F-9 F-10 EL-5 InitialCC:
cvs done.
F-9, F-10 and EL-5 directories are missing from cvs.
Odd. Sorry about that. Should be fixed now.
svxlink-080730-6.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/svxlink-080730-6.fc9
svxlink-080730-6.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/svxlink-080730-6.fc10
svxlink-080730-6.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
svxlink-080730-6.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.