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.
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}
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
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
(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!
(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
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.)
(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
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'.
(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
I've been approved as a sponsor. I'll get caught up on this today. Sorry for the delay
That's great. Hope to get it approved soon so that I can move on to packaging other activities.
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
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."
(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
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)
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-1.fc15.src.rpm
New Package SCM Request ======================= Package Name: sugar-ruler Short Description: Simple collection of measurement tools Owners: callkalpa Branches: f15 f16 InitialCC: pbrobinson
Just ignore the above comment it was a mistake.
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
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
New Package SCM Request ======================= Package Name: sugar-ruler Short Description: Simple collection of measurement tools Owners: callkalpa Branches: f15 InitialCC: pbrobinson
Git done (by process-git-requests). Added f16 branch.
built for f15 and f16
Package Change Request ====================== Package Name: sugar-ruler New Branches: f17 Owners: callkalpa InitialCC: pbrobinson
(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