Bug 615692 - (ghc-gtk) Review Request: ghc-gtk - Haskell gtk binding
Review Request: ghc-gtk - Haskell gtk binding
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Narasimhan
Fedora Extras Quality Assurance
:
Depends On: ghc-pango 629551
Blocks: ghc-gtksourceview2 ghc-glade
  Show dependency treegraph
 
Reported: 2010-07-17 22:22 EDT by Jens Petersen
Modified: 2010-11-11 10:53 EST (History)
4 users (show)

See Also:
Fixed In Version: ghc-gtk-0.11.2-4.fc14
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-28 01:47:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
lakshminaras2002: fedora‑review+
tibbs: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Jens Petersen 2010-07-17 22:22:02 EDT
Spec URL: http://petersen.fedorapeople.org/ghc-gtk/ghc-gtk.spec
SRPM URL: http://petersen.fedorapeople.org/ghc-gtk/ghc-gtk-0.11.0-1.fc13.src.rpm
Description:
Haskell gtk binding from the gtk2hs project.

Will add optional gio dep after that is packaged too.
Comment 1 Jens Petersen 2010-08-18 22:05:25 EDT
Will update to 0.11.2 after dependent reviews (glib and pango) done.
Comment 5 Narasimhan 2010-09-19 15:47:38 EDT
Unable to build ghc-gtk with rpms from fedora 14 repositories. I used the following command,

   yum --enablerepo=updates-testing install ghc*gio* ghc*glib*

 ghc-cairo            x86_64      0.11.1-1.fc14      
 ghc-gio              x86_64      0.11.1-2.fc14      
 ghc-glib             x86_64      0.11.1-1.fc14      
 ghc-pango            x86_64      0.11.2-1.fc14      

(I have left out the prof and devel libraries from the table here. But they were also installed)

Now when I run rpmbuild with this command
    rpmbuild -ba --without hscolour --without devhelp --without shared ghc-gtk.spec

I get this error,
[  5 of 172] Compiling Graphics.UI.Gtk.Signals ( dist/build/Graphics/UI/Gtk/Signals.hs, dist/build/Graphics/UI/Gtk/Signals.o )

Graphics/UI/Gtk/Signals.chs:105:46:
    Module `System.Glib.UTFString' does not export `maybePeekUTFString'
error: Bad exit status from /var/tmp/rpm-tmp.Yb9rcw (%build)

I am using Fedora 14 Alpha release on x86_64.
Comment 6 Narasimhan 2010-09-19 16:05:15 EDT
When I used cabal to build gtk, it used glib-0.11.2. Hence I used the following rpms (as glib-0.11.2 was not in any of the f14 repos but available in rawhide).

 ghc-cairo                         x86_64                   0.11.1-1.fc15                   
 ghc-gio                           x86_64                   0.11.1-2.fc15                   
 ghc-glib                          x86_64                   0.11.2-2.fc15                  
 ghc-pango                         x86_64                   0.11.2-2.fc15                    

Now the compile error goes away. When I use this command
     
               rpmbuild -ba --without hscolour --without shared ghc-gtk.spec
I got errors for lot unpackaged files. So I used --without devhelp.
     
               rpmbuild -ba --without hscolour --without devhelp --without shared ghc-gtk.spec

which left me with one error.
  Installed (but unpackaged) file(s) found:
   /usr/share/doc/ghc-gtk-0.11.2/COPYING
Comment 7 Jens Petersen 2010-09-19 22:02:33 EDT
(In reply to comment #5)
> Graphics/UI/Gtk/Signals.chs:105:46:
>     Module `System.Glib.UTFString' does not export `maybePeekUTFString'
> error: Bad exit status from /var/tmp/rpm-tmp.Yb9rcw (%build)

I think you need to build glib with newer gtk2hs-buildtools.
The F14 packages might be a little behind F15.

http://koji.fedoraproject.org/koji/taskinfo?taskID=2476536
Comment 8 Narasimhan 2010-09-22 02:21:23 EDT
Ok.Thanks. I have run rpmlint on the rpms got from the link.

Here is my review of the package

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

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

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

ghc-gtk-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-gtk-prof.i686: E: devel-dependency ghc-gtk-devel
Your package has a dependency on a devel package but it's not a devel package
itself.

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

ghc-gtk-prof.i686: W: devel-file-in-non-devel-package /usr/lib/ghc-6.12.3/gtk-0.11.2/libHSgtk-0.11.2_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 - OK
        Spec legibity - OK
        Package template - OK
        Arch support - OK
        Libexecdir - OK
        rpmlint - yes
        changelogs - OK
        Source url tag  - OK, validated.
        Buildroot is ignored - present anyway. OK
        %clean is ignored - present anyway. OK
        Build Requires list - OK
        Summary and description - OK
        API documentation - 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.

    [~ ghc-gtk]$ md5sum ghc-gtk-0.11.2-3.fc13.src/gtk-0.11.2.tar.gz 
    ede94895ef679f1c6102c7eee5f021a1  ghc-gtk-0.11.2-3.fc13.src/gtk-0.11.2.tar.gz

    [~ ghc-gtk]$ md5sum  ../gtk-0.11.2.tar.gz 
    ede94895ef679f1c6102c7eee5f021a1  ../gtk-0.11.2.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.
    devel package contains source code.

[+]MUST: Large documentation files must go in a -doc subpackage.
    Developer documentation is in the -devel pacakge.

[+]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 a -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: The reviewer should test that the package functions as described.
    I installed the x86_64 bit rpms. Install went ok.
[+]SHOULD: If scriptlets are used, those scriptlets must be sane.

cabal2spec-diff is OK.

APPROVED.
Comment 9 Narasimhan 2010-09-22 02:22:41 EDT
Hi Jens,

Will the updated glib package (v0.11.2) and gtk2hs-buildtools be in Fedora 14?
Is it ok if Build requires does not require any particular version (or above)? In this case, gtk-0.11.2 won't build without glib-0.11.2.

One  observation on the rpmlint output:
The executable stack warning on the shared library has gone away.
Comment 10 Jens Petersen 2010-09-22 03:49:20 EDT
Thanks for checking the package: please apply for packager status
so I can sponsor you before approving any packages.

(In reply to comment #9)
> Will the updated glib package (v0.11.2) and gtk2hs-buildtools be in Fedora 14?

New gtk2hs-buildtools is already in the f14 testing repo:
http://koji.fedoraproject.org/koji/packageinfo?packageID=gtk2hs-buildtools

Yes I will update ghc-glib for f14 now that gtk is ready
thanks for the reminder.

> Is it ok if Build requires does not require any particular version (or above)?
> In this case, gtk-0.11.2 won't build without glib-0.11.2.

Well we could include it but often it becomes more of a maintainence
burden in the long term.

> The executable stack warning on the shared library has gone away.

Interesting
Comment 11 Jens Petersen 2010-09-27 00:57:37 EDT
I have updated ghc-glib in F14 btw - it is in testing now:

https://admin.fedoraproject.org/updates/ghc-pango-0.11.2-2.fc14,ghc-gio-0.11.1-2.fc14.1,ghc-glib-0.11.2-2.fc14
Comment 12 Jens Petersen 2010-09-28 20:24:03 EDT
Thanks


New Package SCM Request
=======================
Package Name: ghc-gtk
Short Description: Haskell gtk binding
Owners: petersen
Branches: f14 f13
InitialCC: haskell-sig
Comment 13 Kevin Fenzi 2010-09-29 14:45:36 EDT
Git done (by process-git-requests).
Comment 15 Fedora Update System 2010-09-30 04:15:20 EDT
ghc-gtk-0.11.2-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/ghc-gtk-0.11.2-4.fc14
Comment 16 Fedora Update System 2010-09-30 17:18:50 EDT
ghc-gtk-0.11.2-4.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-gtk'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/ghc-gtk-0.11.2-4.fc14
Comment 17 Fedora Update System 2010-10-28 01:47:07 EDT
ghc-gtk-0.11.2-4.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 18 Jens Petersen 2010-11-10 02:51:28 EST
Package Change Request
======================
Package Name: ghc-gtk
New Branches: el6
Owners: petersen
InitialCC: haskell-sig
Comment 19 Jason Tibbitts 2010-11-11 10:53:12 EST
Git done (by process-git-requests).

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