diff --git a/Debian/Report.hs b/Debian/Report.hs
--- a/Debian/Report.hs
+++ b/Debian/Report.hs
@@ -8,7 +8,6 @@
 import Data.Maybe
 import qualified Data.Map as M
 import qualified Data.ByteString.Char8 as B
-import Extra.HaXml (mkTxt)
 import Text.XML.HaXml
 
 -- * General Package Map Builders
@@ -81,7 +80,7 @@
     where
       mkTrumpedPackage (package, (oldVersion, newVersion)) =
           mkElem "trumpedPackage"
-                     [ mkElem "package" [ mkTxt (B.unpack package) ]
-                     , mkElem "oldVersion" [ mkTxt (show oldVersion) ]
-                     , mkElem "newVersion" [ mkTxt (show newVersion) ]
+                     [ mkElem "package" [ cdata (B.unpack package) ]
+                     , mkElem "oldVersion" [ cdata (show oldVersion) ]
+                     , mkElem "newVersion" [ cdata (show newVersion) ]
                      ]
diff --git a/Debian/URI.hs b/Debian/URI.hs
--- a/Debian/URI.hs
+++ b/Debian/URI.hs
@@ -6,7 +6,7 @@
     , dirFromURI
     ) where
 
-import Control.Exception (Exception(..), try)
+import Control.OldException (Exception(..),  try)
 --import Control.Monad.Trans (MonadIO)
 import qualified Data.ByteString.Lazy.Char8 as L
 import Extra.Net (webServerDirectoryContents)
diff --git a/Debian/Util/FakeChanges.hs b/Debian/Util/FakeChanges.hs
--- a/Debian/Util/FakeChanges.hs
+++ b/Debian/Util/FakeChanges.hs
@@ -2,7 +2,7 @@
 module Debian.Util.FakeChanges (fakeChanges) where
 
 --import Control.Arrow
-import Control.Exception
+import Control.OldException
 import Control.Monad hiding (mapM)
 import Data.Foldable
 import Data.List hiding (concat, foldr, all)
diff --git a/Distribution/Package/Debian.hs b/Distribution/Package/Debian.hs
--- a/Distribution/Package/Debian.hs
+++ b/Distribution/Package/Debian.hs
@@ -17,7 +17,7 @@
     ( debian
     ) where
 
-import Control.Exception (try, bracket)
+import Control.OldException (try, bracket)
 import Control.Monad (when,mplus)
 import qualified Data.ByteString.Lazy.Char8 as L
 import Data.Char (toLower, isSpace)
@@ -602,7 +602,8 @@
       -- The haskell-cdbs package contains the hlibrary.mk file with
       -- the rules for building haskell packages.
       debianBuildDeps :: D.Relations
-      debianBuildDeps =
+      debianBuildDeps = 
+          nub $
           [[D.Rel "debhelper" (Just (D.GRE (parseDebianVersion "7.0"))) Nothing],
            [D.Rel "haskell-devscripts" (Just (D.GRE (parseDebianVersion "0.6.15+nmu7"))) Nothing],
            [D.Rel "cdbs" Nothing Nothing],
@@ -611,8 +612,10 @@
           (concat . map (debianDependencies bundled compiler buildDependencies) . allBuildDepends $ pkgDesc)
       debianBuildDepsIndep :: D.Relations
       debianBuildDepsIndep =
+          nub $
           [[D.Rel "ghc6-doc" Nothing Nothing],
-           [D.Rel "haddock" Nothing Nothing]]
+           [D.Rel "haddock" Nothing Nothing]]  ++
+          (concat . map (debianDependencies bundled compiler docDependencies) . allBuildDepends $ pkgDesc)
       debianDescription = 
           (synopsis pkgDesc) ++
           case description pkgDesc of
@@ -708,7 +711,7 @@
     concat (map (\ x -> debianRelations x ranges) names)
     where names = if isLibrary compiler dep
                   then [ debianProfilingPackageName name
-                       , debianDocumentationPackageName name ] else [name]
+                       ] else [name]
 
 -- The documentation dependencies for a package include the documentation
 -- package for any libraries which are build dependencies, so we have access
diff --git a/debian.cabal b/debian.cabal
--- a/debian.cabal
+++ b/debian.cabal
@@ -1,12 +1,12 @@
 Name:           debian
-Version:        3.33
+Version:        3.35
 License:        BSD3
 License-File:	debian/copyright
 Author:         David Fox
 Category:	System
 Maintainer:     david@seereason.com
 Homepage:       http://src.seereason.com/ghc610/haskell-debian-3
-Build-Depends:  base >= 3 && < 4, bytestring, containers, directory, filepath, mtl, network, old-locale, parsec, pretty, process, regex-compat, regex-posix, time, unix, bzlib, Extra >= 0.4, HaXml, Unixutils, zlib
+Build-Depends:  base >= 4 && < 5, syb, bytestring, containers, directory, filepath, mtl, network, old-locale, parsec, pretty, process, regex-compat, regex-posix, time, unix, bzlib, Extra >= 0.4, HaXml, Unixutils, zlib
 Build-Type:	Simple
 Synopsis:       Modules for working with the Debian package system
 Description:
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+haskell-debian (3.35) unstable; urgency=low
+
+  * removed dependencies on Extra.HaXml
+  * Updated to base >= 4 && < 5
+  * Fixed test suite
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 01 Jul 2009 09:48:00 -0500
+
+haskell-debian (3.34) unstable; urgency=low
+
+  * cabal-debian: move -doc packages to Build-Depends-Indep
+  * cabal-debian: properly nub Build-Depends and Build-Depends-Indep
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 03 May 2009 12:15:52 -0500
+
 haskell-debian (3.33) unstable; urgency=low
 
   * cabal-debian: Setion: libdevel -> haskell
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,8 @@
                ghc6-prof,
                libghc6-unixutils-prof (>= 1.18),
                libghc6-unixutils-doc (>= 1.18),
+               libghc6-time-prof,
+               libghc6-time-doc,
                libghc6-extra-prof (>= 1.26),
                libghc6-extra-doc (>= 1.26),
                libghc6-bzlib-prof,
diff --git a/utils/Report.hs b/utils/Report.hs
--- a/utils/Report.hs
+++ b/utils/Report.hs
@@ -7,8 +7,9 @@
 import Debian.Report
 import Debian.Sources
 import Extra.Exit
-import Extra.HaXml
 import System.Environment
+import Text.XML.HaXml
+import Text.XML.HaXml.Pretty (document)
 import Text.PrettyPrint.HughesPJ
 import System.IO
 
@@ -23,6 +24,23 @@
        sourcesB <- liftM parseSourcesList $ readFile sourcesBFP
        trumpMap <- trumped (fetch emptyFetchCallbacks []) cacheDir arch sourcesA sourcesB
        print (showXML "trump.xsl" (trumpedXML trumpMap))
+    where
+      showXML :: String -> CFilter -> Doc
+      showXML styleSheet = document . mkDocument styleSheet . cfilterToElem
+      -- cliff says this is broken with regards to cdata
+      cfilterToElem :: CFilter -> Element
+      cfilterToElem f = case f (CString False "") of
+                    [CElem e] -> xmlEscape stdXmlEscaper e
+                    []        -> error "RSS produced no output"
+                    _         -> error "RSS produced more than one output"
+      -- <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
+      mkDocument :: String -> Element -> Document
+      mkDocument styleSheet elem =
+          let xmlDecl = XMLDecl "1.0" (Just (EncodingDecl "utf-8")) (Just True)
+              prolog   = Prolog (Just xmlDecl)  [] Nothing [PI ("xml-stylesheet","type=\"text/xsl\" href=\""++styleSheet++"\"")]
+              symTable = []
+          in
+            Document prolog [] elem []
 
 -- * command-line helper functions
 
