This is a collection of perl scripts used to determine the realtime capabilities of a system. SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.1.20121011hg.fc17.src.rpm SPEC: realTimeConfigQuickScan.spec realTimeConfigQuickScan.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: no-documentation realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary QuickScan 1 packages and 0 specfiles checked; 0 errors, 5 warnings.
There seems to be an error with you specfile url
Sorry... I'm going to add a desktop file so I'll repost when done.
Desktop file added. SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.2.20121011hg.fc17.src.rpm SPEC: http://bsjones.fedorapeople.org/rrealTimeConfigQuickScan.spec
Sorry that is: SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
/var/tmp/rpm-tmp.ttcbq9: line 40: desktop-file-install: command not found BuildRequires: desktop-file-utils
Apologies: Updated source also. SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.4.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
No worries :), I got only one applicable issue from the fedora-review tool. Please fix it by adding a %doc COPYING as a file. Issues: ======= [!]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. Note: Cannot find COPYING in rpm(s) See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
Cheers. Updated links: SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.5.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
Some remarks after reading https://fedoraproject.org/wiki/Packaging:Perl Use %{perl_vendorlib} instead of %{_datadir} Use perl(Tk) instead of perl-Tk QuickScan script change the cwd, on purpose ? why not using perl exec magic ? QuickScan.desktop: typo on Categories : X-AutioTools => X-AudioTools does not exec QuickScan.pl, on purpose ?
The QucikScan is a convenience script which ensures that QuickScan.pl is executed in the application directory. I odn't think upstream have given a great deal of thought to making this simple script portable. Executable files should not be in /usr/share either %{perl_vendorlib} looks to me as the location for perl modules (which this is not), but correct me if I'm wrong. I have used perl(Tk) and edited the desktop categories SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.6.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
Fine, I have never packaged any perl application or module so you may probably be right :). PACKAGE APPROVED Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [ ]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [ ]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [ ]: Package contains no bundled libraries. [ ]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [ ]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 [ ]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install if there is such a file. [ ]: Development files must be in a -devel package [ ]: Package requires other packages for directories it uses. [ ]: Package uses nothing in %doc for runtime. [ ]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [ ]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [ ]: Large documentation files are in a -doc subpackage, if required. [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v2 or later)". 1 files have unknown license. Detailed output of licensecheck in /home/davidcl/rpmbuild/review/review- realTimeConfigQuickScan/licensecheck.txt [ ]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [ ]: Package obeys FHS, except libexecdir and /usr/target. [ ]: If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: Package must own all directories that it creates. [ ]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [ ]: Package is not relocatable. [ ]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [ ]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [ ]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. Perl: [ ]: Package contains the mandatory BuildRequires and Reguires:. Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) missing? ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [ ]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [ ]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [x]: The placement of pkgconfig(.pc) files are correct. [ ]: Scriptlets must be sane, if used. [ ]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [!]: SourceX / PatchY prefixed with %{name}. Note: Source2 (QuickScan) Source3 (QuickScan.desktop) [x]: SourceX is a working URL. [ ]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [ ]: %check is present and all tests pass. [ ]: Packages should try to preserve timestamps of original installed files. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: realTimeConfigQuickScan-0-0.6.20120506hg.fc19.noarch.rpm realTimeConfigQuickScan-0-0.6.20120506hg.fc19.src.rpm realTimeConfigQuickScan.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary QuickScan realTimeConfigQuickScan.src: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.src: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.src: W: invalid-url Source0: realTimeConfigQuickScan-20120506.tar.bz2 2 packages and 0 specfiles checked; 0 errors, 7 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary QuickScan 1 packages and 0 specfiles checked; 0 errors, 4 warnings. # echo 'rpmlint-done:' Requires -------- realTimeConfigQuickScan-0-0.6.20120506hg.fc19.noarch.rpm (rpmlib, GLIBC filtered): /bin/bash /bin/sh perl(AudioGroupCheck) perl(BackgroundCheck) perl(Check) perl(GovernorCheck) perl(HighResTimersCheck) perl(HpetCheck) perl(Hz1000Check) perl(KernelConfigCheck) perl(MultiAudioCheck) perl(NoHzCheck) perl(PreemptRtCheck) perl(RootCheck) perl(RtcCheck) perl(RtprioCheck) perl(SwappinessCheck) perl(Tk) perl(WatchesCheck) perl(base) perl(strict) Provides -------- realTimeConfigQuickScan-0-0.6.20120506hg.fc19.noarch.rpm: perl(AudioGroupCheck) perl(BackgroundCheck) perl(Check) perl(GovernorCheck) perl(HighResTimersCheck) perl(HpetCheck) perl(Hz1000Check) perl(KernelConfigCheck) perl(MultiAudioCheck) perl(NoAtimeCheck) perl(NoHzCheck) perl(PreemptRtCheck) perl(QuickScanEngine) perl(RootCheck) perl(RtcCheck) perl(RtprioCheck) perl(SwappinessCheck) perl(WatchesCheck) realTimeConfigQuickScan = 0-0.6.20120506hg.fc19 MD5-sum check ------------- Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24 Buildroot used: fedora-rawhide-x86_64 Command line :/usr/bin/fedora-review -n realTimeConfigQuickScan -m fedora-rawhide-x86_64
Thanks for the review. If you are using fedora-review you need to action all of the [ ] items to show that you've manually checked them.
I regret, but can not avoid to REVOKE the APPROVAL. This package is not ready for approval and needs more work. There are several major issues: - .hg in sources Please remove them from your source tarball. - Permissions are not handled correctly. The files you are sed'ing /usr/bin/perl from need to be chmod +x'ed instead of /usr/bin/perl be sed'ed out. - perl()-Requires/provides are bogus. They need to be filtered.
Created attachment 636014 [details] reworked *.spec This a proposal to address the issues mentioned in comment #13.
Thanks Ralf, all done. SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.7.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec Should I also be using %{perl_vendorlib} as mentioned by Clement?
Hi, can I get an update on this please? thanks
Hi, [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). You can also filter all perl Requires/Provides using : %global __perl_provides %{nil} %global __perl_requires %{nil}
(In reply to comment #17) > Hi, > > [!]: Spec file according to URL is the same as in SRPM. > Note: Spec file as given by url is not the same as in SRPM (see attached > diff). Apologies. > > You can also filter all perl Requires/Provides using : > > %global __perl_provides %{nil} > %global __perl_requires %{nil} This still yields: Requires: /bin/bash /usr/bin/perl perl(AudioGroupCheck) perl(BackgroundCheck) perl(Check) perl(GovernorCheck) perl(HighResTimersCheck) perl(HpetCheck) perl(Hz1000Check) perl(KernelConfigCheck) perl(MultiAudioCheck) perl(NoHzCheck) perl(PreemptRtCheck) perl(RootCheck) perl(RtcCheck) perl(RtprioCheck) perl(SwappinessCheck) perl(WatchesCheck) perl(base) perl(strict)
%filter_provides_in %{_datadir}/%{name} %filter_requires_in %{_datadir}/%{name} Should fix all the perl provides/requires issues in a simple way.
Well, that doesn't pick up the perl provides I can use the following which is simpler than the large block before. %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(.*Check\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(.*Check\\) %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(QuickScanEngine\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(QuickScanEngine\\) SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.8.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
Is this ready to be approved? This package is flagged for inclusion in the audio spin and we'd really like it to be included in the composes as early as possible. Thanks
Hi Brendan, The desktop file exec is not valid (no provided by the package). After installation launching the desktop file (through gnome-shell application launcher), it fails with "jam-control not found".
Sorry, missed that one. SRPM: http://bsjones.fedorapeople.org/realTimeConfigQuickScan-0-0.9.20120506hg.fc18.src.rpm SPEC: http://bsjones.fedorapeople.org/realTimeConfigQuickScan.spec
Package approved, could you open the following upstream bugs : * Provide the application icon and the desktop file * Provide a launcher perl script * Plan to release a version to avoid the "Version: 0" as a target prerelease version Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package contains no bundled libraries. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install if there is such a file. [x]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v2 or later)". 1 files have unknown license. Detailed output of licensecheck in /home/davidcl/rpmbuild/review/review- realTimeConfigQuickScan/licensecheck.txt [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [x]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Note: Test run failed [x]: Packages must not store files under /srv, /opt or /usr/local Note: Test run failed Perl: [x]: Package contains the mandatory BuildRequires and Reguires:. [x]: CPAN urls should be non-versioned. Note: Test run failed ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: The placement of pkgconfig(.pc) files are correct. [x]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [x]: SourceX / PatchY prefixed with %{name}. Note: Source2 (QuickScan) Source3 (QuickScan.desktop) [x]: SourceX is a working URL. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Test run failed Rpmlint ------- Checking: realTimeConfigQuickScan-0-0.9.20120506hg.fc17.noarch.rpm realTimeConfigQuickScan-0-0.9.20120506hg.fc17.src.rpm realTimeConfigQuickScan.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary QuickScan realTimeConfigQuickScan.src: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.src: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.src: W: invalid-url Source0: realTimeConfigQuickScan-20120506.tar.bz2 2 packages and 0 specfiles checked; 0 errors, 7 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary realTimeConfigQuickScan realTimeConfigQuickScan.noarch: W: no-manual-page-for-binary QuickScan 1 packages and 0 specfiles checked; 0 errors, 4 warnings. # echo 'rpmlint-done:' Requires -------- realTimeConfigQuickScan-0-0.9.20120506hg.fc17.noarch.rpm (rpmlib, GLIBC filtered): /bin/bash /bin/sh /usr/bin/perl perl(:MODULE_COMPAT_5.14.3) perl(Tk) perl(Tk::Table) perl(base) perl(strict) Provides -------- realTimeConfigQuickScan-0-0.9.20120506hg.fc17.noarch.rpm: realTimeConfigQuickScan = 0-0.9.20120506hg.fc17 MD5-sum check ------------- Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-17-x86_64 Command line :/usr/bin/fedora-review -n realTimeConfigQuickScan
Thanks for the review. I will contact upstream New Package SCM Request ======================= Package Name: realTimeConfigQuickScan Short Description: realtime settings inspector Owners: bsjones Branches: f16 f17 f18 InitialCC:
Git done (by process-git-requests).
realTimeConfigQuickScan-0-0.9.20120506hg.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/realTimeConfigQuickScan-0-0.9.20120506hg.fc17
realTimeConfigQuickScan-0-0.9.20120506hg.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/realTimeConfigQuickScan-0-0.9.20120506hg.fc16
realTimeConfigQuickScan-0-0.9.20120506hg.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/realTimeConfigQuickScan-0-0.9.20120506hg.fc18
realTimeConfigQuickScan-0-0.9.20120506hg.fc18 has been pushed to the Fedora 18 testing repository.
realTimeConfigQuickScan-0-0.9.20120506hg.fc18 has been pushed to the Fedora 18 stable repository.
realTimeConfigQuickScan-0-0.9.20120506hg.fc16 has been pushed to the Fedora 16 stable repository.
realTimeConfigQuickScan-0-0.9.20120506hg.fc17 has been pushed to the Fedora 17 stable repository.