Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 479800 (hlint) - Review Request: hlint - Provides Haskell Source Code Suggestions
Summary: Review Request: hlint - Provides Haskell Source Code Suggestions
Keywords:
Status: CLOSED RAWHIDE
Alias: hlint
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jens Petersen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 479796 479799
Blocks: Haskell-pkg-reviews
TreeView+ depends on / blocked
 
Reported: 2009-01-13 06:11 UTC by Conrad Meyer
Modified: 2014-01-02 05:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-02-20 02:36:07 UTC
Type: ---
Embargoed:
petersen: fedora-review+
petersen: fedora-cvs+


Attachments (Terms of Use)
hlint.spec for ghc-6.12.1 (deleted)
2010-01-29 06:41 UTC, Jens Petersen
no flags Details

Description Conrad Meyer 2009-01-13 06:11:14 UTC
Spec URL: http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec
SRPM URL: http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.2-1.fc9.src.rpm
Description:
HLint gives suggestions on how to improve your source code.

Comment 1 Jens Petersen 2009-05-19 07:26:23 UTC
ping?

Comment 2 Conrad Meyer 2009-05-19 07:39:59 UTC
Well? Is there something I should be responding to? :D

Comment 3 Jens Petersen 2009-05-21 02:54:31 UTC
Well I guess the submission needs updating to the latest template. :)

Comment 4 Jens Petersen 2009-06-13 08:01:40 UTC
ping-aling!

Comment 5 Conrad Meyer 2009-06-13 19:38:51 UTC
Ok, updated:
http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec
http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.4-1.fc10.src.rpm

Note: we need to package ghc-hscolour (new package for us I think) and also update ghc-haskell-src-exts to 0.4.8 or higher, so right now this doesn't actually build.

Comment 6 Jens Petersen 2009-06-15 07:35:24 UTC
Luckily and unknowningly I already packaged hscolour so it is already there.

So please update ghc-haskell-src-exts. :)

Jens

Comment 7 Conrad Meyer 2009-06-15 07:40:38 UTC
Ok, cool. It is late here, I will do this when I wake up tomorrow :).

Comment 8 Jens Petersen 2009-06-20 23:41:47 UTC
Actually we have had haskell-src-exts-0.4.8 all along so no problem there.
(Latest version is 0.5.6 though, but nevermind - might be worth asking
the hlint author about that.)

Comment 9 Jens Petersen 2009-06-20 23:44:19 UTC
cabal2spec-diff looks ok.

Comment 10 Conrad Meyer 2009-07-02 00:53:37 UTC
And by "when I wake up tomorrow", apparently I meant in the next few weeks, sorry :(.

Updated, tagged, and built in devel/ --> http://koji.fedoraproject.org/koji/taskinfo?taskID=1448444 .

Comment 11 Jason Tibbitts 2009-07-13 00:49:08 UTC
This doesn't build due to a lack of ghs-hscolor.  I don't see it in rawhide at all, so I'm not sure what Jens meant in comment 6.

Comment 12 Jens Petersen 2009-07-13 02:19:56 UTC
(In reply to comment #11)
> This doesn't build due to a lack of ghs-hscolor.  I don't see it in rawhide at
> all, so I'm not sure what Jens meant in comment 6.  

The subpackage is ghc-hscolour-devel.

Comment 13 Jens Petersen 2009-07-13 02:21:39 UTC
So yeah, Conrad, you should really BR: ghc-hscolour-devel
though it might well be providing ghc-hscolour.

Comment 14 Conrad Meyer 2009-09-11 17:57:25 UTC
Ok, this has all been done (and for quite a while), but keep in mind it doesn't build yet -- cpphs, ghc-haskell-src-exts, and ghc-hscolour will all need to be updated to newer versions first.

http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec
http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.6.8-1.fc11.src.rpm

Comment 15 Jens Petersen 2009-09-18 01:01:56 UTC
(In reply to comment #14)
> cpphs, ghc-haskell-src-exts, and ghc-hscolour will all need to be
> updated to newer versions first.

Heh - the former two are your packages. ;-)
Anyway I just built cpphs-1.9 and hscolour-1.15 for f12.

Will do ghc-haskell-src-exts-1.1.4 shortly after the new cpphs is
in the buildroot.

Comment 16 Conrad Meyer 2009-09-18 01:09:18 UTC
(In reply to comment #15)
> (In reply to comment #14)
> > cpphs, ghc-haskell-src-exts, and ghc-hscolour will all need to be
> > updated to newer versions first.
> 
> Heh - the former two are your packages. ;-)
> Anyway I just built cpphs-1.9 and hscolour-1.15 for f12.

Well, yes, I need to update my packages too :).

> Will do ghc-haskell-src-exts-1.1.4 shortly after the new cpphs is
> in the buildroot.  

Ah, thanks!

Comment 17 Jens Petersen 2009-10-29 09:07:49 UTC
cabal2spec-diff looks sane, should be ready for review.

Comment 18 Jens Petersen 2009-10-29 09:37:25 UTC
I haven't checked (yet) but is the License tag really GPL+?

Comment 19 Conrad Meyer 2009-10-29 16:52:08 UTC
GPL+ is the default if they just specify "GPL". I can double check later today or if you want to do it, that works too.

Comment 20 Jens Petersen 2009-10-30 01:15:32 UTC
Latest version is now:

http://hackage.haskell.org/package/hlint-1.6.11

(In reply to comment #19)
> GPL+ is the default if they just specify "GPL". I can double check later today
> or if you want to do it, that works too.  

Ok I looked over the sources and indeed no src headers. :-/

Could you please contact the author and ask him to add
license headers to all the main source files - that should
clarify the intent (which I guess is GPLv2+) but until
then we probably have to go with GPL+...

Comment 22 Conrad Meyer 2009-11-05 10:31:25 UTC
License response:

"""
Hi,

The intention was GPLv2. The license block in the Cabal says GPL, but
the License file it points at is the GPLv2. I'd rather not annotate
every source code file with a license, but I will try and find what
the Haskell/Cabal approved way is to mark GPL versions in the license
field.

HLint has already been packaged by a couple of other distros, so I'm
curious what they did. I'll have to check.

As someone packaging HLint, is there anything else that would help
you? Some of the other distros asked for a changelog that is now
available at http://community.haskell.org/~ndm/darcs/hlint/CHANGES.txt
.

Thanks, Neil
"""

Comment 23 Jason Tibbitts 2009-11-08 03:45:46 UTC
As long as the source itself is unclear, that information needs to be included within the package.

Comment 24 Conrad Meyer 2009-11-08 04:29:30 UTC
Sure, it can be added to a README.Fedora (or LicensingClarification.txt, whatever you would like).

Comment 25 Jason Tibbitts 2009-11-08 15:54:27 UTC
It makes no difference, and the guidelines don't specify.  http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Clarification
Just include the full mail headers.

Comment 27 Jens Petersen 2009-11-14 12:12:35 UTC
Thanks for the update and continued effort on this package.
I think we are getting nearly there. :)

(In reply to comment #22)
> The intention was GPLv2. The license block in the Cabal says GPL, but
> the License file it points at is the GPLv2.

Likely Neil (the author) is not familiar with the
Fedora's distinction of GPLv2 vs GPLv2+,

> but I will try and find what
> the Haskell/Cabal approved way is to mark GPL versions in the license
> field.

AFAIK there isn't one :-(  so we should probably complain to
cabal/hackage about it, and request adding of GPLvN but getting
it fine-grained enough for Fedora will probably be hard I suspect.

Comment 28 Jens Petersen 2009-11-14 12:36:42 UTC
I see 1.6.12 is out: http://hackage.haskell.org/package/hlint

Also I tried a scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1806154
which failed since you should BR ghc-cpphs-devel not cpphs.

(Would be nice to update the deps for f11, so that it will build there too.)

Comment 29 Jens Petersen 2009-11-14 12:43:32 UTC
(In reply to comment #28)
> I see 1.6.12 is out: http://hackage.haskell.org/package/hlint

Though it seems to require haskell-src-exts >=1.3.

> which failed since you should BR ghc-cpphs-devel not cpphs.

However even after it still fails for me mysteriously:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1806161

Comment 30 Jens Petersen 2009-11-14 14:49:30 UTC
(In reply to comment #29)
> > I see 1.6.12 is out: http://hackage.haskell.org/package/hlint
> Though it seems to require haskell-src-exts >=1.3.

Ok I went ahead and built ghc-haskell-src-exts-1.3.0
in dist-f13.

> However even after it still fails for me mysteriously:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=1806161  

Fixed in same build adding missing "Requires: ghc-cpphs-devel".

So hopefully hlint-1.6.12 should build there.

Comment 31 Conrad Meyer 2009-11-14 19:05:53 UTC
Ok, I've made these changes, but I can't build it locally due to not being able to find haskell-src-exts-devel >= 1.3. I've got to run, but here is the new spec/srpm:

http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec
http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.6.12-1.fc11.src.rpm

Comment 32 Jens Petersen 2009-11-18 12:06:36 UTC
$ koji build --scratch dist-f13 hlint-1.6.12-1.fc11.src.rpm
:
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=1813996
:
1813996 build (dist-f13, hlint-1.6.12-1.fc11.src.rpm) completed successfully

Comment 33 Conrad Meyer 2009-11-28 10:32:19 UTC
Ok, what else needs to be done before this is acceptable?

Comment 34 Jens Petersen 2010-01-11 06:24:46 UTC
(In reply to comment #33)
> Ok, what else needs to be done before this is acceptable?    

Sorry my bad for sitting on this review so long. :-(

I built haskell-src-exts-1.5.3 for rawhide:
do you mind updating to 1.6.14? :)

Comment 35 Jens Petersen 2010-01-15 01:31:53 UTC
Oh dear this review is now 1 year old... blush. :-/

I would really like to get it done this month: so when you have time to update the package feel free - or we can even revert haskell-src-exts if you prefer.

Comment 36 Jens Petersen 2010-01-28 04:40:33 UTC
I can't get 1.6.15 and 1.6.16 which are binlib to build with shared libs:

[31 of 31] Compiling Language.Haskell.HLint ( src/Language/Haskell/HLint.hs, dist/build/Language/Haskell/HLint.dyn_o )
/usr/bin/ld: dist/build/CmdLine.dyn_o: relocation R_X86_64_PC32 against undefined symbol `hlintzm1zi6zi16_Pathszuhlint_version1_closure' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status

so we may have to revert to 1.6.14 which is bin.

Comment 37 Jens Petersen 2010-01-28 04:41:54 UTC
I can revert uniplate and haskell-src-exts versions in rawhide.

Comment 38 Conrad Meyer 2010-01-28 04:57:00 UTC
Ahhhh. Hm. Let's do this, so this review can finally be closed ;).

Comment 39 Jens Petersen 2010-01-29 06:29:13 UTC
Ok hlint-1.6.14 should be good now.

Comment 40 Jens Petersen 2010-01-29 06:41:39 UTC
Created attachment 387508 [details]
hlint.spec for ghc-6.12.1

This worksforme.

Not sure if %attr(755,root,root) is needed - maybe not?

Comment 41 Jens Petersen 2010-02-15 02:42:36 UTC
I saw newer releases from Neil flow past.

Comment 42 Conrad Meyer 2010-02-15 08:59:42 UTC
http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec
http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.6.20-1.fc11.src.rpm

Bumped again (but of course it needs newer cpphs, haskell-src-exts, uniplate, hscolour).

Comment 43 Conrad Meyer 2010-02-15 10:00:27 UTC
Ok, I've bumped cpphs, ghc-haskell-src-exts, and ghc-uniplate in rawhide. I have a hscolour bump ready to go, but I don't have ACL permissions.

Comment 44 Conrad Meyer 2010-02-15 10:01:53 UTC
Ah, I guess we can remove LicenseClarification now -- I think we can do that next time we bump or before importing, though, it's not a huge deal.

Comment 45 Conrad Meyer 2010-02-16 00:02:03 UTC
I can confirm that with the hscolour changes I suggested (http://pastie.caboo.se/825293) hlint builds and runs correctly.

Comment 46 Conrad Meyer 2010-02-16 03:28:02 UTC
Scratch-build succeeds after bumping hscolour: http://koji.fedoraproject.org/koji/taskinfo?taskID=1989492

Comment 47 Jens Petersen 2010-02-17 10:23:33 UTC
Thanks Conrad.

Here is my review, before upstream releases again. ;) :)

Here is the review:

 +:ok, =:needs attention, -:needs fixing,  NA: not applicable

MUST Items:
[=] MUST: rpmlint output

hlint.src: W: macro-in-%description %ghc_binlib_package

I don't like this and only noticed this week with
haskeline in koji but it is a cabal2spec templates
error.  I guess we need %{?ghc_binlib_package}.

I suggest making that change before importing.

hlint.src: W: no-cleaning-of-buildroot %install
hlint.src: W: no-buildroot-tag

These are ok: though I maybe revert cabal2spec until rpmlint
is silenced for them.

ghc-hlint.x86_64: W: unstripped-binary-or-object /usr/lib64/ghc-6.12.1/hlint-1.6.20/libHShlint-1.6.20-ghc6.12.1.so
ghc-hlint.x86_64: W: executable-stack /usr/lib64/ghc-6.12.1/hlint-1.6.20/libHShlint-1.6.20-ghc6.12.1.so
ghc-hlint-devel.x86_64: W: no-documentation
ghc-hlint-prof.x86_64: E: devel-dependency ghc-hlint-devel
ghc-hlint-prof.x86_64: W: no-documentation
ghc-hlint-prof.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ghc-6.12.1/hlint-1.6.20/libHShlint-1.6.20_p.a
hlint.x86_64: W: executable-stack /usr/bin/hlint

These are normal for a haskell package.

[+] 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.
[+] 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

6c1be9a1d0835d5aa5028ac1de5dcee3  hlint-1.6.20.tar.gz

[+] 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
[+] 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 have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+] 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. This is described in detail in the code vs. content section of Packaging Guidelines.
[+] 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: Requires: %{name} = %{version}-%{release} 
[+] MUST: Packages must NOT contain any .la libtool archives, these should be removed in the spec.
[+] 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 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.

Ok I take you dropped "LicenseClarification" since the .cabal file
now states GPLv2.

[+] SHOULD: If scriptlets are used, those scriptlets must be sane.


I suggest quoting ghc_binlib_package with ? as above.


Package is APPROVED for fedora.

Comment 48 Conrad Meyer 2010-02-17 15:53:32 UTC
Ok, I'll do this before import. Thanks!

New Package CVS Request
=======================
Package Name: hlint
Short Description: Haskell Source code suggestions
Owners: konradm
Branches: F-13 F-12
InitialCC: haskell-devel.org

Comment 49 Jason Tibbitts 2010-02-19 18:36:00 UTC
InitialCC cannot be an email address.  Could you submit a corrected request?

Comment 50 Conrad Meyer 2010-02-19 19:39:39 UTC
Oops, ok. I always forget. Just nuking it for now, as changes to this bug already get copied to the haskell list.

New Package CVS Request
=======================
Package Name: hlint
Short Description: Haskell Source code suggestions
Owners: konradm
Branches: F-13 F-12
InitialCC:

Comment 51 Jason Tibbitts 2010-02-19 19:45:08 UTC
CVS done.

Comment 52 Conrad Meyer 2010-02-20 02:36:07 UTC
Built in rawhide (or devel/, anyways):
http://koji.fedoraproject.org/koji/taskinfo?taskID=2000898

Closing.

Comment 53 Jens Petersen 2010-06-24 06:41:59 UTC
Are we going to push the F13 build to Bodhi?

Comment 54 Conrad Meyer 2010-06-24 06:45:25 UTC
Done!

Comment 55 Jens Petersen 2013-12-27 06:34:48 UTC
Package Change Request
======================
Package Name: hlint
New Branches: el6
Owners: petersen
InitialCC: haskell-sig

Comment 56 Jens Petersen 2014-01-02 05:52:27 UTC
Git done (by process-git-requests).


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