Bug 633194 (ghc-glade)

Summary: Review Request: ghc-glade - Haskell binding to libglade2
Product: [Fedora] Fedora Reporter: Jens Petersen <petersen>
Component: Package ReviewAssignee: Narasimhan <lakshminaras2002>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, haskell-devel, lakshminaras2002, notting
Target Milestone: ---Flags: lakshminaras2002: fedora-review+
tibbs: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ghc-glade-0.11.1-2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-05 22:58:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 615692    
Bug Blocks: 522821    

Description Jens Petersen 2010-09-13 07:45:44 UTC
Spec URL: http://petersen.fedorapeople.org/ghc-glade/ghc-glade.spec
SRPM URL: http://petersen.fedorapeople.org/ghc-glade/ghc-glade-0.11.1-1.fc13.src.rpm
Description: 
Haskell glade binding from the gtk2hs project.

Comment 1 Narasimhan 2010-10-06 11:55:40 UTC
I tried to build ghc-glade using the  spec file, the build failed because gtk2hs-buildtools was not installed.

http://koji.fedoraproject.org/koji/taskinfo?taskID=2517428

Can gtk2hs-buildtools be added to BuildRequires?

I don't have a Fedora 14 setup, hence I wouldn't have access to the rpms. If you could correct  the spec file, I would be able to run rpmlint on the generated rpms and complete the review.

Thanks,

Comment 3 Narasimhan 2010-10-08 08:39:53 UTC
Overall comments:
Some dependencies are not explicitly mentioned in Build Requires. ghc-gtk-devel,ghc-gtk "Requires" cairo,pango,glib and mtl packages(base,devel and prof). However it would be better to maintain consistency with the explicitly mentioned dependencies in the cabal file. 
(This is also the case with ghc-pango and ghc-gtk. I didn't catch the above in ghc-gtk)

+ OK , ! - Not sure , NA - Not Applicable

Must items:
[+]MUST: rpmlint must be run on every package. The output should be posted in the review.

rpmlint -i ghc-glade-0.11.1-2.fc13.src.rpm ghc-glade-0.11.1-2.fc15.i686.rpm ghc-glade-devel-0.11.1-2.fc15.i686.rpm ghc-glade-prof-0.11.1-2.fc15.i686.rpm 
ghc-glade.src: W: spelling-error Summary(en_US) Haskell -> Gaskell, Gaitskell, Skellum
The value of this tag appears to be misspelled. Please double-check.

ghc-glade.i686: W: spelling-error Summary(en_US) Haskell -> Gaskell, Gaitskell, Skellum
The value of this tag appears to be misspelled. Please double-check.

ghc-glade-devel.i686: W: spelling-error Summary(en_US) Haskell -> Gaskell, Gaitskell, Skellum
The value of this tag appears to be misspelled. Please double-check.

ghc-glade-prof.i686: E: devel-dependency ghc-glade-devel
Your package has a dependency on a devel package but it's not a devel package itself.

ghc-glade-prof.i686: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include documentation files.

ghc-glade-prof.i686: W: devel-file-in-non-devel-package /usr/lib/ghc-6.12.3/glade-0.11.1/libHSglade-0.11.1_p.a
A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package.

4 packages and 0 specfiles checked; 1 errors, 5 warnings.

[+]MUST: The package must be named according to the Package Naming Guidelines .
[+]MUST: The spec file name must match the base package %{name}, in the format %{name}.spec
[+]MUST: The package must meet the Packaging Guidelines .
        Naming-Yes
        Version-release - Matches
        License- OK
        No prebuilt external bits - Yes
        Spec legibity - OK
        Package template - OK
        Arch support - OK. Exclusive Arch list present.
        Libexecdir - OK
        rpmlint - yes
        changelogs - OK
        Source url tag  - OK, validated.
        Buildroot is ignored - present anyway. OK
        Build Requires list - OK. ghc-gtk-devel and ghc-gtk "Requires" cairo,pango,glib and mtl packages(base,devel and prof).However it would be better to maintain consistency with the explicitly mentioned dependencies in the cabal file
        Summary and description - OK

[+]MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
[+]MUST: The License field in the package spec file must match the actual license.
[+]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.
[+]MUST: The spec file must be written in American English.
[+]MUST: The spec file for the package MUST be legible.
[+]MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task.

[~]$ md5sum glade-0.11.1.tar.gz 
afbd145e4c857e6a34242a00443a84fe  glade-0.11.1.tar.gz

[~] md5sum  Downloads/glade-0.11.1.tar.gz 
afbd145e4c857e6a34242a00443a84fe  Downloads/glade-0.11.1.tar.gz

[+]MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[+]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.
[+]MUST: All build dependencies must be listed in BuildRequires.
[NA]MUST: The spec file MUST handle locales properly using the %find_lang macro
[NA]MUST: Packages stores shared library files must call ldconfig in %post and %postun.
[+]MUST: Packages must NOT bundle copies of system libraries.
[NA]MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review.
[+]MUST: A package must own all directories that it creates.
[+]MUST: A Fedora package must not list a file more than once in the spec file's %files listings.
[+]MUST: Permissions on files must be set properly.
[+]MUST: Each package must consistently use macros.
[+]MUST: The package must contain code, or permissable content.
[+]MUST: Large documentation files must go in a -doc subpackage.
	developer documentation plus demos inside -devel package.
[+]MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[+]MUST: Header files must be in a -devel package.
[NA]MUST: Static libraries must be in a -static package.
[NA]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 -devel package.
[+]MUST: devel packages must require the base package using a fully versioned dependency: Requires: {name} = %{version}-%{release}
[NA]MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[NA]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
[+]MUST: Packages must not own files or directories already owned by other packages.
[+]MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+]MUST: All filenames in rpm packages must be valid UTF-8.

Should items:
[+]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.
[+]SHOULD: If scriptlets are used, those scriptlets must be sane.

cabal2spec-diff is OK.

APPROVED.

Comment 4 Narasimhan 2010-10-08 08:50:04 UTC
In case of ghc-pango and ghc-gtk, the spec files  do not mention ghc-mtl-devel in BuildRequires

Comment 5 Jens Petersen 2010-10-26 03:25:38 UTC
(In reply to comment #4)
> In case of ghc-pango and ghc-gtk, the spec files  do not mention ghc-mtl-devel
> in BuildRequires

Right they both depend on ghc-cairo which depends on ghc-mtl.

https://fedoraproject.org/w/uploads/6/66/F15-ghc-libs-deps.svg

(In reply to comment #3)
> Some dependencies are not explicitly mentioned in Build Requires.
> ghc-gtk-devel,ghc-gtk "Requires" cairo,pango,glib and mtl packages(base,devel
> and prof). However it would be better to maintain consistency with the
> explicitly mentioned dependencies in the cabal file. 

Ok I will try to fix this later in git: I just tried building pango
without mtl in pango.cabal and indeed it failed...

Anyway my new req/prov hash depends rpm script coming in F15
will fix this for free since it uses the cabal metadata,
so maybe it is not worth worrying too much about now. :)

Comment 6 Jens Petersen 2010-10-26 03:28:33 UTC
Thank you for the review. :)

New Package SCM Request
=======================
Package Name: ghc-glade
Short Description: Haskell binding to libglade2
Owners: petersen
Branches: f14
InitialCC: haskell-sig

Comment 7 Jens Petersen 2010-10-28 08:55:40 UTC
Git done (by process-git-requests).

Comment 8 Jens Petersen 2010-10-28 10:00:49 UTC
Imported and built - thanks again.

Comment 9 Fedora Update System 2010-10-28 10:12:02 UTC
ghc-glade-0.11.1-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/ghc-glade-0.11.1-2.fc14

Comment 10 Fedora Update System 2010-10-28 22:16:41 UTC
ghc-glade-0.11.1-2.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ghc-glade'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/ghc-glade-0.11.1-2.fc14

Comment 11 Fedora Update System 2010-11-05 22:58:44 UTC
ghc-glade-0.11.1-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Jens Petersen 2010-11-10 08:08:08 UTC
Package Change Request
======================
Package Name: ghc-glade
New Branches: f13 el6
Owners: petersen
InitialCC: haskell-sig

Comment 13 Jason Tibbitts 2010-11-11 15:53:58 UTC
Git done (by process-git-requests).