Bug 248778 - Review Request: gtkperf - Test GTK+ performance
Review Request: gtkperf - Test GTK+ performance
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-07-18 14:04 EDT by Patrice Bouchand
Modified: 2007-11-30 17:12 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-08-11 14:28:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mtasaka: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Patrice Bouchand 2007-07-18 14:04:24 EDT
Spec URL: http://patrice.bouchand.free.fr/rpm/gtkperf.spec
SRPM URL: http://patrice.bouchand.free.fr/rpm/gtkperf-0.40-1.src.rpm
Description: 

 * This is one of my first package, and I'm seeking a sponsor *

GtkPerf is an application designed to test GTK+ performance. The point
is to create common testing platform to run predefined GTK+ widgets
and this way define the speed of device/platform.
Comment 1 Adel Gadllah 2007-07-19 12:45:27 EDT
there some problems with this package:
1) don't use /usr/share use %{_datadir} instead
2) use _smp_mflags for make
3) use RPM_OPT_FLAGS or %{optflags}
4) no rpmlint warnings/errors ;)

Comment 2 Patrice Bouchand 2007-07-19 13:34:41 EDT
Fixed in the following links.

Spec URL: http://patrice.bouchand.free.fr/rpm/gtkperf.spec
SRPM URL: http://patrice.bouchand.free.fr/rpm/gtkperf-0.40-2.fc7.src.rpm

Thanks again for your help.
Comment 3 Adel Gadllah 2007-07-19 15:01:45 EDT
here is a unofficial/incomplete review (I am not sponsored yet):

MUST items:

MUST: rpmlint must be run on every package.
-> ok (no output)

MUST: The package must be named according to the Package Naming Guidelines.
-> ok

MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption on  Package Naming Guidelines. 
->ok

MUST: The package must be licensed with an open-source compatible license and
meet other legal requirements as defined in the legal section of Packaging
Guidelines.
->ok

MUST: The package must be licensed with an open-source compatible license and
meet other legal requirements as defined in the legal section of Packaging
Guidelines.
->ok

MUST: 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 must be included in %doc.
-> NOT ok; please package COPYING

MUST: The spec file must be written in American English.
->ok

MUST: The spec file for the package MUST be legible. 
-> ok

MUST: The sources used to build the package must match the upstream source, as
provided in the spec URL. 
-> ok (4331dde4bb83865e15482885fcb0cc53)

MUST: The package must successfully compile and build into binary rpms on at
least one supported architecture.
->ok (tested on F7 x86_64)


MUST: A package must own all directories that it creates. 
->ok

MUST: Packages must not own files or directories already owned by other packages.
->ok

MUST: All filenames in rpm packages must be valid UTF-8.
->ok

MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)
->ok

MUST: If a package includes something as %doc, it must not affect the runtime of
the application.
->ok

MUST: Large documentation files should go in a -doc subpackage. 
->ok (no large documentation)

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. Without this, use of Prefix: /usr is considered a blocker.
->ok (not relocatable)

MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1),
then library files that end in .so (without suffix) must go in a -devel package.
->ok (no libs in this package)

MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 
->ok (no devel package)

MUST: Packages containing GUI applications must include a %{name}.desktop file,
and that file must be properly installed with desktop-file-install in the
%install section.
->NOT ok (no desktop file found!)


MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
->ok

MUST: Header files must be in a -devel package.
->ok (no header files)

MUST: Static libraries must be in a -static package.
->ok (no static libs;no libs at all)

MUST: The package must contain code, or permissable content.
->ok

MUST: The package must meet the  Packaging Guidelines.
->NOT ok, (no desktop file, license file not installed)
Comment 4 Adel Gadllah 2007-07-19 15:03:28 EDT
Summary:
Please Package COPING and include a .desktop file.
Comment 5 Patrice Bouchand 2007-07-25 13:56:31 EDT
> Please Package COPING and include a .desktop file.
Done.

I set the "Categories" to "Graphics" in desktop file ? Do you have a better idea ? 

Spec URL: http://patrice.bouchand.free.fr/rpm/gtkperf.spec
SRPM URL: http://patrice.bouchand.free.fr/rpm/gtkperf-0.40-3.fc7.src.rpm
Comment 6 Adel Gadllah 2007-07-25 14:01:13 EDT
(In reply to comment #5)
> > Please Package COPING and include a .desktop file.
> Done.
> 
> I set the "Categories" to "Graphics" in desktop file ? Do you have a better
idea ? 
> 

Use "System"

Comment 7 Mamoru TASAKA 2007-07-28 10:45:01 EDT
Some comments (just watched your spec file and tried to rebuild)

* For sourceforge source, please refert to the section "Sourceforge.net" of
  http://fedoraproject.org/wiki/Packaging/SourceURL
* Please follow the fedora usage of build root
  (section: "BuildRoot tag" of
   http://fedoraproject.org/wiki/Packaging/Guidelines )
* export CFLAGS="%{optflags}"
  This is not needed as %configure sets it (please check what %configure
  actually does by "rpm --eval %configure")
* Please set vendor id for desktop file (the section "desktop-file-install usage"
  of http://fedoraproject.org/wiki/Packaging/Guidelines )
* We now recommend %defattr(-,root,root,-)
* rebuild failed. At least desktop-file-utils is missing from
  BuildRequires.
  http://koji.fedoraproject.org/koji/taskinfo?taskID=80492
Comment 8 Mamoru TASAKA 2007-08-06 13:39:22 EDT
ping?
Comment 9 Patrice Bouchand 2007-08-07 07:11:51 EDT
> * For sourceforge source, please refert to the section "Sourceforge.net" of
>   http://fedoraproject.org/wiki/Packaging/SourceURL

Change source path to
http://downloads.sourceforge.net/%{name}/%{name}_%{version}.tar.gz

> * Please follow the fedora usage of build root
>   (section: "BuildRoot tag" of
>    http://fedoraproject.org/wiki/Packaging/Guidelines )

Change  BuildRoot to %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Use only %{buildroot} now (no more mixed with $RPM_BUILD_ROOT)

> * export CFLAGS="%{optflags}"
>   This is not needed as %configure sets it (please check what %configure
>   actually does by "rpm --eval %configure")

This has been removed. It is implicitly done by %configure.

> * Please set vendor id for desktop file (the section "desktop-file-install usage"
>   of http://fedoraproject.org/wiki/Packaging/Guidelines )

vendor Id set to fedora.

> * We now recommend %defattr(-,root,root,-)

Done.

> * rebuild failed. At least desktop-file-utils is missing from
>   BuildRequires.
>   http://koji.fedoraproject.org/koji/taskinfo?taskID=80492

Add BuildRequires:  desktop-file-utils

The new files:
Spec URL: http://patrice.bouchand.free.fr/rpm/gtkperf.spec
SRPM URL: http://patrice.bouchand.free.fr/rpm/gtkperf-0.40-4.fc7.src.rpm
    
     Thanks for you time.

           Patrice
Comment 10 Mamoru TASAKA 2007-08-07 15:00:11 EDT
(Removing NEEDSPONSOR: bug 248301)
Comment 11 Mamoru TASAKA 2007-08-08 12:11:24 EDT
Some remarks.

* Fedora specific compilation flags are not honored
  (Compiler flags of http://fedoraproject.org/wiki/Packaging/Guidelines )
  Check the log:
  http://koji.fedoraproject.org/koji/getfile?taskID=92083&name=build.log
  Also debuginfo rpm does not contain debug information and this
  should be fixed.

* (From build log)
  Suppress the call of automated autoheader ("touch"ing some files,
  i.e. fixing the timestamp of some files should fix this issue)

* Update License tag. (IMO this is GPLv2, not GPLv2+)

* Change the encoding of "ChangeLog" from ISO-8859-1 to UTF-8.
Comment 12 Patrice Bouchand 2007-08-10 07:23:14 EDT
> * Fedora specific compilation flags are not honored
>   (Compiler flags of http://fedoraproject.org/wiki/Packaging/Guidelines )
>   Check the log:
>   http://koji.fedoraproject.org/koji/getfile?taskID=92083&name=build.log
>   Also debuginfo rpm does not contain debug information and this
>   should be fixed.

CFLAGS entry in Makefile is empty. I did not find yet why configure substitutes
@CFLAGS@ with an empty string in Makefile.in. I try this which seems to work:

|for f in `find -name Makefile`
|    do
|    sed -i -e "s/^CFLAGS =.*$/CFLAGS = %{optflags}/" $f
|    done

but I do not think it's acceptable. Do you have an idea about what could be wrong ?
 
> * (From build log)
>   Suppress the call of automated autoheader ("touch"ing some files,
>   i.e. fixing the timestamp of some files should fix this issue)

Done
 
> * Update License tag. (IMO this is GPLv2, not GPLv2+)

Done
 
> * Change the encoding of "ChangeLog" from ISO-8859-1 to UTF-8.

Done
Comment 13 Ralf Corsepius 2007-08-10 09:45:18 EDT
(In reply to comment #12)
> CFLAGS entry in Makefile is empty. I did not find yet why configure substitutes
> @CFLAGS@ with an empty string in Makefile.in. 
The culprit is a bug in configure.in
...
CFLAGS=""
AC_SUBST(CFLAGS)
...

Here they overwrite CFLAGS with an empty string, which causes the configure
script to propagate this empty string into the Makefiles.

The "right fix" would be upstream to remove these two lines. They are plain wrong.

A work-around applicable to packagers is to override CFLAGS from the
environment. I.e. use
make CFLAGS=${RPM_OPT_FLAGS}
in all places in your spec where you invoke "make".
Comment 14 Patrice Bouchand 2007-08-10 11:08:11 EDT
> A work-around applicable to packagers is to override CFLAGS from the
> environment. I.e. use
> make CFLAGS=${RPM_OPT_FLAGS}
> in all places in your spec where you invoke "make".

This is what I have done, thanks for your help. 

The updated files:

Spec URL: http://patrice.bouchand.free.fr/rpm/gtkperf.spec
SRPM URL: http://patrice.bouchand.free.fr/rpm/gtkperf-0.40-5.fc7.src.rpm

Comment 15 Mamoru TASAKA 2007-08-10 13:17:08 EDT
Well, actually %attr(755,root,root) can be removed.
Other things are okay.

----------------------------------------------------------
   This package (gtkperf) is APPROVED by me
----------------------------------------------------------
Comment 16 Patrice Bouchand 2007-08-11 03:42:15 EDT
(In reply to comment #15)
> Well, actually %attr(755,root,root) can be removed.

Ok ,I will fix this before the first cvs import.

> Other things are okay.
> 
> ----------------------------------------------------------
>    This package (gtkperf) is APPROVED by me
> ----------------------------------------------------------

Thanks !
Comment 17 Patrice Bouchand 2007-08-11 03:52:19 EDT
New Package CVS Request
=======================
Package Name: gtkperf
Short Description: GTK+ performance tester
Owners: patriceb
Branches: F-7
InitialCC: 
Commits by cvsextras: yes

Comment 18 Kevin Fenzi 2007-08-11 12:03:16 EDT
cvs done.

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