Bug 485604

Summary: Review Request: gigolo - GIO/GVFS management application
Product: [Fedora] Fedora Reporter: Kevin Fenzi <kevin>
Component: Package ReviewAssignee: Christoph Wickert <christoph.wickert>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: christoph.wickert, fedora-package-review, notting
Target Milestone: ---Flags: christoph.wickert: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.2.1-1.fc9 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-23 21:49:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kevin Fenzi 2009-02-15 07:53:08 UTC
Spec URL: http://www.scrye.com/~kevin/fedora/gigolo/gigolo.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/gigolo/gigolo-0.2.0-1.fc11.src.rpm
Description: 

A frontend to easily manage connections to remote filesystems using GIO/GVFS.
It allows you to quickly connect/mount a remote filesystem and manage
bookmarks of such.

NOTE: This is a rename of the 'sion' package. Upstream renamed it. 
See bug 478655

Comment 1 Mamoru TASAKA 2009-02-15 08:47:49 UTC
I guess I don't have time to review this, however

* Please make the build log more verbose so we can check
  if Fedora specific compiler flags are correctly honored.
  - Usually the output like
----------------------------------------------------------------
+ ./waf build
[ 1/20] cc: src/main.c -> _build_/default/src/main_1.o
[ 2/20] cc: src/compat.c -> _build_/default/src/compat_1.o
[ 3/20] cc: src/window.c -> _build_/default/src/window_1.o
[ 4/20] cc: src/bookmark.c -> _build_/default/src/bookmark_1.o
----------------------------------------------------------------
    is not useful.
  - And actually ps auwwx shows
----------------------------------------------------------------
 8626 pts/15   S+     0:00 /bin/sh -e /home/tasaka1/rpmbuild/INSTROOT/rpm-tmp.KdfCEV
 8651 pts/15   Sl+    0:00 python ./waf build
 8696 pts/15   S+     0:00 /usr/bin/gcc -g -O0 -DDEBUG -Idefault -I.. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ../src/common.c -c -o default/src/common_1.o
----------------------------------------------------------------
    so Fedora specific compilation flags are not correctly honored.

- Would you explain why this package does not Provide sion
  despite that this Obsoletes sion?

- --vendor="fedora" should not be used anymore.

Comment 2 Mamoru TASAKA 2009-02-15 08:50:28 UTC
- By the way how we can check if the binary part in waf
  script file are under FOSS license?

Comment 3 Kevin Fenzi 2009-02-16 03:22:02 UTC
>I guess I don't have time to review this, however
 
Thank you for your comments anyhow.
 
>* Please make the build log more verbose so we can check
>  if Fedora specific compiler flags are correctly honored.
...snip...
>    so Fedora specific compilation flags are not correctly honored.
 
I have done so in the new version. Thank you for spotting this issue.
CFLAGS are now correctly using fedoras flags.
 
>- Would you explain why this package does not Provide sion
>  despite that this Obsoletes sion?
 
Well, I could do so, but this package has only been available for a
short time in fedora. I don't think anyone would look for it under
that name. I can do so, but not sure it would be worthwhile.
 
>- --vendor="fedora" should not be used anymore.
 
Removed.
 
>- By the way how we can check if the binary part in waf
>  script file are under FOSS license?
 
Well, it is a free build system, but now it appears it builds with
the fedora version (at least in rawhide). Sion didn't. I have converted
it to use Fedora's waf version and BuildRequire it.

You can see the waf license in the 'waf' file.
Sadly, the version in F9/F10 is too old, so there I will need to
keep building with the local copy or get an update from the maintainer.

New version that fixes above:

Spec URL: http://www.scrye.com/~kevin/fedora/gigolo/gigolo.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/gigolo/gigolo-0.2.0-2.fc11.src.rpm

Comment 4 Christoph Wickert 2009-02-20 02:03:50 UTC
REVIEW for 506fef61941ac763a8bea70a4f98efc0  gigolo-0.2.0-2.fc11.src.rpm

OK - MUST: 
$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/gigolo-*
gigolo.i386: W: obsolete-not-provided sion
3 packages and 0 specfiles checked; 0 errors, 1 warnings.

According to the naming guidelines the provides are supposed to be short lived, so IMO the warning can be ignored as sion only was available for a short time.

OK - MUST: The package is named according to the Package Naming Guidelines.
OK - MUST: The spec file name matches the base package %{name}, in the format %{name}.spec.
OK - MUST: The package meets the Packaging Guidelines.
OK - MUST: The package is licensed with a Fedora approved license (GPLv2 only) and meets the Licensing Guidelines.
OK - MUST: The License field in the package spec file matches the actual license.
OK - MUST: The license file from the source package is included in %doc.
OK - MUST: The spec file is in American English.
OK - MUST: The spec file for the package is legible.
OK - MUST: The sources used to build the package matches the upstream source by MD5 0fb24e019f0a3432d2ab6da6da28b75c
OK - MUST: The package successfully compiles and builds into binary rpms on i386
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.
OK - MUST: The spec file handles locales properly with the %find_lang macro.
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.
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: The package owns all directories that it creates.
OK - MUST: The package does not contain any duplicate files in the %files listing.
OK - MUST: Permissions on files are set properly. Every %files section includes a %defattr(...) line.
OK - MUST: The package has a %clean section, which contains rm -rf $RPM_BUILD_ROOT.
OK - MUST: The package consistently uses macros, as described in the macros section of Packaging Guidelines.
OK - MUST: The package contains code.
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: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'.
N/A - 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.
N/A - MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
OK - MUST: The package does not contain any .la libtool archives.
OK - MUST: The 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: The packages does not own files or directories already owned by other packages.
OK - MUST: At the beginning of %install, the package runs rm -rf $RPM_BUILD_ROOT-
OK - MUST: All filenames in rpm packages are valid UTF-8.


SHOULD Items:
N/A - SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
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: The the package builds in mock.
OK - SHOULD: The package should compile and build into binary rpms on all supported architectures.
OK - SHOULD: The package functions as described.
N/A - SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity.
N/A - SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
N/A - SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg.
N/A - SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
OK - SHOULD: Timestamp of Source0 matches


Issues from comment #1
OK - Fedora specific compilation flags are honored correctly
OK - Provides for Sion is not really necessary, see above.
OK - "vendor=Fedora" was removed from desktop-file-install

Issues from comment #2
The fix only works for rawhide. Any idea what to do with F9/F10?

Other issues:
- Line breaks in the "waf configure" statement would be nice.
- Include THANKS in %doc

Comment 5 Kevin Fenzi 2009-02-20 02:44:18 UTC
After talking with one of the Fedora waf (co)maintainers and talking with the midori author (which also uses waf), it seems like the expectation for waf using projects is for them to use the included copy of waf and not any system version. 

So, I think the right thing to do is to just use the included waf in all branches. 

I can fix the other issues... let me know if you would like a new rpm spun to review.

Comment 6 Christoph Wickert 2009-02-20 03:11:05 UTC
For me it's ok to use the included waf, at least as long as we have no guidelines for waf usage. I asked at fedora-packaging a week ago, but got no response.

No need to build a new package for the outstanding issues as none is a blocker or in the list of things to check on a review. As long as you fix them, the package is APPROVED.

Comment 7 Kevin Fenzi 2009-02-20 19:36:44 UTC
Thanks. Will fix before import. 

New Package CVS Request
=======================
Package Name: gigolo
Short Description: GIO/GVFS management application
Owners: kevin
Branches: devel F-10 F-9

Comment 8 Kevin Fenzi 2009-02-20 20:13:37 UTC
cvs done.

Comment 9 Christoph Wickert 2009-02-23 00:56:53 UTC
Package should use parallel build:

  waf %{?_smp_mflags} build -v

Comment 10 Kevin Fenzi 2009-02-23 21:49:35 UTC
waf automatically does the parallel builds, it just doesn't say that it is. ;) 

Checked in and built. sion has been marked a dead.package and a ticket has been filed with rel-eng to block it. 

Closing this now.

Comment 11 Fedora Update System 2009-02-24 05:04:19 UTC
gigolo-0.2.1-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/gigolo-0.2.1-1.fc10

Comment 12 Fedora Update System 2009-02-24 05:06:25 UTC
gigolo-0.2.1-1.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/gigolo-0.2.1-1.fc9

Comment 13 Fedora Update System 2009-02-24 20:48:34 UTC
gigolo-0.2.1-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2009-02-24 20:57:39 UTC
gigolo-0.2.1-1.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.