Bug 248778 - Review Request: gtkperf - Test GTK+ performance
Summary: Review Request: gtkperf - Test GTK+ performance
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-07-18 18:04 UTC by Patrice Bouchand
Modified: 2007-11-30 22:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-11 18:28:12 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Patrice Bouchand 2007-07-18 18:04:24 UTC
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 16:45:27 UTC
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 17:34:41 UTC
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 19:01:45 UTC
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 19:03:28 UTC
Summary:
Please Package COPING and include a .desktop file.

Comment 5 Patrice Bouchand 2007-07-25 17:56:31 UTC
> 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 18:01:13 UTC
(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 14:45:01 UTC
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 17:39:22 UTC
ping?

Comment 9 Patrice Bouchand 2007-08-07 11:11:51 UTC
> * 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 19:00:11 UTC
(Removing NEEDSPONSOR: bug 248301)

Comment 11 Mamoru TASAKA 2007-08-08 16:11:24 UTC
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 11:23:14 UTC
> * 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 13:45:18 UTC
(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 15:08:11 UTC
> 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 17:17:08 UTC
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 07:42:15 UTC
(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 07:52:19 UTC
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 16:03:16 UTC
cvs done.


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