Spec URL: http://fedora.roving-it.com/rawhide/gssdp.spec SRPM URL: http://fedora.roving-it.com/rawhide/gssdp-0.6-1.fc9.src.rpm Description: GSSDP implements resource discovery and announcement over SSDP and is part of gUPnP. GUPnP is an object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. GSSDP implements resource discovery and announcement over SSDP.
Updated specs for the latest release Spec URL: http://fedora.roving-it.com/rawhide/gssdp.spec SRPM URL: http://fedora.roving-it.com/rawhide/gssdp-0.6.1-1.fc9.src.rpm
Hi Peter, I have been working on packaging these libraries for the last few days stupidly not checking if someone else was working on it. Anyway I wanted to look at your spec files to compare them with the ones I made and see if there was some useful feedback I could give you, but trying to download the spec file from your server seems to just time out.
Yes. I think it just lost power. Waiting for it to come back up. Unfortunately its in Australia and I'm in London. It should be back up in a couple of hours. Peter
Actually I think I can use my space on fedorapeople.org. When I get home I'll work out how to upload them there.
New location: SPEC: http://pbrobinson.fedorapeople.org/gssdp.spec SRPM: http://pbrobinson.fedorapeople.org/gssdp-0.6.1-1.fc9.src.rpm
Looked at your spec file and its mostly the same as mine. Two nitpicks though are that I think you should list most of the BuildRequires also as Requires ie libsoup, glib2 and libglade. Also for the devel package I think a better require is: Requires: %{name} = %{version}-%{release} That said I do not maintain any Fedora packages myself, so could be that my comments do not actually comply with Fedora packaging guideline prescriptions :)
LOL. The first part of your comments are against the packaging guidelines as rpm will create the correct Requires based on library dependencies and hence the requires are redundant. The only time you need explicit required are for things like dbus and pkgconfig where they aren't directly linked in but are required. The requires on version-release are reasonable but I think some people do it that way and others just require release. Will update the spec files to take that into account.
? rpmlint output + package name satisfies the packaging naming guidelines + specfile name matches the package base name + package should satisfy packaging guidelines + license meets guidelines and is acceptable to Fedora - license matches the actual package license The license should be LGPLv2+ + %doc includes license file + spec file written in American English + spec file is legible + upstream sources match sources in the srpm c12056decc733d3bae21d32e05b628be - package successfully builds on at least one architecture Build fails on Rawhide, i386: gssdp-device-sniffer.o: In function `init_upnp': /tmp/gssdp-0.6.1/tools/gssdp-device-sniffer.c:599: undefined reference to `g_thread_init' n/a ExcludeArch bugs filed ? BuildRequires list all build dependencies n/a %find_lang instead of %{_datadir}/locale/* + binary RPM with shared library files must call ldconfig in %post and %postun + does not use Prefix: /usr + package owns all directories it creates ? no duplicate files in %files + %defattr line + %clean contains rm -rf $RPM_BUILD_ROOT + consistent use of macros + package must contain code or permissible content + large documentation files should go in -doc subpackage + files marked %doc should not affect package + header files should be in -devel n/a static libraries should be in -static + packages containing pkgconfig (.pc) files need 'Requires: pkgconfig' + libfoo.so must go in -devel - -devel must require the fully versioned base -devel subpackage should have: Requires: %{name} = %{version}-%{release} as in comment 6. + packages should not contain libtool .la files n/a packages containing GUI apps must include %{name}.desktop file + packages must not own files or directories owned by other packages + %install must start with rm -rf %{buildroot} etc. + filenames must be valid UTF-8 Optional: n/a if there is no license file, packager should query upstream n/a translations of description and summary for non-English languages, if available - reviewer should build the package in mock - the package should build into binary RPMs on all supported architectures - review should test the package functions as described + scriptlets should be sane + pkgconfig files should go in -devel + shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin A few things to fix there, primarily to get it to compile in Rawhide.
Updated src/spec with some fixes but still awaiting a build fix for rawhide.
OK. New spec and src.rpm that fixes the points addressed below and builds for me in rawhide/mock. SPEC: http://pbrobinson.fedorapeople.org/gssdp.spec SRPM: http://pbrobinson.fedorapeople.org/gssdp-0.6.1-3.fc9.src.rpm
+ rpmlint output gssdp.src: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 11) This should be fixed before committing the package. + package name satisfies the packaging naming guidelines + specfile name matches the package base name + package should satisfy packaging guidelines + license meets guidelines and is acceptable to Fedora + license matches the actual package license + %doc includes license file + spec file written in American English + spec file is legible + upstream sources match sources in the srpm c12056decc733d3bae21d32e05b628be + package successfully builds on at least one architecture i386 n/a ExcludeArch bugs filed + BuildRequires list all build dependencies n/a %find_lang instead of %{_datadir}/locale/* + binary RPM with shared library files must call ldconfig in %post and %postun + does not use Prefix: /usr + package owns all directories it creates + no duplicate files in %files + %defattr line + %clean contains rm -rf $RPM_BUILD_ROOT + consistent use of macros + package must contain code or permissible content + large documentation files should go in -doc subpackage + files marked %doc should not affect package + header files should be in -devel n/a static libraries should be in -static + packages containing pkgconfig (.pc) files need 'Requires: pkgconfig' + libfoo.so must go in -devel + -devel must require the fully versioned base + packages should not contain libtool .la files n/a packages containing GUI apps must include %{name}.desktop file + packages must not own files or directories owned by other packages + %install must start with rm -rf %{buildroot} etc. + filenames must be valid UTF-8 Optional: n/a if there is no license file, packager should query upstream n/a translations of description and summary for non-English languages, if available - reviewer should build the package in mock but the packager built it in mock - the package should build into binary RPMs on all supported architectures - review should test the package functions as described + scriptlets should be sane + pkgconfig files should go in -devel + shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin This all looks good to me, so APPROVED.
Thanks! Tabs vs space issue fixed on copy I just uploaded as it was introduced with the patch to fix the build issue.
New Package CVS Request ======================= Package Name: gssdp Short Description: GSSDP implements resource discovery and announcement over SSDP Owners: pbrobinson Branches: F-8 F-9 InitialCC: pbrobinson Cvsextras Commits: yes
cvs done.
Committed to CVS, built for rawhide in koji on all platforms. Coming to a rawhide near you soon. Thanks for your help Richard.