[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: I'd like to help out.



At Wed, 18 Mar 2009 08:11:49 -0500,
John Goerzen wrote:

> 1) A cabal-to-deb command that will convert a Hackage download into a
> Debian source package, figuring out build-deps from .cabal.  I think
> there has been some work on this, but nothing we can rely upon.

The cabal-debian executable from this library:

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/debian

Does exactly that. Why can't we rely upon it?

At present, the only significant shortcoming is that it requires some
minor patches to haskell-devscripts and requires hlibrary.mk to be
installed system-wide (via a .deb). The only reason this is a
shortcoming is because those patches are not in Debian and Ubuntu
already, so cabal-debian does not 'just work' out of the box. The
patches do not break backwards compatibility or anything funny like
that. In fact, they are mostly just bug fixes and new features.

-------------------
cabal-debian works!
-------------------

 It has been tested on dozens of libraries from hackage. We have built
 and installed the generated packages on lenny, sid, hardy, and
 intrepid. 

----------------------------------
cabal-debian is written in Haskell
----------------------------------

 No scary perl or python here! Only lovely Haskell!

------------------------------
cabal-debian is not a hack job
------------------------------

 cabal-debian uses the Cabal library and haskell-debian library for
 its parsing and generation needs, not regexs and string
 concatenation. It should be robust and easy to maintain and modify.

----------------------------------------------
cabal-debian uses existing standards and tools
----------------------------------------------

  cabal-debian generates source packages that use haskell-devscripts
  and hlibrary.mk. It attempts to do things 'by the book'.

---------------------------------------------------------
using cabal-debian is better than not using cabal-debian!
---------------------------------------------------------

 When using cabal-debian and a patched haskell-devscripts/hlibrary.mk
 you get cool features like:

  1. ${depends:Haskell} actually works

  2. automatic notification if you built against haskell libraries
     that are not listed as build-depends

-----------------------------------
cabal-debian is actively maintained
-----------------------------------

 We (at SeeReason) use cabal-debian all the time. It is a integral
 part of our development environment, so we are not likely to let it
 fall by the wayside anytime soon.

-----------------------------------------
cabal-debian developers want you to help!
-----------------------------------------

 Want to help out with cabal-debian? No problem! The authors would be
 most pleased to accept contributions and we are easy to contact. Get
 the latest source via:

   darcs get http://src.seereason.com/ghc610/haskell-debian-3/
   darcs get http://src.seereason.com/ghc610/quilt/haskell-devscripts-quilt/
   darcs get http://src.seereason.com/ghc610/haskell-cdbs/

 Send us an email, partners@seereason.com. We can also be contacted
 via this mailing list, IRC, an XMMP/Jabber chatroom, skype, and more!

I see absolutely no reason why this tool can not be used. There are a
few trivial cosmetic changes that need to be made due to recent
decisions regarding the Haskell Debian policy. For example, naming
things haskell-package-doc instead of libghc6-package-doc, and setting
the arch for -doc packages to 'any' instead of 'all'.

But, I don't see any real technical issues -- the tool seems like
exactly what people want. All that needs to be done is:

 1. get people excited about cabal-debian (because it rocks)
 2. get the patches to haskell-devscripts/hlibrary.mk merged
 3. make minor tweaks to cabal-debian to bring it in alignment with the current Haskell Debian policy

Steps 2 and 3 should not take more than a few days. There is not much
real work there, mostly just waiting around for things to get merged,
built or uploaded.

Step 1 seems to be the tricky part for some reason.

- jeremy


Reply to: