[Bug 887778] Review Request: cutter - A Unit Testing Framework for C

bugzilla at redhat.com bugzilla at redhat.com
Tue Jan 15 09:58:42 UTC 2013


Product: Fedora
https://bugzilla.redhat.com/show_bug.cgi?id=887778

--- Comment #4 from HAYASHI Kentaro <kenhys at gmail.com> ---
Thank you for reviewing!!

Here is the updated spec and SRPM.

Spec URL: http://sourceforge.net/projects/cutter/files/tmp/cutter.spec/download
SRPM URL:
http://sourceforge.net/projects/cutter/files/tmp/cutter-1.2.2-3.fc17.src.rpm

(In reply to comment #2)
> 
> > Summary: A Unit Testing Framework for C/C++
> 
> Similar to your -devel package %summary, omitting the leading article makes
> it more readable. 
> 
>   Summary: Unit Testing Framework for C/C++
> 
> Once can more quickly focus on the importing part.
> 
> > Summary:        Libraries and header files for Cutter development
> 
> And as one can see, here you also didn't start with "The libraries and ...".
> :-)
> 

Fixed!

> 
> > Group: Development/Tools
> 
> Rather "Development/Libraries". Perhaps "Development/Languages". Afterall,
> this isn't just a utility/tool to install and run.
> 

Changed to Development/Libraries category.

> 
> > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
> 
> The "fedora-review" tool complains about this tag, too.
> 

Removed BuildRoot tag.

> 
> > cutter-1.2.2/glib-compatible/pcre/pcre_fullinfo.c
> 
> The fedore-review tool here discovers license "BSD (3 clause)", but a closer
> look reveals that this is an old bundled PCRE lib for glib 2.12, which isn't
> used for a newer glib2.
> 
> glib-compatible/gregex.c:
> 
>     28  #ifdef USE_SYSTEM_PCRE
>     29  #include <pcre.h>
>     30  #else
>     31  #include "pcre/pcre.h"
>     32  #endif
> 
> So, only for completeness and in case any older target system features an
> old glib, I need to point at 
> https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries  and it may be
> safer to delete this bundled lib at the end of the %prep section, so if used
> it would cause a build failure. ;-)
> 

Removed in %prep section.

> 
> > BuildRequires: intltool
> > BuildRequires: glib2-devel
> > BuildRequires: libsoup-devel
> 
> > checking for GTK+ - version >= 2.12.0... no
> > *** Could not run GTK+ test program, checking why...
> > *** The test program failed to compile or link. See the file config.log for the
> > *** exact error that occured. This usually means GTK+ is incorrectly installed.
> 
> This warning in the build.log made me curious. What happens if one adds
> "BuildRequires: gtk2-devel"? The build fails:
> 
> error: Installed (but unpackaged) file(s) found:
>    /usr/lib64/libgdkcutter-pixbuf.so
>    /usr/lib64/libgdkcutter-pixbuf.so.0
>    /usr/lib64/libgdkcutter-pixbuf.so.0.1.0
> 
> Why isn't gtk2-devel built with?
> Is anything else missing? The build output contains a few more "No" answers
> to configure existance checks.
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires
> 
> For sake of "reproducible builds", it's common practice to either add
> missing BuildRequires or add --disable-foo options to explicitly build
> without certain features, even if the build dependencies are installed.
> 

According to dependency, split cutter package into subpackages!
-> cutter-report
   cutter-gui
   cutter-gstreamer
> 
> 
> > %package devel
> > Group:          Development/Tools
> 
> Same suggestion as above.
>

Fixed.

> > Requires:       %{name} = %{version}-%{release}
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package
> 

Fixed.

> 
> > make %{?_smp_mflags}
> 
> Please prepend  V=1  for verbose build output. That makes build system
> build.log contents much more useful in case of errors. That's also the only
> way to see that the global compiler flags are used actually (not just prior
> for the configure check):
> https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags
> 
> 
> > %install
> > rm -rf %{buildroot}
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
> 

Fixed not to rm -rf.

> 
> > find %{buildroot} -name keep-me -size 0 -delete
> 
> Hmmm? :)  An excellent opportunity to add a brief comment to the spec file
> _why_  this is being done.
> 
> $ find cutter-1.2.2|grep keep
> cutter-1.2.2/sample/stack/config/keep-me
> 
'keep-me' file was added to distribute config directory purpose,
but that directory would be kind of automatically generated. 
So I've fixed in upstream. (patch will be dropped in the next release)

> 
> > %find_lang %{name}
> > %{_mandir}/ja/man1/*
> 
> You could use
> 
>   %find_lang %{name} --with-man --all-name
> 
> and not only would it find and add also the translated (currently only
> Japanese) manual pages (instead of you having to add then in the %files
> section manually), it would also flag them with the corresponding lang(…)
> marker. For example, the suggested %find_lang command would add these
> entries:
> 
> %lang(ja) /usr/share/locale/ja/LC_MESSAGES/cutter.mo
> %lang(ja) /usr/share/man/ja/man1/*
> 

Fixed.

> 
> > cutter-1.2.2/test/
> 
> Sounds like this could/should be added to %check section.
> 
>   %check
>   V=1 LD_LIBRARY_PATH=$(pwd)/cutter/.libs make check
> 
> Objections? Should I take a second look? ;)
> 
> 

Added %check entry.

> $ rpmls -p cutter-1.2.2-2.fc18.3.x86_64.rpm|grep ^d
> drwxr-xr-x  /usr/lib64/cutter/module
> drwxr-xr-x  /usr/lib64/cutter/module/factory
> drwxr-xr-x  /usr/lib64/cutter/module/factory/report
> drwxr-xr-x  /usr/lib64/cutter/module/factory/stream
> drwxr-xr-x  /usr/lib64/cutter/module/factory/ui
> drwxr-xr-x  /usr/lib64/cutter/module/report
> drwxr-xr-x  /usr/lib64/cutter/module/stream
> drwxr-xr-x  /usr/lib64/cutter/module/ui
> drwxr-xr-x  /usr/share/cutter/icons/kinotan
> drwxr-xr-x  /usr/share/cutter/ui
> drwxr-xr-x  /usr/share/doc/cutter-1.2.2
> 
> https://fedoraproject.org/wiki/Packaging:UnownedDirectories
> 
> /usr/lib64/cutter is not included in the package.
> 
> /usr/share/cutter is not included in the package.
> 
> /usr/share/cutter/icons is not included in the package.
> 

Fixed.

> > %{_datadir}/cutter/license/*
> 
> /usr/share/cutter/license is not included in the package.
> 
> The license files are not marked as %doc.
> https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text
> 

Fixed.

> 
> * /usr/share/cutter/ui is empty. An oversight or future-proof?
> 
When cutter is built with GTK+, GTK+ frontend module contains definition file
under that directory. now there is gtk-menu.ui (cutter-gui package).

> 
> * cutter.1 man page (also the translated one) refers to
> /usr/local/share/doc/cutter/
> This path could be substituted at build-time.
> %{_defaultdocdir}/%{name}-%{version}-%{release}


Fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=MFZR7Paf20&a=cc_unsubscribe


More information about the package-review mailing list