Bug 859586 - Review Request: gsm-ussd - USSD query tool
Review Request: gsm-ussd - USSD query tool
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: MartinKG
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-22 02:51 EDT by Ivan Romanov
Modified: 2012-12-20 11:09 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-12-20 11:09:29 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mgansser: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Ivan Romanov 2012-09-22 02:51:02 EDT
Spec URL: https://raw.github.com/drizt/gsm-ussd-package/90e7ae7bec20870c1b856284d3cba4a911cfa427/gsm-ussd.spec
SRPM URL: https://github.com/drizt/gsm-ussd-package/raw/90e7ae7bec20870c1b856284d3cba4a911cfa427/gsm-ussd-0.4.0-0.1.25.fc17.src.rpm
Description: 
gsm-ussd is a script to send USSD (Unstructured Supplementary
Services Data) queries to your broadband provider. USSD queries
are "phone numbers" like "*100#", which will result in a message
(NOT a SMS) with your current prepaid account balance.

You can use this program to query your own phone number,
replenish your prepaid account, query your free minutes left
and so on, depending on your GSM provider.

Fedora Account System Username: ivanromanov
Comment 1 Ivan Romanov 2012-09-22 02:56:57 EDT
$ rpmlint gsm-ussd-0.4.0-0.1.25.fc17.noarch.rpm gsm-ussd-0.4.0-0.1.25.fc17.src.rpm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/DCS.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Modem.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/UssdQuery.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/NetworkErrors.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Code.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Loggit.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Stty.pm
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Lockfile.pm
2 packages and 0 specfiles checked; 8 errors, 0 warnings.
Comment 2 MartinKG 2012-09-22 09:03:41 EDT
i can take your package and make a review of it.
Comment 3 MartinKG 2012-09-22 09:17:27 EDT
four comments:

- PatchY should prefixed with %{name}

- use %global instead of %define

- %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions

- in file section, use %{name} instead of gsm-ussd
Comment 4 Ivan Romanov 2012-09-22 10:18:15 EDT
(In reply to comment #3)
> - use %global instead of %define
Why?
Comment 5 Ivan Romanov 2012-09-22 10:25:49 EDT
hm ... it's weird for me.
gsm-ussd.noarch: E: script-without-shebang /usr/libexec/gsm-ussd/lib/GSMUSSD/Lockfile.pm
I've looked at this file and it has bashing.
Comment 6 Mario Blättermann 2012-09-22 10:36:43 EDT
(In reply to comment #4)
> (In reply to comment #3)
> > - use %global instead of %define
> Why?

http://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define
Comment 8 Michael Scherer 2012-09-22 11:54:47 EDT
I was about to also do the review ( in fact, i have it ready to cut and paste ), but I will let Martin take it. However the license tag is false, as there is code under GPLv2+ and code under lgpl. 

The fact it provides perl modules is wrong, you should filter them from Provides ( since they are not in perl path ).


/usr/libexec/gsm-ussd/ is unowned

There is missing deps for xussd, and a .desktop file should be added since that's gui.

And script-without-shebang should be corrected, for example, by removing the +x bits from the file ( since they are not scripts ).

And you should also comment the patch.
Comment 9 Ivan Romanov 2012-09-22 13:01:04 EDT
xussd uses zenity or kdialog. Is it imposible to have some 'or' operator in Requires?
Comment 10 Ivan Romanov 2012-09-22 13:06:32 EDT
I wonder maybe should drop xussd from the package. And next work with upstream to make a front-end only for a single dialog?
Comment 11 Mario Blättermann 2012-09-22 13:29:45 EDT
(In reply to comment #9)
> xussd uses zenity or kdialog. Is it imposible to have some 'or' operator in
> Requires?

As far as I know, there's no convenient way to choose the one or the other. It also depends on the workflow when calling a frontend by gssm-ussd. I haven't tested it. Which frontend do you've installed, and in case both are available, which of them calls gsm-ussd first? Besides that, there's obviously no way to change the preferred gui from the build configuration. Pulling both would be annoying, because kdialog needs lots of KDE stuff, and zenity that from Gtk. Not really practical for either Gnome or in the latter case for KDE users.
Comment 13 Ivan Romanov 2012-10-07 10:28:12 EDT
I tried to use such filter:
%filter_provides_in %{_libexecdir} 
but provides wasn't filtered.
Comment 15 Ivan Romanov 2012-10-07 12:25:22 EDT
%changelog
* Sun Oct 07 2012 Ivan Romanov <drizt@land.ru> 0.4.0-0.3.25
- dropped xussd
- unset executable flag for perl modules
- fixed License tag
- fixed Requires tag
- filter modules from Provides
Comment 16 MartinKG 2012-10-08 12:58:08 EDT
here's the review, but the package looks almost ready for approval.


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.
[ ]: Package contains desktop file if it is a GUI application.
[ ]: 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)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in /home/martin/fedora-
     scm/859586-gsm-ussd/licensecheck.txt
[ ]: Package consistently uses macro is (instead of hard-coded directory
     names).
[ ]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[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: No rpmlint messages.
[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:.

===== 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.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (gsm-ussd_0.4.0-25.tar.gz)
[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.
[!]: Spec use %global instead of %define.
     Note: %define __provides_exclude_from %{_libexecdir} %define
     __requires_exclude .*GSMUSSD.*

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: gsm-ussd-0.4.0-0.3.25.fc17.src.rpm
          gsm-ussd-0.4.0-0.3.25.fc17.noarch.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint gsm-ussd
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'



Requires
--------
gsm-ussd-0.4.0-0.3.25.fc17.noarch.rpm (rpmlib, GLIBC filtered):

    /usr/bin/perl
    perl >= 0:5.008
    perl(:MODULE_COMPAT_5.14.2)
    perl(Carp)
    perl(Encode)
    perl(Expect)
    perl(Fcntl)
    perl(FindBin)
    perl(Getopt::Long)
    perl(POSIX)
    perl(Pod::Usage)
    perl(Scalar::Util)
    perl(lib)
    perl(sigtrap)
    perl(strict)
    perl(warnings)



Provides
--------
gsm-ussd-0.4.0-0.3.25.fc17.noarch.rpm:
    gsm-ussd = 0.4.0-0.3.25.fc17



MD5-sum check
-------------
http://linux.zum-quadrat.de/downloads/gsm-ussd_0.4.0-25.tar.gz :
  CHECKSUM(SHA256) this package     : 1b082f5214eb7f1a3ccc9f983795e0f0eee5420f53f76e4f91bf85b1a654977f
  CHECKSUM(SHA256) upstream package : 1b082f5214eb7f1a3ccc9f983795e0f0eee5420f53f76e4f91bf85b1a654977f


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-17-x86_64
Command line :/usr/bin/fedora-review -b 859586
Comment 17 Ivan Romanov 2012-10-08 14:51:35 EDT
New Package SCM Request
=======================
Package Name: gsm-ussd
Short Description: USSD query tool
Owners: ivanromanov
Branches: f17 f18
InitialCC:
Comment 18 Michael Scherer 2012-10-08 15:17:02 EDT
Martin, you should complete the review, not paste the output with empty items.
Comment 19 MartinKG 2012-10-09 03:51:59 EDT
will do the review later that day.
Comment 20 Gwyn Ciesla 2012-10-09 07:00:32 EDT
Review not complete.
Comment 21 Ivan Romanov 2012-10-09 07:27:39 EDT
Martin, fedora‑review‑ means that a review fully failed and package won't be accepted. 
But you will continue review process so I think you should to use fedora‑review?
Comment 22 MartinKG 2012-10-09 11:03:44 EDT
(In reply to comment #21)

Ivan,
of course, it's my first review. please have a little patience.
Comment 23 MartinKG 2012-10-09 13:09:18 EDT
Everything looks fine; I'm approving this package

APPROVED

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.
[-]: %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.
[-]: Package contains desktop file if it is a GUI application.
[-]: 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.
[-]: 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.
[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)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in
     /home/martin/rpmbuild/SPECS/859586-gsm-ussd/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[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
[-]: Package obeys FHS, except libexecdir and /usr/target.
[-]: 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.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.

Perl:
[x]: Package contains the mandatory BuildRequires and Reguires:.

===== 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.
[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.
[-]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (gsm-ussd_0.4.0-25.tar.gz)
[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.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.
     Note: %define __provides_exclude_from %{_libexecdir} %define
     __requires_exclude .*GSMUSSD.*

===== 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: gsm-ussd-0.4.0-0.3.25.fc18.src.rpm
          gsm-ussd-0.4.0-0.3.25.fc18.noarch.rpm
gsm-ussd.src: W: invalid-url URL: http://iloapp.zum-quadrat.de/blog/linux?Home&category=2 timed out
gsm-ussd.noarch: W: invalid-url URL: http://iloapp.zum-quadrat.de/blog/linux?Home&category=2 timed out
2 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint gsm-ussd
gsm-ussd.noarch: W: invalid-url URL: http://iloapp.zum-quadrat.de/blog/linux?Home&category=2 timed out
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
gsm-ussd-0.4.0-0.3.25.fc18.noarch.rpm (rpmlib, GLIBC filtered):

    /usr/bin/perl
    perl >= 0:5.008
    perl(:MODULE_COMPAT_5.16.1)
    perl(Carp)
    perl(Encode)
    perl(Expect)
    perl(Fcntl)
    perl(FindBin)
    perl(Getopt::Long)
    perl(POSIX)
    perl(Pod::Usage)
    perl(Scalar::Util)
    perl(lib)
    perl(sigtrap)
    perl(strict)
    perl(warnings)



Provides
--------
gsm-ussd-0.4.0-0.3.25.fc18.noarch.rpm:

    gsm-ussd = 0.4.0-0.3.25.fc18



MD5-sum check
-------------
http://linux.zum-quadrat.de/downloads/gsm-ussd_0.4.0-25.tar.gz :
  CHECKSUM(SHA256) this package     : 1b082f5214eb7f1a3ccc9f983795e0f0eee5420f53f76e4f91bf85b1a654977f
  CHECKSUM(SHA256) upstream package : 1b082f5214eb7f1a3ccc9f983795e0f0eee5420f53f76e4f91bf85b1a654977f


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -b 859586
Comment 24 Ivan Romanov 2012-10-09 15:37:47 EDT
Thanks!
Comment 25 Ivan Romanov 2012-10-09 15:38:43 EDT
New Package SCM Request
=======================
Package Name: gsm-ussd
Short Description: USSD query tool
Owners: ivanromanov
Branches: f17 f18
InitialCC:
Comment 26 Gwyn Ciesla 2012-10-09 15:46:33 EDT
Git done (by process-git-requests).
Comment 27 Fedora Update System 2012-10-09 22:33:33 EDT
gsm-ussd-0.4.0-0.4.25.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/gsm-ussd-0.4.0-0.4.25.fc18
Comment 28 Fedora Update System 2012-10-10 01:04:03 EDT
gsm-ussd-0.4.0-0.4.25.fc18 has been pushed to the Fedora 18 testing repository.
Comment 29 Fedora Update System 2012-10-10 09:46:42 EDT
gsm-ussd-0.4.0-0.4.25.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/gsm-ussd-0.4.0-0.4.25.fc17
Comment 30 Fedora Update System 2012-12-20 11:09:31 EST
gsm-ussd-0.4.0-0.4.25.fc18 has been pushed to the Fedora 18 stable repository.

Note You need to log in before you can comment on or make changes to this bug.