Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0-1.fc12.src.rpm Description: KNutClient is a visual KDE client for UPS systems using NUT - Network UPS Tools
Why is this bug private? Are you sponsored as a packager? I can't find you in FAS. Please read https://fedoraproject.org/wiki/PackageMaintainers/Join .. It also helps to include koji scratch builds (run koji build --scratch dist-f13 <src.rpm>) and include links to the koji build to help out your reviewer. A few quickies looking at the spec: * use macros for %{name} and %{version} in URL and Source0 big issue: * %{_datadir}/* is a big no-no... it causes your RPM to own icons/ locale/ doc/ applications/ and kde4/ ... which is NOT permitted. * afaict you're doing that because you have localisations... use %find_lang %{name} --with-kde https://fedoraproject.org/wiki/Packaging:Guidelines#Why_do_we_need_to_use_.25find_lang.3F * owning /usr/share/icons/hicolor/*/apps/knutclient.png is fine... * same issue with /usr/bin/* ... please use %{_kde4_bindir}/%{name} Please consider making this bug private. If you have an FAS account please let us know, if not you will have to get in contact with a package sponsor, preferably a KDE one... kkofler or rdieter are probably your best betes. If you have an FAS account I can review this package.
s/private/public of course... :) time for bed
I'm opening up the bug. Review requests must be public, the package will be public anyway. For Fedora, only security-sensitive stuff should be private.
Sorry about the private issue. I thought I mad that public. I do have an account in FAS. Account name: eliwap Working on the changes recommended as I write
Hopefully that will be that. Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0-2.fc12.src.rpm Description: KNutClient is a visual KDE client for UPS systems using NUT - Network UPS Tools
koji build --scratch dist-f13 knutclient.spec produced... 2095815 build (dist-f13, knutclient.spec): FAILED: Fault: <Fault 1: 'Traceback (most recent call last):\n File "/usr/sbin/kojid", line 1293, in runTask\n response = (handler.run(),)\n File "/usr/sbin/kojid", line 1369, in run\n return self.handler(*self.params,**self.opts)\n File "/usr/sbin/kojid", line 1830, in handler\n h = self.readSRPMHeader(srpm)\n File "/usr/sbin/kojid", line 1903, in readSRPMHeader\n h = koji.get_rpm_header(fo)\n File "/usr/lib/python2.4/site-packages/koji/__init__.py", line 770, in get_rpm_header\n hdr = ts.hdrFromFdno(fo.fileno())\nerror: error reading package header\n'>
You have to submit an SRPM to Koji for a scratch build, not just a specfile.
Dumb mistake. Sorry about that. OK tried to run a scratch build and got the following in the build log. It would seem that libQtNetwork.so.4 is not included in th the qt packages available for Fedora 13. Apparently, the linked library seems to be in qt for Fedora 12 /usr/bin/ld: CMakeFiles/knutclient.dir/knutnet.o: undefined reference to symbol 'QAbstractSocket::abort()' /usr/bin/ld: note: 'QAbstractSocket::abort()' is defined in DSO /usr/lib64/libQtNetwork.so.4 so try adding it to the linker command line /usr/lib64/libQtNetwork.so.4: could not read symbols: Invalid operation
Didn't read the message carefully enough. Am I missing a build dependancy that I'm getting the undefined reference to symbol error with QAbstractSocket or is this a bug or an ommission in the qt packages that come with Fedora 13?
It's an incompatible behavior change in the linker, a Fedora 13 "feature": https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
K.... I'm not a programmer..... Could somebody help me by creating a patch, one of course that will still allow me to build on f13, f12 and f11. Thanks Eli
I just wrote an email to the developer about this issue.
OK.... Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0-4.fc12.src.rpm Scratch build for Fedora 13 can be found: http://koji.fedoraproject.org/koji/taskinfo?taskID=2105147 Found out what to do with a couple of hours of googling and created the patch file to handle the dsolinking issue There was another %find_lang issue which was handled by modifying the line to look like: %find_lang %{name} --with-kde Otherwise I got an error from koji: + /usr/lib/rpm/find-lang.sh /builddir/build/BUILDROOT/knutclient-1.0-3.fc13.i386 knutclient No translations found for knutclient in /builddir/build/BUILDROOT/knutclient-1.0-3.fc13.i386
K again :) Got a response from the developer. He created a new version with a corrected CMakeList.txt file New Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2107812 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-1.fc12.src.rpm
Bump!!
Can someone please tell me where we are with this, or should I ask for additional help from the mailing list? If there is a "I'm really busy issue." Please let me know and I will continue to wait. Thanks
Thank you Thomas
OK - Package meets naming and packaging guidelines OK - Spec file matches base package name. !! - Spec has consistant macro usage. OK - Meets Packaging Guidelines. OK - License GPLv2+ !! - License field in spec matches OK - License file included in package OK - Spec in American English OK - Spec is legible. OK - Sources match upstream md5sum: e6ea7a9b3f4aa87b1308bd5c9925f78d NN - Package needs ExcludeArch OK - BuildRequires correct OK - Spec handles locales/find_lang OK - Package has %defattr and permissions on files is good. OK - Package has a correct %clean section. OK - Package has correct buildroot %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) OK - Package is code or permissible content. NN - Doc subpackage needed/used. OK - Packages %doc files don't affect runtime. NN - Headers/static libs in -devel subpackage. NN - Spec has needed ldconfig in post and postun NN - .pc files in -devel subpackage/requires pkgconfig NN - .so files in -devel subpackage. NN - -devel package Requires: %{name} = %{version}-%{release} NN - .la files are removed. !! - Package is a GUI app and has a .desktop file OK - Package compiles and builds on at least one arch. OK - Package has no duplicate files in %files. OK - Package doesn't own any directories other packages own. !! - Package owns all the directories it creates. !! - No rpmlint output. Issues: >> %setup -q is enough, you can drop: n %{name}-%{version} >> License is GPLv2+ according to the source code >> Change %{_datadir} to %{_kde4_datadir} and %{_kde4_iconsdir} and %{_kde4_appsdir} for consistency. rpm -E %{_kde4_appsdir} <== example, tells you the path ;) >> Missing desktop-file-validate https://fedoraproject.org/wiki/Packaging/Guidelines#Desktop_files >> Icon scriptlets needed: %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then touch --no-create %{_kde4_iconsdir}/hicolor &>/dev/null gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &>/dev/null || : update-desktop-database -q &> /dev/null fi %posttrans gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || : update-desktop-database -q &> /dev/null >> Dir ownership You don't own the dir knutclient in /usr/share/kde4/apps/ %{_datadir}/kde4/apps/knutclient/* Remove the /* from the end of that line to make it read: %{_kde4_appsdir}/knutclient >> rpmlint: knutclient.spec:61: W: macro-in-%changelog %find_lang knutclient-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/knutclient-1.0.1/src/knutdock.h knutclient-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/knutclient-1.0.1/src/knutdock.cpp knutclient.src:61: W: macro-in-%changelog %find_lang 3 packages and 1 specfiles checked; 0 errors, 4 warnings. Use %%find_lang instead of %find_lang in your changelog Remove the spurious-executable-perms: chmod -x src/knutdock.h chmod -x src/knutdock.cpp ^^^^^^^^^^^^^^^^^^^^^^^^^ this two lines in %prep section I hope i have everything. But i will recheck once the issues are fixed. -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers
New Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2131473 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-2.fc12.src.rpm Thanks again for all the great feedback Thomas. I think that I got them all. Of particular concern is all the %post... stuff. Since it all built OK, I'm assuming that I placed the macros in the correct section, but please double check as I'm sure you will :)
Hi Eli, sorry, i could have done better and tell you the place of the sections in the first place. The desktop-file-validate line comes into a section called: %check The %check section follows the %clean section. Next are the %post sections, so: %clean %check %post %postun %posttrans %files Please re-arrange this sections before you ask for CVS. A tip, but of course up to you: maybe use a comment line above the chmod -x lines like: # to prevent spurious-executable-perm That way you recall in a few weeks/months why you added the lines ;) Else all issues are fixed :) It installs and runs and it's even installed rpmlint clean. APPROVED
Thank you very much Thomas. All your suggestions have been implemented and the SPEC file has been corrected. New Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2132779 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-3.fc12.src.rpm
The bit is wrong Requires: qt >= 4.6 it should be %{?_qt4_version:Requires: qt4 >= %{_qt4_version}}
Thanks for that Leigh. I do see the benefit of having macros handle versioning. However, I kinda think that the Requires line is inconsistent with the BuildRequires line and it sorta makes things confusing. I tried the same format for the BuildRequires qt-devel line and when I tried to build I was told that there was no description in the SPEC and of course there was. Anyway... Thanks Again for the help New Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2133279 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-4.fc12.src.rpm
My bad. The versioning of requires or BRs aren't needed at all. We have in every supported release at least qt 4.6.2 and KDE 4.4.2. You can drop the %{?_qt4_version:Requires: qt4 >= %{_qt4_version}} line completely and replace the BR, Requires with: BuildRequires: kdelibs4-devel desktop-file-utils Requires: kdebase %{?_kde4_macros_api:Requires: kde4-macros(api) = %{_kde4_macros_api} } As i said my bad. I knew there was something i forgot. The above lines are enough. No qt dep needed since it's dragged in by kdebase anyways.
> The desktop-file-validate line comes into a section called: %check Actually, it's also allowed to validate in %install, after the file gets installed by make install. When using desktop-file-install, that always does both validation and installation during %install. The difference is that %check can historically be disabled in rpmbuild, however in Koji it is always run (which also implies that if you want to be able to disable a testsuite you run in %check, you have to conditionalize the actual shell code running it).
Oh, and please fill in the required information when setting fedora-cvs. https://fedoraproject.org/wiki/CVS_admin_requests
> However, I kinda think that the Requires line is inconsistent with the > BuildRequires line and it sorta makes things confusing. The "inconsistency" is normal though: * the BuildRequires line specifies the minimum version of Qt to build against. That version is a fixed version depending on the upstream code. * the Requires line specifies that Qt needs to be at least the version the package was built again. This is because Qt is only backwards and not forwards compatible.
Thanks for the feedback Kevin and Thomas. I kept the Requires and BuildRequires lines. I like stating specifically what the original or minimum (if genuinely known) versions that the packages are built against in the SPEC files. It makes the packages more general purpose in my mind. And I like having the lists "complete" for future reference. Thanks for reminding me about the CVS info Kevin. New Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2134369 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-5.fc12.src.rpm
New Package CVS Request ======================= Package Name: knutclient Short Description: KDE client for Network UPS Tools (NUT) Owners: eliwap Branches: F-11 F-12 F-13 InitialCC: thomasj rdieter kevin.org
New Package CVS Request ======================= Package Name: knutclient Short Description: KDE client for Network UPS Tools (NUT) Owners: eliwap Branches: F-11 F-12 F-13 InitialCC: thomasj rdieter kkofler Fixed with my FAS account name instead of my e-mail address.
Hi Eli, it's pointless to keep the versions. I explained why and please remove the qt line. As i explained, qt is automatically pulled in by the BR and Requires of kdebase and kdelibs. The minimum versions will change anyways in later releases, so it's pointless anyways to keep it. To change the lines as i wrote is part of the approvement. Even they are late.
And even if someone is in dire need of knowing what version the specified package required at $point_in_time, we have the builds in koji and bodhi, it would be trivial to look it up and see what it was built against and requires.
> it's pointless to keep the versions. No! In principle, ALL Qt-using packages should have: %{?_qt4_version:Requires: qt4 >= %{_qt4_version}} As this is a KDE package, it should ALSO (in addition to the above) have: %{?_kde4_version:Requires: kdelibs4 >= %{_kde4_version}} We have been burned many times by this stuff missing, with people trying to use stuff build against an old KDE on the current KDE updates. So I strongly recommend AGAINST removing these, and in fact they should be ADDED to the packages which are missing them. As for the BuildRequires, I don't see how it hurts to specifically BR qt4-devel >= 4.6 if that's what the package needs to build. I consider this useful information (though it tends to get outdated as the upstream code gets upgraded).
> with people trying to use stuff build against an old KDE on the current KDE > updates. Oops, sorry, this direction works, what I meant was: with people trying to use stuff built against the current KDE updates on an old KDE
CVS done (by process-cvs-requests.py).
K. then I've made the last correction that Kevin suggested. Now I'm going to do all the cvs stuff and then push to testing. I will wait for a reasonable amount of time before pushing to stable just incase any objections are raised between Kevin and Thomas. I would like for there to be agreement amongst us before releasing for general consumption. New Scratch Build: https://koji.fedoraproject.org/koji/taskinfo?taskID=2135476 Spec URL: http://orbsky.homelinux.org/packages/knutclient.spec SRPM URL: http://orbsky.homelinux.org/packages/knutclient-1.0.1-6.fc12.src.rpm
knutclient-1.0.1-6.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc12
knutclient-1.0.1-6.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc11
knutclient-1.0.1-6.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc13
knutclient-1.0.1-6.fc13 has been pushed to the Fedora 13 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update knutclient'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc13
knutclient-1.0.1-6.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update knutclient'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc11
knutclient-1.0.1-6.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update knutclient'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/knutclient-1.0.1-6.fc12
OK.... Thomas, Kevin. Just to make sure that everyone is in agreement. If I see no objections within 3 days I will push to stable. I will push to stable sooner if both of you say we're good to go. Thanks to both of you for your help in getting this packaged. Its one small utility for kde4 that I've been waiting for for quite some time. Thanks again.
We're good to go.
OK... Thanks Thomas, I guess that make us all unanimous so I will push to stable soonest. Once again everyone; thank you :)
knutclient-1.0.1-6.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
knutclient-1.0.1-6.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.
knutclient-1.0.1-6.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
knutclient-1.0.3-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/knutclient-1.0.3-1.fc12
knutclient-1.0.3-1.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/knutclient-1.0.3-1.fc13
knutclient-1.0.3-2.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/knutclient-1.0.3-2.fc12
knutclient-1.0.3-2.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
knutclient-1.0.3-2.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
knutclient-1.0.4-1.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/knutclient-1.0.4-1.fc14
knutclient-1.0.4-1.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/knutclient-1.0.4-1.fc13