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)
Summary: | Review Request: hlint - Provides Haskell Source Code Suggestions | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Conrad Meyer <cse.cem+redhatbugz> | ||||
Component: | Package Review | Assignee: | Jens Petersen <petersen> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | fedora-package-review, haskell-devel, notting, petersen | ||||
Target Milestone: | --- | Flags: | petersen:
fedora-review+
petersen: fedora-cvs+ |
||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2010-02-20 02:36:07 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: | |||||||
Bug Depends On: | 479796, 479799 | ||||||
Bug Blocks: | 634048 | ||||||
Attachments: |
|
Description
Conrad Meyer
2009-01-13 06:11:14 UTC
ping? Well? Is there something I should be responding to? :D Well I guess the submission needs updating to the latest template. :) ping-aling! 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. Luckily and unknowningly I already packaged hscolour so it is already there. So please update ghc-haskell-src-exts. :) Jens Ok, cool. It is late here, I will do this when I wake up tomorrow :). 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.) cabal2spec-diff looks ok. 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 . 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. (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. So yeah, Conrad, you should really BR: ghc-hscolour-devel though it might well be providing ghc-hscolour. 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 (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. (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! cabal2spec-diff looks sane, should be ready for review. I haven't checked (yet) but is the License tag really GPL+? 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. 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+... I emailed upstream about licensing; version bump: http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.6.11-1.fc11.src.rpm 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 """ As long as the source itself is unclear, that information needs to be included within the package. Sure, it can be added to a README.Fedora (or LicensingClarification.txt, whatever you would like). It makes no difference, and the guidelines don't specify. http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Clarification Just include the full mail headers. Added. http://konradm.fedorapeople.org/fedora/SPECS/hlint.spec http://konradm.fedorapeople.org/fedora/SRPMS/hlint-1.6.11-2.fc11.src.rpm 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. 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.) (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 (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. 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 $ 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 Ok, what else needs to be done before this is acceptable? (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? :) 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. 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. I can revert uniplate and haskell-src-exts versions in rawhide. Ahhhh. Hm. Let's do this, so this review can finally be closed ;). Ok hlint-1.6.14 should be good now. Created attachment 387508 [details]
hlint.spec for ghc-6.12.1
This worksforme.
Not sure if %attr(755,root,root) is needed - maybe not?
I saw newer releases from Neil flow past. 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). 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. 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. I can confirm that with the hscolour changes I suggested (http://pastie.caboo.se/825293) hlint builds and runs correctly. Scratch-build succeeds after bumping hscolour: http://koji.fedoraproject.org/koji/taskinfo?taskID=1989492 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. 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 InitialCC cannot be an email address. Could you submit a corrected request? 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: CVS done. Built in rawhide (or devel/, anyways): http://koji.fedoraproject.org/koji/taskinfo?taskID=2000898 Closing. Are we going to push the F13 build to Bodhi? Done! Package Change Request ====================== Package Name: hlint New Branches: el6 Owners: petersen InitialCC: haskell-sig Git done (by process-git-requests). |