I recently came across an issue in a package review where I would appreciate guidance. In particular, I have never dealt with Haskell packages before, and I haven't been able to find enough detail in the Haskell Packaging Guidelines to answer my questions:
http://fedoraproject.org/wiki/Packaging/Haskell
It seems that there's a tool called cabal2spec that autogenerates spec files for Haskell programs. However, the spec files that it outputs are a little unusual.
The spec file I'm reviewing has no %package sections and no %files sections. Instead, there is a reference to a "%{?ghc_lib_package}" macro that implicitly defines the package and two subpackages. The Haskell Packaging Guidelines don't seem to describe how all of the magic works, so I'm not quite sure what standards I'm supposed to use in my review. Here's a link to the package request:
https://bugzilla.redhat.com/show_bug.cgi?id=662258
It looks like other Haskell libraries are packaged in a similar way, but it's enough different from most packages that the Package Review Guidelines don't seem to cleanly apply. I would appreciate advice on how to proceed. Thanks.
Hi Andrew,
Please have a look at the review template here [1]http://narasim.fedorapeople.org/haskell_review_template.txt. Some items from the Package review guidelines which do not apply are marked [NA].
The cabal2spec program generates the template for the .spec file from the .cabal file. Then the packager modifies certain values and thats about it. The macros used in the template come from /etc/rpm/macros.ghc. There are cases were there is a need to add some files not picked by the macros and that has been done. Eg [2]http://petersen.fedorapeople.org/ghc-gtk/ghc-gtk.spec
For haskell packaging/review related queries , you could also mail to fedora-haskell-list@redhat.com or ask at #fedora-haskell .
-Thanks
On Sat, Jan 29, 2011 at 12:38 AM, Andrew McNabb amcnabb@mcnabbs.org wrote:
I recently came across an issue in a package review where I would appreciate guidance. In particular, I have never dealt with Haskell packages before, and I haven't been able to find enough detail in the Haskell Packaging Guidelines to answer my questions:
http://fedoraproject.org/wiki/Packaging/Haskell
It seems that there's a tool called cabal2spec that autogenerates spec files for Haskell programs. However, the spec files that it outputs are a little unusual.
The spec file I'm reviewing has no %package sections and no %files sections. Instead, there is a reference to a "%{?ghc_lib_package}" macro that implicitly defines the package and two subpackages. The Haskell Packaging Guidelines don't seem to describe how all of the magic works, so I'm not quite sure what standards I'm supposed to use in my review. Here's a link to the package request:
https://bugzilla.redhat.com/show_bug.cgi?id=662258
It looks like other Haskell libraries are packaged in a similar way, but it's enough different from most packages that the Package Review Guidelines don't seem to cleanly apply. I would appreciate advice on how to proceed. Thanks.
-- Andrew McNabb http://www.mcnabbs.org/andrew/ PGP Fingerprint: 8A17 B57C 6879 1863 DE55 8012 AB4D 6098 8826 6868 -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
On Sat, Jan 29, 2011 at 08:33:13AM +0530, lakshminaras2002@gmail.com wrote:
The cabal2spec program generates the template for the .spec file from the .cabal file. Then the packager modifies certain values and thats about it. The macros used in the template come from /etc/rpm/macros.ghc. There are cases were there is a need to add some files not picked by the macros and that has been done. Eg [2]http://petersen.fedorapeople.org/ghc-gtk/ghc-gtk.spec
Wouldn't it be more clear if cabal2spec generated the %files and %packages sections rather than using a really complicated macro? As a reviewer, I feel like there is no way to tell what the spec file is doing. I can't even tell which packages it's going to create unless I actually run rpmbuild and look at what files show up.
Very late reply... sorry it took me rather longer finally to finish the new packaging draft than I had hoped.
Wouldn't it be more clear if cabal2spec generated the %files and %packages sections rather than using a really complicated macro? As a reviewer, I feel like there is no way to tell what the spec file is doing. I can't even tell which packages it's going to create unless I actually run rpmbuild and look at what files show up.
Perhaps it would but the downside to that is that every time we want to change the packaging we then have to edit and update 100+ .spec files which is not so fun. Refactoring it into the macros makes maintenance a lot easier: essentially it is all just boilerplate since the packaging of every Haskell Cabal-based library is essentially the same.
I hope the new revised draft helps to make things clearer:
https://fedoraproject.org/wiki/PackagingDrafts/Haskell
I have also updated cabal2spec to add more comments and links to the Packaging Guidelines pages to make things more transparent.
Thanks, Jens