diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -9,10 +9,8 @@
 import System.Exit
 
 main =
-    copyFile "debian/changelog" "changelog" >>
     defaultMainWithHooks simpleUserHooks
-       {- { postBuild = \ _ _ _ lbi -> when (buildDir lbi /= "dist-ghc/build") (runTestScript lbi)
-          , runTests = \ _ _ _ lbi -> runTestScript lbi } -}
+       { preSDist = \ a b -> copyFile "debian/changelog" "changelog" >> preSDist simpleUserHooks a b }
 
 runTestScript lbi =
     system (buildDir lbi ++ "/cabal-debian-tests/cabal-debian-tests") >>= \ code ->
diff --git a/cabal-debian.cabal b/cabal-debian.cabal
--- a/cabal-debian.cabal
+++ b/cabal-debian.cabal
@@ -1,5 +1,5 @@
 Name:           cabal-debian
-Version:        4.15
+Version:        4.15.2
 License:        BSD3
 License-File:   debian/copyright
 Author:         David Fox <dsf@seereason.com>
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -6,15 +6,11 @@
 
 haskell-cabal-debian (4.14) unstable; urgency=low
 
-  * Map package name Cabal to debian package name cabal.
-
- -- David Fox <dsf@seereason.com>  Sat, 05 Jul 2014 20:27:21 -0700
-
-haskell-cabal-debian (4.14) unstable; urgency=low
-
-  * Map package name Cabal to debian package name cabal.
+  * Move the code to map the cabal package named "Cabal" to the debian
+    package named "libghc-cabal-*" from the seereason defaults to the
+    debian defaults.
 
- -- David Fox <dsf@seereason.com>  Sat, 05 Jul 2014 20:27:21 -0700
+ -- David Fox <dsf@seereason.com>  Mon, 07 Jul 2014 08:35:39 -0700
 
 haskell-cabal-debian (4.13) unstable; urgency=low
 
@@ -909,3 +905,4 @@
   * Debianization generated by cabal-debian
 
  -- David Fox <dsf@seereason.com>  Sun, 18 Sep 2011 06:40:21 -0700
+
diff --git a/src/Debian/Debianize/BuildDependencies.hs b/src/Debian/Debianize/BuildDependencies.hs
--- a/src/Debian/Debianize/BuildDependencies.hs
+++ b/src/Debian/Debianize/BuildDependencies.hs
@@ -7,7 +7,7 @@
 
 import Control.Monad.State (MonadState(get))
 import Control.Monad.Trans (MonadIO)
-import Data.Char (isSpace)
+import Data.Char (isSpace, toLower)
 import Data.Function (on)
 import Data.Lens.Lazy (access, getL)
 import Data.List as List (filter, map, minimumBy, nub)
@@ -75,7 +75,7 @@
     where
       fixDeps :: Atoms -> [String] -> Relations
       fixDeps atoms xs =
-          concatMap (\ cab -> fromMaybe [[D.Rel (D.BinPkgName ("lib" ++ cab ++ "-dev")) Nothing Nothing]]
+          concatMap (\ cab -> fromMaybe [[D.Rel (D.BinPkgName ("lib" ++ map toLower cab ++ "-dev")) Nothing Nothing]]
                                         (Map.lookup cab (getL T.extraLibMap atoms))) xs
 
 -- The haskell-cdbs package contains the hlibrary.mk file with
diff --git a/src/Debian/Debianize/Types/Atoms.hs b/src/Debian/Debianize/Types/Atoms.hs
--- a/src/Debian/Debianize/Types/Atoms.hs
+++ b/src/Debian/Debianize/Types/Atoms.hs
@@ -17,6 +17,7 @@
 import Control.Applicative ((<$>))
 import Control.Category ((.))
 import Control.Monad.Trans (MonadIO, liftIO)
+import Data.Generics (Data, Typeable)
 import Data.Lens.Lazy (Lens, lens)
 import Data.Map as Map (Map)
 import Data.Monoid (Monoid(..))
@@ -212,13 +213,13 @@
       -- ^ The newest available version of GHC in the build repository.  We don't support
       -- base repositories with no version of GHC, it has been standard in Debian and
       -- Ubuntu for quite some time.
-      } deriving (Eq, Show)
+      } deriving (Eq, Show, Data, Typeable)
 
 data EnvSet = EnvSet
     { cleanOS :: FilePath  -- ^ The output of the debootstrap command
     , dependOS :: FilePath -- ^ An environment with build dependencies installed
     , buildOS :: FilePath  -- ^ An environment where we have built a package
-    } deriving (Eq, Show)
+    } deriving (Eq, Show, Data, Typeable)
 
 -- | Look for --buildenvdir in the command line arguments to get the
 -- changeroot path, use "/" if not present.
@@ -317,17 +318,17 @@
     -- the control file must match.
     , debAction_ :: DebAction
     -- ^ What to do - Usage, Debianize or Substvar
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Show, Data, Typeable)
 
-data DebAction = Usage | Debianize | SubstVar DebType deriving (Read, Show, Eq, Ord)
+data DebAction = Usage | Debianize | SubstVar DebType deriving (Read, Show, Eq, Ord, Data, Typeable)
 
 -- | A redundant data type, too lazy to expunge.
-data DebType = Dev | Prof | Doc deriving (Eq, Ord, Read, Show)
+data DebType = Dev | Prof | Doc deriving (Eq, Ord, Read, Show, Data, Typeable)
 
 data PackageInfo = PackageInfo { cabalName :: PackageName
                                , devDeb :: Maybe (BinPkgName, DebianVersion)
                                , profDeb :: Maybe (BinPkgName, DebianVersion)
-                               , docDeb :: Maybe (BinPkgName, DebianVersion) } deriving (Eq, Ord, Show)
+                               , docDeb :: Maybe (BinPkgName, DebianVersion) } deriving (Eq, Ord, Show, Data, Typeable)
 
 -- | Information about the web site we are packaging.
 data Site
@@ -337,7 +338,7 @@
                            -- redirect requests from this domain to hostname:port
       , serverAdmin :: String   -- ^ Apache ServerAdmin parameter
       , server :: Server   -- ^ The hint to install the server job
-      } deriving (Read, Show, Eq, Ord)
+      } deriving (Read, Show, Eq, Ord, Data, Typeable)
 
 -- | Information about the server we are packaging.
 data Server
@@ -352,7 +353,7 @@
       , retry :: String         -- ^ start-stop-daemon --retry argument
       , serverFlags :: [String] -- ^ Extra flags to pass to the server via the init script
       , installFile :: InstallFile -- ^ The hint to install the server executable
-      } deriving (Read, Show, Eq, Ord)
+      } deriving (Read, Show, Eq, Ord, Data, Typeable)
 
 data InstallFile
     = InstallFile
@@ -360,7 +361,7 @@
       , sourceDir :: Maybe FilePath -- ^ where to find it, default is dist/build/<execName>/
       , destDir :: Maybe FilePath -- ^ where to put it, default is usr/bin/<execName>
       , destName :: String  -- ^ name to give installed executable
-      } deriving (Read, Show, Eq, Ord)
+      } deriving (Read, Show, Eq, Ord, Data, Typeable)
 
 defaultFlags :: Flags
 defaultFlags =
diff --git a/src/Debian/Debianize/VersionSplits.hs b/src/Debian/Debianize/VersionSplits.hs
--- a/src/Debian/Debianize/VersionSplits.hs
+++ b/src/Debian/Debianize/VersionSplits.hs
@@ -1,6 +1,6 @@
 -- | Convert between cabal and debian package names based on version
 -- number ranges.
-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances #-}
+{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances #-}
 module Debian.Debianize.VersionSplits
     ( DebBase(DebBase)
     -- * Combinators for VersionSplits
@@ -15,6 +15,7 @@
     , doSplits
     ) where
 
+import Data.Generics (Data, Typeable)
 import Data.Map as Map (Map, mapMaybeWithKey, elems)
 import Data.Set as Set (Set, toList, fromList)
 import Data.Version (Version(Version), showVersion)
@@ -28,7 +29,7 @@
 
 -- | The base of a debian binary package name, the string that appears
 -- between "libghc-" and "-dev".
-newtype DebBase = DebBase String deriving (Eq, Ord, Read, Show)
+newtype DebBase = DebBase String deriving (Eq, Ord, Read, Show, Data, Typeable)
 
 -- | Describes a mapping from cabal package name and version to debian
 -- package names.  For example, versions of the cabal QuickCheck
@@ -43,7 +44,7 @@
       -- name to use for versions greater than or equal to that
       -- version.  This list assumed to be in (must be kept in)
       -- ascending version number order.
-      } deriving (Eq, Ord)
+      } deriving (Eq, Ord, Data, Typeable)
 
 instance Show VersionSplits where
     show s = foldr (\ (v, b) r -> ("insertSplit (" ++ show v ++ ") (" ++ show b ++ ") (" ++ r ++ ")")) ("makePackage (" ++ show (oldestPackage s) ++ ")") (splits s)
