Bug 673776 - (leksah) Review Request: leksah - An IDE for Haskell
Review Request: leksah - An IDE for Haskell
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jens Petersen
Fedora Extras Quality Assurance
Depends On: leksah-server ghc-strict
Blocks: Haskell-pkg-reviews
  Show dependency treegraph
Reported: 2011-01-30 09:55 EST by Narasimhan
Modified: 2011-08-01 22:09 EDT (History)
3 users (show)

See Also:
Fixed In Version: leksah-
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2011-08-01 22:09:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
petersen: fedora‑review+
limburgher: fedora‑cvs+

Attachments (Terms of Use)
leksah.spec-1.patch (1.63 KB, patch)
2011-06-28 00:20 EDT, Jens Petersen
no flags Details | Diff
leksah.spec-2.patch (2.62 KB, patch)
2011-07-20 03:58 EDT, Jens Petersen
no flags Details | Diff

  None (edit)
Description Narasimhan 2011-01-30 09:55:22 EST
SPEC file URL:


leksah package does not build with ghc-7.0.1. The plan is to have leksah for Fedora 14 (and 13) initially. Once a upstream package that builds with 7.0.1 is available, that will be used for F15 and later.
Comment 1 Narasimhan 2011-06-12 05:01:06 EDT
Spec file : http://narasim.fedorapeople.org/package_reviews/leksah.spec

SRPM file : http://narasim.fedorapeople.org/package_reviews/leksah-

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

leksah.i686: W: no-manual-page-for-binary leksah
Each executable in standard binary directories should have a man page.

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

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

ghc-leksah-prof.i686: W: devel-file-in-non-devel-package /usr/lib/ghc-6.12.3/leksah-
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 1 specfiles checked; 1 errors, 4 warnings.
Comment 2 Jens Petersen 2011-06-24 00:08:27 EDT
Minor detail/nitpicking but guess date of latest changlog entry is wrong. :)
Comment 3 Jens Petersen 2011-06-24 00:09:16 EDT
Do you mind updating the packaging to cabal2spec-0.23.2?
Comment 4 Narasimhan 2011-06-24 00:40:38 EDT
>Minor detail/nitpicking but guess date of latest changlog entry is wrong. :)
No problems. Thanks for pointing it out.
Will update the package to the latest cabal2spec and post the links here.
Comment 5 Narasimhan 2011-06-26 12:43:40 EDT
Updated spec file and srpm link



rpmlint output:

rpmlint -i leksah.spec ~/rpmbuild/RPMS/x86_64/leksah- ~/rpmbuild/RPMS/x86_64/ghc-leksah- ~/rpmbuild/RPMS/x86_64/ghc-leksah-devel- ~/rpmbuild/SRPMS/leksah-server- 

leksah.x86_64: W: no-manual-page-for-binary leksah
Each executable in standard binary directories should have a man page.

4 packages and 1 specfiles checked; 0 errors, 1 warnings.
Comment 7 Jens Petersen 2011-06-27 05:51:21 EDT
Thanks - I had a quick look over the package and basically looks ok.

I am curious why it BRs ImageMagick?

BTW have you posted the leksah.cabal patch upstream?
It would be good to get it integrated I guess.
Comment 8 Narasimhan 2011-06-27 07:20:05 EDT
Ok. Thanks

There is a convert program supplied as part of ImageMagick. This is used by the spec to convert leksah.png image to be suitable for an icon in start menu.

Yes, I will send the patch. Just fyi, both leksah and yi fail to build ghc-7.0 because of this issue http://hackage.haskell.org/trac/hackage/ticket/656
Comment 9 Jens Petersen 2011-06-27 23:53:59 EDT
Ok, about the GPL+ license comment: it should go immediately above
the License field, not in the changelog.  Sorry same applies for
ltk and leksah-server - just noticed now.
Comment 10 Jens Petersen 2011-06-27 23:57:40 EDT
Just a style point, but slightly inconsistent vertical spacing:
I recommend either to use single or double newline consistently
between sections for readability  (exception is %description
which a package subsection).
Comment 11 Narasimhan 2011-06-28 00:10:33 EDT
Ok, will do the changes and upload the spec.I will push changes for leksah-server into rawhide. For f14 and f15, will withdraw the current update and create a new one.
Comment 12 Jens Petersen 2011-06-28 00:14:55 EDT
Also are %help_manual and %mime_file needed?
Comment 13 Jens Petersen 2011-06-28 00:20:33 EDT
Created attachment 510192 [details]

Couple of suggestions:

I think the description doesn't need the url or email address.
(the homepage could go to the URL field though one can also
get there from hackage so maybe not needed.)

I personally prefer to list just a smaller set of dependencies
whose closure includes all the deps you list, but not a blocker.
Comment 14 Narasimhan 2011-07-02 01:49:40 EDT
Updated spec file and srpm



Applied patch from previous comment. Also removed leksah_manual and leksah_mime definitions.

Comment 16 Jens Petersen 2011-07-19 06:31:47 EDT
I don't think leksah should not require ghc-leksah explicitly.
So please drop the Requries unless there is a special reason for it.

Also I am not sure it is a good idea to resize the icon.
If no special reason for it I suggest not to.
eg gnome-shell uses rather large icons.
If scaled down then the quality will fall:
I have a patch I can attach for that to save time.

Here is the review:

 +:ok, NA: not applicable

MUST Items:
[+] MUST: rpmlint output

leksah.x86_64: W: no-manual-page-for-binary leksah

leksah is a GUI application: I don't think a manpage is really necessary.

[+] MUST: Package Naming Guidelines
[+] MUST: spec file name must match base package %{name}
[+] MUST: Packaging Guidelines.
[+] MUST: Licensing Guidelines
[+] MUST: License field in the package spec file must match actual license.
Source files state GPL
[+] MUST: include license files in %doc if available in source
[+] MUST: The spec file must be written in American English and be legible.
[+] MUST: source md5sum matches upstream release
b8f788c34fd7ac9ffb9a0e918e519291  leksah-
[+] MUST: must successfully compile and build into binary rpms on one main arch
[+] MUST: if necessary use ExcludeArch for other archs
[+] MUST: All build dependencies must be listed in BuildRequires
[NA] MUST: use %find_lang macro for .po translations
[NA] MUST: packages which store shared library files in the dynamic linker's default paths, must call ldconfig in %post and %postun.
[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 package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissable content.
[NA] MUST: Large documentation files should go in a doc subpackage.
[+] 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: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency
[+] MUST: Packages must NOT contain any .la libtool archives, these should be removed in the spec.
[+] 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: All filenames in rpm packages must be valid UTF-8.

[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.

Package is APPROVED.
Comment 17 Jens Petersen 2011-07-20 03:58:32 EDT
Created attachment 513944 [details]
Comment 18 Narasimhan 2011-07-20 09:17:12 EDT
Thanks for the review.

Yes. I remember that ghc-leksah, although needed (IMO), was not being picked up automatically. I will check that and  update the spec as appropriate. 

For the icon part, I will go with your suggestion and not resize.
Comment 19 Narasimhan 2011-07-20 09:18:07 EDT
New Package SCM Request
Package Name: leksah
Short Description:  An IDE for Haskell
Owners: narasim
Branches: f14 f15
InitialCC: haskell-sig
Comment 20 Gwyn Ciesla 2011-07-20 09:28:21 EDT
Git done (by process-git-requests).
Comment 21 Narasimhan 2011-07-20 10:31:38 EDT
ghc-leksah is not required and I removed the Requires.
Comment 22 Narasimhan 2011-07-20 10:45:25 EDT
Built for rawhide 

Comment 23 Fedora Update System 2011-07-20 10:57:12 EDT
leksah- has been submitted as an update for Fedora 14.
Comment 24 Fedora Update System 2011-07-20 10:57:21 EDT
leksah- has been submitted as an update for Fedora 15.
Comment 25 Narasimhan 2011-07-20 10:58:24 EDT
Wrong build posted on comment 22 .

Rawhide build @ http://koji.fedoraproject.org/koji/buildinfo?buildID=254319
Comment 26 Fedora Update System 2011-07-22 15:38:13 EDT
leksah- has been pushed to the Fedora 15 testing repository.
Comment 27 Fedora Update System 2011-08-01 22:09:06 EDT
leksah- has been pushed to the Fedora 15 stable repository.
Comment 28 Fedora Update System 2011-08-01 22:09:20 EDT
leksah- has been pushed to the Fedora 14 stable repository.

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