Bug 733603 - Review Request: sugar-ruler - Ruler is a simple collection of measurement tools that are displayed on the screen.
Summary: Review Request: sugar-ruler - Ruler is a simple collection of measurement too...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-08-26 08:21 UTC by Kalpa Welivitigoda
Modified: 2012-03-02 16:53 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-15 10:12:54 UTC
pbrobinson: fedora-review+
pbrobinson: fedora-cvs+


Attachments (Terms of Use)

Description Kalpa Welivitigoda 2011-08-26 08:21:17 UTC
Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-1.fc15.src.rpm
Description:

Hi, I just finished packaging sugar-ruler.

Sugar Ruler is a activity for sugar.

This is my first package submission and I also need a sponsor.

Comment 1 Peter Robinson 2011-08-26 10:48:46 UTC
Looks mostly OK. I'll do a full review shortly.

A few points to update the package for the latest package standard:

1) Remove BuildRoot: its no longer needed
2) Remove the "rm -rf $RPM_BUILD_ROOT" line from install
3) Remove %clean section
%clean
rm -rf $RPM_BUILD_ROOT
4) Description needs to wrap line at 80 chars
5) Swap $RPM_BUILD_ROOT macro with %{buildroot}

Comment 2 Kalpa Welivitigoda 2011-08-26 12:35:42 UTC
Thanks for the comment and here are the files with corrections,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-1.fc15.src.rpm

Comment 3 Kalpa Welivitigoda 2011-08-26 13:23:36 UTC
Forgot to correct the character wrapping, here are the corrected files,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-1.fc15.src.rpm

Comment 4 Peter Robinson 2011-08-26 13:34:32 UTC
(In reply to comment #3)
> Forgot to correct the character wrapping, here are the corrected files,

Please don't split words, if it doesn't fit in 80 chars just move the entire word to the next line. Thanks!

Comment 5 Kalpa Welivitigoda 2011-08-26 13:53:54 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Forgot to correct the character wrapping, here are the corrected files,
> 
> Please don't split words, if it doesn't fit in 80 chars just move the entire
> word to the next line. Thanks!

fixed the issue, here are the new files,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-1.fc15.src.rpm

Comment 6 Nikos Roussos 2011-08-28 09:12:00 UTC
Two quick comments:

- It's better to use macros. For instance:
%{__python} setup.py build

- You should start updating the %changelog section every time you make changes
and post the new spec & SRPM here so that reviewers and commenters can keep
track of the changes you've made. (You also need to bump the Release number
every time you do so.)

Comment 7 Kalpa Welivitigoda 2011-08-28 15:07:52 UTC
(In reply to comment #6)
> Two quick comments:
> 
> - It's better to use macros. For instance:
> %{__python} setup.py build
> 
> - You should start updating the %changelog section every time you make changes
> and post the new spec & SRPM here so that reviewers and commenters can keep
> track of the changes you've made. (You also need to bump the Release number
> every time you do so.)

Thanks for reminding about the %changelog.

Here are the new files,
Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-4.fc15.src.rpm

Comment 8 Nikos Roussos 2011-08-30 20:44:58 UTC
I'll do a review. I'm not a sponsor, so this is informal.


FIX - MUST: $ rpmlint sugar-ruler-11-1.fc15.noarch.rpm
  sugar-ruler.noarch: W: summary-ended-with-dot C Ruler is a simple collection of measurement tools that are displayed on the screen.
  sugar-ruler.noarch: E: summary-too-long C Ruler is a simple collection of measurement tools that are displayed on the screen.
  sugar-ruler.noarch: W: non-standard-group Sugar/Activities
  sugar-ruler.noarch: W: invalid-license GPL
  sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/cpp/LC_MESSAGES/com.laptop.Ruler.mo
  sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/nah/LC_MESSAGES/com.laptop.Ruler.mo
  sugar-ruler.noarch: E: incorrect-locale-subdir /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
  sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
  sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/ton/LC_MESSAGES/com.laptop.Ruler.mo
  1 packages and 0 specfiles checked; 6 errors, 3 warnings.
    Some ideas: https://fedoraproject.org/wiki/Common_Rpmlint_issues
OK - MUST: named according to the Package Naming Guidelines
OK - MUST: spec file name matches the base package %{name}
OK - MUST: package meets the Packaging Guidelines
FIX - MUST: Fedora approved license and meets the Licensing Guidelines (GPLv3+)
  You must specify a GPL version (see the COPYING file on upstream source)
  https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#GPL_and_LGPL
FIX - MUST: License field in spec file matches the actual license
OK - MUST: license file included in %doc
OK - MUST: spec is in American English
OK - MUST: spec is legible
OK - MUST: sources match the upstream source by MD5
OK - MUST: successfully compiles and builds into binary rpms on x86_64
N/A - MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
OK - MUST: all build dependencies are listed in BuildRequires.
  Suggestion: Use a seperate BuildRequires line for each dependency
OK - MUST: handles locales properly with %find_lang
N/A - MUST: Every binary RPM package (or subpackage) which stores shared
library files (not just symlinks) in any of the dynamic linker's default paths,
must call ldconfig in %post and %postun.
OK - MUST: Package does not bundle copies of system libraries.
N/A - MUST: If the package is designed to be relocatable, the packager must
state this fact in the request for review, along with the rationalization for
relocation of that specific package.
OK - MUST: owns all directories that it creates
OK - MUST: no duplicate files in the %files listing
OK - MUST: Permissions on files are set properly, includes %defattr(...)
FIX - MUST: consistently uses macros
  Use %{__python} on %install section as well
OK - MUST: package contains code, or permissable content
N/A - MUST: Large documentation files should go in a -doc subpackage
OK - MUST: Files included as %doc do not affect the runtime of the application
N/A - MUST: Header files must be in a -devel package
N/A - MUST: Static libraries must be in a -static package
N/A - MUST: library files that end in .so are in the -devel package.
N/A - MUST: devel packages must require the base package using a fully
versioned dependency
OK - MUST: The package does not contain any .la libtool archives.
N/A - MUST: Package contains a GUI application and includes a %{name}.desktop
file, and that file is properly installed with desktop-file-install in the
%install section.
OK - MUST: package does not own files or directories already owned by other
packages.
OK - MUST: all filenames valid UTF-8


SHOULD Items:
OK - SHOULD: Source package includes license text(s) as a separate file.
N/A - SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.
OK - SHOULD: builds in mock.
OK - SHOULD: compiles and builds into binary rpms on all supported
architectures.
OK - SHOULD: functions as described.
OK - SHOULD: Scriptlets are sane.
N/A - SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
N/A - SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg
OK - SHOULD: no file dependencies outside of /etc, /bin, /sbin, /usr/bin, or
/usr/sbin
N/A - SHOULD: package should contain man pages for binaries/scripts.
FIX - SHOULD: at the beginning of %install, the package runs rm -rf %{buildroot}
  It could be a good idea to add this for compatibility reasons.

Other items:
OK - latest stable version
OK - SourceURL valid
OK - Compiler flags ok
OK - Debuginfo complete
FIX - SHOULD: package has a %clean section, which contains rm -rf %{buildroot}
  Same as above, for the %install section
N/A - SHOULD: Packages containing pkgconfig(.pc) files must 'Requires:
pkgconfig'.

Comment 9 Kalpa Welivitigoda 2011-09-01 10:14:34 UTC
(In reply to comment #8)
> I'll do a review. I'm not a sponsor, so this is informal.
> 
> 
> FIX - MUST: $ rpmlint sugar-ruler-11-1.fc15.noarch.rpm
>   sugar-ruler.noarch: W: summary-ended-with-dot C Ruler is a simple collection
> of measurement tools that are displayed on the screen.
>   sugar-ruler.noarch: E: summary-too-long C Ruler is a simple collection of
> measurement tools that are displayed on the screen.
>   sugar-ruler.noarch: W: non-standard-group Sugar/Activities
>   sugar-ruler.noarch: W: invalid-license GPL
>   sugar-ruler.noarch: E: invalid-lc-messages-dir
> /usr/share/locale/cpp/LC_MESSAGES/com.laptop.Ruler.mo
>   sugar-ruler.noarch: E: invalid-lc-messages-dir
> /usr/share/locale/nah/LC_MESSAGES/com.laptop.Ruler.mo
>   sugar-ruler.noarch: E: incorrect-locale-subdir
> /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
>   sugar-ruler.noarch: E: invalid-lc-messages-dir
> /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
>   sugar-ruler.noarch: E: invalid-lc-messages-dir
> /usr/share/locale/ton/LC_MESSAGES/com.laptop.Ruler.mo
>   1 packages and 0 specfiles checked; 6 errors, 3 warnings.
>     Some ideas: https://fedoraproject.org/wiki/Common_Rpmlint_issues
> OK - MUST: named according to the Package Naming Guidelines
> OK - MUST: spec file name matches the base package %{name}
> OK - MUST: package meets the Packaging Guidelines
> FIX - MUST: Fedora approved license and meets the Licensing Guidelines (GPLv3+)
>   You must specify a GPL version (see the COPYING file on upstream source)
>   https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#GPL_and_LGPL
> FIX - MUST: License field in spec file matches the actual license
> OK - MUST: license file included in %doc
> OK - MUST: spec is in American English
> OK - MUST: spec is legible
> OK - MUST: sources match the upstream source by MD5
> OK - MUST: successfully compiles and builds into binary rpms on x86_64
> N/A - MUST: If the package does not successfully compile, build or work on an
> architecture, then those architectures should be listed in the spec in
> ExcludeArch.
> OK - MUST: all build dependencies are listed in BuildRequires.
>   Suggestion: Use a seperate BuildRequires line for each dependency
> OK - MUST: handles locales properly with %find_lang
> N/A - MUST: Every binary RPM package (or subpackage) which stores shared
> library files (not just symlinks) in any of the dynamic linker's default paths,
> must call ldconfig in %post and %postun.
> OK - MUST: Package does not bundle copies of system libraries.
> N/A - MUST: If the package is designed to be relocatable, the packager must
> state this fact in the request for review, along with the rationalization for
> relocation of that specific package.
> OK - MUST: owns all directories that it creates
> OK - MUST: no duplicate files in the %files listing
> OK - MUST: Permissions on files are set properly, includes %defattr(...)
> FIX - MUST: consistently uses macros
>   Use %{__python} on %install section as well
> OK - MUST: package contains code, or permissable content
> N/A - MUST: Large documentation files should go in a -doc subpackage
> OK - MUST: Files included as %doc do not affect the runtime of the application
> N/A - MUST: Header files must be in a -devel package
> N/A - MUST: Static libraries must be in a -static package
> N/A - MUST: library files that end in .so are in the -devel package.
> N/A - MUST: devel packages must require the base package using a fully
> versioned dependency
> OK - MUST: The package does not contain any .la libtool archives.
> N/A - MUST: Package contains a GUI application and includes a %{name}.desktop
> file, and that file is properly installed with desktop-file-install in the
> %install section.
> OK - MUST: package does not own files or directories already owned by other
> packages.
> OK - MUST: all filenames valid UTF-8
> 
> 
> SHOULD Items:
> OK - SHOULD: Source package includes license text(s) as a separate file.
> N/A - SHOULD: The description and summary sections in the package spec file
> should contain translations for supported Non-English languages, if available.
> OK - SHOULD: builds in mock.
> OK - SHOULD: compiles and builds into binary rpms on all supported
> architectures.
> OK - SHOULD: functions as described.
> OK - SHOULD: Scriptlets are sane.
> N/A - SHOULD: Usually, subpackages other than devel should require the base
> package using a fully versioned dependency.
> N/A - SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg
> OK - SHOULD: no file dependencies outside of /etc, /bin, /sbin, /usr/bin, or
> /usr/sbin
> N/A - SHOULD: package should contain man pages for binaries/scripts.
> FIX - SHOULD: at the beginning of %install, the package runs rm -rf
> %{buildroot}
>   It could be a good idea to add this for compatibility reasons.
> 
> Other items:
> OK - latest stable version
> OK - SourceURL valid
> OK - Compiler flags ok
> OK - Debuginfo complete
> FIX - SHOULD: package has a %clean section, which contains rm -rf %{buildroot}
>   Same as above, for the %install section
> N/A - SHOULD: Packages containing pkgconfig(.pc) files must 'Requires:
> pkgconfig'.

Thanks for the info. Here are the new files with fixes,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-5.fc15.src.rpm

Comment 10 Peter Robinson 2011-09-06 07:10:53 UTC
I've been approved as a sponsor. I'll get caught up on this today. Sorry for the delay

Comment 11 Kalpa Welivitigoda 2011-09-06 13:45:36 UTC
That's great. Hope to get it approved soon so that I can move on to packaging other activities.

Comment 12 Peter Robinson 2011-09-06 22:33:46 UTC
It mostly looks OK. There's a few minor issues to be fixed with the spec file. The issue that needs to be fixed is the install of the locales, we'll likely need to speak to upstream to fix this. The rest of the warnings in rpmlint are fine.

- rpmlint output

rpmlint sugar-ruler.spec sugar-ruler-11-5.fc15.src.rpm sugar-ruler-11-5.fc15.noarch.rpm

sugar-ruler.spec:6: W: non-standard-group Sugar/Activities
sugar-ruler.spec:47: W: macro-in-%changelog %{__python}
sugar-ruler.spec:55: W: macro-in-%changelog %clean
sugar-ruler.spec:57: W: macro-in-%changelog %{buildroot}
sugar-ruler.src: W: non-standard-group Sugar/Activities
sugar-ruler.src:47: W: macro-in-%changelog %{__python}
sugar-ruler.src:55: W: macro-in-%changelog %clean
sugar-ruler.src:57: W: macro-in-%changelog %{buildroot}
sugar-ruler.noarch: W: non-standard-group Sugar/Activities
sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/cpp/LC_MESSAGES/com.laptop.Ruler.mo
sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/nah/LC_MESSAGES/com.laptop.Ruler.mo
sugar-ruler.noarch: E: incorrect-locale-subdir /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/templates/LC_MESSAGES/com.laptop.Ruler.mo
sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/ton/LC_MESSAGES/com.laptop.Ruler.mo
2 packages and 1 specfiles checked; 5 errors, 9 warnings.

+ 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
+ latest version packaged

+ %doc includes license file
+ spec file written in American English
+ spec file is legible
+ upstream sources match sources in the srpm
  e43770148f189a80e0d91907ad834f97  Ruler-11.tar.bz2
+ package successfully builds on at least one architecture
  tested using koji scratch build
+ BuildRequires list all build dependencies
+ %find_lang instead of %{_datadir}/locale/*
n/a binary RPM with shared library files must call ldconfig in %post and %postun+ does not use Prefix: /usr
n/a package owns all directories it creates
n/a no duplicate files in %files
+ Package perserves timestamps on install
+ Permissions on files must be set properly 
+ %defattr line
- consistent use of macros
  Need to use %{__python} in install
+ package must contain code or permissible content
n/a large documentation files should go in -doc subpackage
+ files marked %doc should not affect package runtime 
n/a header files should be in -devel
n/a static libraries should be in -static
n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
n/a libfoo.so must go in -devel
n/a 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
+ filenames must be valid UTF-8

Optional:

+ if there is no license file, packager should query upstream to include it
n/a translations of description and summary for non-English languages, if
available
+ reviewer should build the package in mock/koji
n/a the package should build into binary RPMs on all supported architectures
n/a review should test the package functions as described
n/a scriptlets should be sane
n/a non -devel packages should require fully versioned base
n/a pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin
n/a Package should have man files

Comment 13 Christoph Wickert 2011-09-07 10:54:30 UTC
Can you please change the summary of the package to not repeat the package name? 
"A simple collection of measurement tools ..." or
"Simple collection of measurement tools ..." is fine, too.

The summary on the other hand should be more verbose and can include the package name. I suggest 

"Ruler is a simple collection of measurement tools that are displayed on the screen. Since the OLPC XO computer has a 200 DPI display, the rulers are quite 
accurate. One other hardware, where the display resolution is not 
known, their is a spinner to let the user set the DPI. Ruler saves 
this value to the Journal, so it need not be set on subsequent uses 
of the Activity."

Comment 14 Kalpa Welivitigoda 2011-09-07 13:56:42 UTC
(In reply to comment #13)
> Can you please change the summary of the package to not repeat the package
> name? 
> "A simple collection of measurement tools ..." or
> "Simple collection of measurement tools ..." is fine, too.
> 
> The summary on the other hand should be more verbose and can include the
> package name. I suggest 
> 
> "Ruler is a simple collection of measurement tools that are displayed on the
> screen. Since the OLPC XO computer has a 200 DPI display, the rulers are quite 
> accurate. One other hardware, where the display resolution is not 
> known, their is a spinner to let the user set the DPI. Ruler saves 
> this value to the Journal, so it need not be set on subsequent uses 
> of the Activity."

I have modified the spec file and here are the new files,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-11-6.fc15.src.rpm

Comment 15 Walter Bender 2011-09-07 19:05:24 UTC
As per a discussion with CJL, I removed the unsupported languages from the package. Please try again with v12 (http://download.sugarlabs.org/sources/honey/Ruler/Ruler-12.tar.bz2)

Comment 17 Kalpa Welivitigoda 2011-09-11 04:41:32 UTC
New Package SCM Request
=======================
Package Name: sugar-ruler
Short Description: Simple collection of measurement tools
Owners: callkalpa
Branches: f15 f16
InitialCC: pbrobinson

Comment 18 Kalpa Welivitigoda 2011-09-11 05:57:13 UTC
Just ignore the above comment it was a mistake.

Comment 19 Peter Robinson 2011-09-12 21:42:16 UTC
Of the outstanding. rpmlint looks fine, son is a proper locale, even if rpmlint doesn't know of it :)

+ Summary and Description updates

+ rplint
$ rpmlint sugar-ruler-12-1.fc15.src.rpm sugar-ruler-12-1.fc15.noarch.rpm sugar-ruler.spec 
sugar-ruler.src: W: non-standard-group Sugar/Activities
sugar-ruler.src:54: W: macro-in-%changelog %{__python}
sugar-ruler.src:62: W: macro-in-%changelog %clean
sugar-ruler.src:64: W: macro-in-%changelog %{buildroot}
sugar-ruler.noarch: W: non-standard-group Sugar/Activities
sugar-ruler.noarch: E: invalid-lc-messages-dir /usr/share/locale/son/LC_MESSAGES/com.laptop.Ruler.mo
sugar-ruler.spec:6: W: non-standard-group Sugar/Activities
sugar-ruler.spec:54: W: macro-in-%changelog %{__python}
sugar-ruler.spec:62: W: macro-in-%changelog %clean
sugar-ruler.spec:64: W: macro-in-%changelog %{buildroot}
2 packages and 1 specfiles checked; 1 errors, 9 warnings.

$ rpm -qf /usr/share/locale/son/LC_MESSAGES/
filesystem-2.4.41-1.fc15.x86_64
$

- the pthon install macro still needs to be fixed:
%build
%{__python} ./setup.py build

%install
python ./setup.py install --prefix=%{buildroot}/%{_prefix}


All the rest looks fine. I'm approving this, please fix the install macro before you commit

APPROVED

Comment 20 Kalpa Welivitigoda 2011-09-13 14:02:25 UTC
replaced "python" with "%{__python}" in install section

Here are the new files,

Spec URL: http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler.spec
SRPM URL:
http://callkalpa.fedorapeople.org/sugar-ruler/sugar-ruler-12-2.fc15.src.rpm

Comment 21 Kalpa Welivitigoda 2011-09-13 14:03:25 UTC
New Package SCM Request
=======================
Package Name: sugar-ruler
Short Description: Simple collection of measurement tools
Owners: callkalpa
Branches: f15
InitialCC: pbrobinson

Comment 22 Gwyn Ciesla 2011-09-13 14:29:23 UTC
Git done (by process-git-requests).

Added f16 branch.

Comment 23 Kalpa Welivitigoda 2011-09-15 10:12:54 UTC
built for f15 and f16

Comment 24 Kalpa Welivitigoda 2012-03-02 16:47:08 UTC
Package Change Request
======================
Package Name: sugar-ruler
New Branches: f17
Owners: callkalpa
InitialCC: pbrobinson

Comment 25 Peter Robinson 2012-03-02 16:53:56 UTC
(In reply to comment #24)
> Package Change Request
> ======================
> Package Name: sugar-ruler
> New Branches: f17
> Owners: callkalpa
> InitialCC: pbrobinson

The branch is there, you just need to do a "git pull" to ensure it's pulled down locally. A "fedpkg switch-branch f17" should then work


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