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.0.3
+Version:        4.0.4
 License:        BSD3
 License-File:   debian/copyright
 Author:         David Fox <dsf@seereason.com>
@@ -12,122 +12,120 @@
 Extra-Source-Files:
   changelog
   debian/Debianize.hs
-  -- These files are omitted pending a fix for https://github.com/haskell/hackage-server/issues/171
-  -- You can get them from http://src.seereason.com/debian-tools.
-  -- test-data/creativeprompts/input/debian/changelog
-  -- test-data/creativeprompts/input/debian/copyright
-  -- test-data/creativeprompts/input/creativeprompts.cabal
-  -- test-data/creativeprompts/output/debian/creativeprompts-development.init
-  -- test-data/creativeprompts/output/debian/creativeprompts-development.logrotate
-  -- test-data/creativeprompts/output/debian/watch
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.logrotate
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.install
-  -- test-data/creativeprompts/output/debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.links
-  -- test-data/creativeprompts/output/debian/changelog
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.postinst
-  -- test-data/creativeprompts/output/debian/creativeprompts-backups.install
-  -- test-data/creativeprompts/output/debian/creativeprompts-development.postinst
-  -- test-data/creativeprompts/output/debian/creativeprompts-backups.postinst
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.dirs
-  -- test-data/creativeprompts/output/debian/rules
-  -- test-data/creativeprompts/output/debian/compat
-  -- test-data/creativeprompts/output/debian/source/format
-  -- test-data/creativeprompts/output/debian/control
-  -- test-data/creativeprompts/output/debian/creativeprompts-data.install
-  -- test-data/creativeprompts/output/debian/creativeprompts-production.init
-  -- test-data/creativeprompts/output/debian/copyright
-  -- test-data/clckwrks-dot-com/input/debian/changelog
-  -- test-data/clckwrks-dot-com/input/debian/Debianize.hs
-  -- test-data/clckwrks-dot-com/input/LICENSE
-  -- test-data/clckwrks-dot-com/input/clckwrks-dot-com.cabal
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.postinst
-  -- test-data/clckwrks-dot-com/output/debian/watch
-  -- test-data/clckwrks-dot-com/output/debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com
-  -- test-data/clckwrks-dot-com/output/debian/changelog
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.links
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.postinst
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.logrotate
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.install
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.install
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.init
-  -- test-data/clckwrks-dot-com/output/debian/Debianize.hs
-  -- test-data/clckwrks-dot-com/output/debian/rules
-  -- test-data/clckwrks-dot-com/output/debian/compat
-  -- test-data/clckwrks-dot-com/output/debian/source/format
-  -- test-data/clckwrks-dot-com/output/debian/control
-  -- test-data/clckwrks-dot-com/output/debian/copyright
-  -- test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.dirs
-  -- test-data/haskell-devscripts/debian/manpages
-  -- test-data/haskell-devscripts/debian/changelog
-  -- test-data/haskell-devscripts/debian/install
-  -- test-data/haskell-devscripts/debian/rules
-  -- test-data/haskell-devscripts/debian/compat
-  -- test-data/haskell-devscripts/debian/dirs
-  -- test-data/haskell-devscripts/debian/source/format
-  -- test-data/haskell-devscripts/debian/control
-  -- test-data/haskell-devscripts/debian/copyright
-  -- test-data/haskell-devscripts/debian/docs
-  -- test-data/alex/input/LICENSE
-  -- test-data/alex/input/alex.cabal
-  -- test-data/alex/output/debian/watch
-  -- test-data/alex/output/debian/alex.install
-  -- test-data/alex/output/debian/changelog
-  -- test-data/alex/output/debian/rules
-  -- test-data/alex/output/debian/compat
-  -- test-data/alex/output/debian/source/format
-  -- test-data/alex/output/debian/control
-  -- test-data/alex/output/debian/copyright
-  -- test-data/artvaluereport-data/input/debian/changelog
-  -- test-data/artvaluereport-data/input/artvaluereport-data.cabal
-  -- test-data/artvaluereport-data/input/Debianize.hs
-  -- test-data/artvaluereport-data/output/debian/watch
-  -- test-data/artvaluereport-data/output/debian/extra-depends
-  -- test-data/artvaluereport-data/output/debian/changelog
-  -- test-data/artvaluereport-data/output/debian/libghc-artvaluereport-data-doc.links
-  -- test-data/artvaluereport-data/output/debian/Debianize.hs
-  -- test-data/artvaluereport-data/output/debian/rules
-  -- test-data/artvaluereport-data/output/debian/compat
-  -- test-data/artvaluereport-data/output/debian/source/format
-  -- test-data/artvaluereport-data/output/debian/control
-  -- test-data/artvaluereport-data/output/debian/copyright
-  -- test-data/archive/input/debian/changelog
-  -- test-data/archive/input/debian/copyright
-  -- test-data/archive/input/seereason-darcs-backups.cabal
-  -- test-data/archive/output/debian/watch
-  -- test-data/archive/output/debian/changelog
-  -- test-data/archive/output/debian/rules
-  -- test-data/archive/output/debian/compat
-  -- test-data/archive/output/debian/control
-  -- test-data/archive/output/debian/seereason-darcs-backups.install
-  -- test-data/archive/output/debian/copyright
-  -- test-data/artvaluereport2/input/artvaluereport2.cabal
-  -- test-data/artvaluereport2/input/debian/changelog
-  -- test-data/artvaluereport2/input/debian/Debianize.hs
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-development.init
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-staging.postinst
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.postinst
-  -- test-data/artvaluereport2/output/debian/watch
-  -- test-data/artvaluereport2/output/debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-staging.install
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-staging.init
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.install
-  -- test-data/artvaluereport2/output/debian/changelog
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.logrotate
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.links
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-development.logrotate
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-backups.postinst
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-development.install
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-development.postinst
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-staging.logrotate
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.init
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-production.dirs
-  -- test-data/artvaluereport2/output/debian/rules
-  -- test-data/artvaluereport2/output/debian/compat
-  -- test-data/artvaluereport2/output/debian/appraisalscope.install
-  -- test-data/artvaluereport2/output/debian/control
-  -- test-data/artvaluereport2/output/debian/artvaluereport2-backups.install
-  -- test-data/artvaluereport2/output/debian/copyright
+  test-data/creativeprompts/input/debian/changelog
+  test-data/creativeprompts/input/debian/copyright
+  test-data/creativeprompts/input/creativeprompts.cabal
+  test-data/creativeprompts/output/debian/creativeprompts-development.init
+  test-data/creativeprompts/output/debian/creativeprompts-development.logrotate
+  test-data/creativeprompts/output/debian/watch
+  test-data/creativeprompts/output/debian/creativeprompts-production.logrotate
+  test-data/creativeprompts/output/debian/creativeprompts-production.install
+  test-data/creativeprompts/output/debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com
+  test-data/creativeprompts/output/debian/creativeprompts-production.links
+  test-data/creativeprompts/output/debian/changelog
+  test-data/creativeprompts/output/debian/creativeprompts-production.postinst
+  test-data/creativeprompts/output/debian/creativeprompts-backups.install
+  test-data/creativeprompts/output/debian/creativeprompts-development.postinst
+  test-data/creativeprompts/output/debian/creativeprompts-backups.postinst
+  test-data/creativeprompts/output/debian/creativeprompts-production.dirs
+  test-data/creativeprompts/output/debian/rules
+  test-data/creativeprompts/output/debian/compat
+  test-data/creativeprompts/output/debian/source/format
+  test-data/creativeprompts/output/debian/control
+  test-data/creativeprompts/output/debian/creativeprompts-data.install
+  test-data/creativeprompts/output/debian/creativeprompts-production.init
+  test-data/creativeprompts/output/debian/copyright
+  test-data/clckwrks-dot-com/input/debian/changelog
+  test-data/clckwrks-dot-com/input/debian/Debianize.hs
+  test-data/clckwrks-dot-com/input/LICENSE
+  test-data/clckwrks-dot-com/input/clckwrks-dot-com.cabal
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.postinst
+  test-data/clckwrks-dot-com/output/debian/watch
+  test-data/clckwrks-dot-com/output/debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com
+  test-data/clckwrks-dot-com/output/debian/changelog
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.links
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.postinst
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.logrotate
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.install
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.install
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.init
+  test-data/clckwrks-dot-com/output/debian/Debianize.hs
+  test-data/clckwrks-dot-com/output/debian/rules
+  test-data/clckwrks-dot-com/output/debian/compat
+  test-data/clckwrks-dot-com/output/debian/source/format
+  test-data/clckwrks-dot-com/output/debian/control
+  test-data/clckwrks-dot-com/output/debian/copyright
+  test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.dirs
+  test-data/haskell-devscripts/debian/manpages
+  test-data/haskell-devscripts/debian/changelog
+  test-data/haskell-devscripts/debian/install
+  test-data/haskell-devscripts/debian/rules
+  test-data/haskell-devscripts/debian/compat
+  test-data/haskell-devscripts/debian/dirs
+  test-data/haskell-devscripts/debian/source/format
+  test-data/haskell-devscripts/debian/control
+  test-data/haskell-devscripts/debian/copyright
+  test-data/haskell-devscripts/debian/docs
+  test-data/alex/input/LICENSE
+  test-data/alex/input/alex.cabal
+  test-data/alex/output/debian/watch
+  test-data/alex/output/debian/alex.install
+  test-data/alex/output/debian/changelog
+  test-data/alex/output/debian/rules
+  test-data/alex/output/debian/compat
+  test-data/alex/output/debian/source/format
+  test-data/alex/output/debian/control
+  test-data/alex/output/debian/copyright
+  test-data/artvaluereport-data/input/debian/changelog
+  test-data/artvaluereport-data/input/artvaluereport-data.cabal
+  test-data/artvaluereport-data/input/Debianize.hs
+  test-data/artvaluereport-data/output/debian/watch
+  test-data/artvaluereport-data/output/debian/extra-depends
+  test-data/artvaluereport-data/output/debian/changelog
+  test-data/artvaluereport-data/output/debian/libghc-artvaluereport-data-doc.links
+  test-data/artvaluereport-data/output/debian/Debianize.hs
+  test-data/artvaluereport-data/output/debian/rules
+  test-data/artvaluereport-data/output/debian/compat
+  test-data/artvaluereport-data/output/debian/source/format
+  test-data/artvaluereport-data/output/debian/control
+  test-data/artvaluereport-data/output/debian/copyright
+  test-data/archive/input/debian/changelog
+  test-data/archive/input/debian/copyright
+  test-data/archive/input/seereason-darcs-backups.cabal
+  test-data/archive/output/debian/watch
+  test-data/archive/output/debian/changelog
+  test-data/archive/output/debian/rules
+  test-data/archive/output/debian/compat
+  test-data/archive/output/debian/control
+  test-data/archive/output/debian/seereason-darcs-backups.install
+  test-data/archive/output/debian/copyright
+  test-data/artvaluereport2/input/artvaluereport2.cabal
+  test-data/artvaluereport2/input/debian/changelog
+  test-data/artvaluereport2/input/debian/Debianize.hs
+  test-data/artvaluereport2/output/debian/artvaluereport2-development.init
+  test-data/artvaluereport2/output/debian/artvaluereport2-staging.postinst
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.postinst
+  test-data/artvaluereport2/output/debian/watch
+  test-data/artvaluereport2/output/debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com
+  test-data/artvaluereport2/output/debian/artvaluereport2-staging.install
+  test-data/artvaluereport2/output/debian/artvaluereport2-staging.init
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.install
+  test-data/artvaluereport2/output/debian/changelog
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.logrotate
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.links
+  test-data/artvaluereport2/output/debian/artvaluereport2-development.logrotate
+  test-data/artvaluereport2/output/debian/artvaluereport2-backups.postinst
+  test-data/artvaluereport2/output/debian/artvaluereport2-development.install
+  test-data/artvaluereport2/output/debian/artvaluereport2-development.postinst
+  test-data/artvaluereport2/output/debian/artvaluereport2-staging.logrotate
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.init
+  test-data/artvaluereport2/output/debian/artvaluereport2-production.dirs
+  test-data/artvaluereport2/output/debian/rules
+  test-data/artvaluereport2/output/debian/compat
+  test-data/artvaluereport2/output/debian/appraisalscope.install
+  test-data/artvaluereport2/output/debian/control
+  test-data/artvaluereport2/output/debian/artvaluereport2-backups.install
+  test-data/artvaluereport2/output/debian/copyright
 
 Description:
  This package provides two methods for generating the debianization
diff --git a/test-data/alex/input/LICENSE b/test-data/alex/input/LICENSE
new file mode 100644
--- /dev/null
+++ b/test-data/alex/input/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 1995-2011, Chris Dornan and Simon Marlow
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of the copyright holders, nor the names of the
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/test-data/alex/input/alex.cabal b/test-data/alex/input/alex.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/alex/input/alex.cabal
@@ -0,0 +1,102 @@
+name: alex
+version: 3.0.2
+license: BSD3
+license-file: LICENSE
+copyright: (c) Chis Dornan, Simon Marlow
+author: Chris Dornan and Simon Marlow
+maintainer: Simon Marlow <marlowsd@gmail.com>
+bug-reports: mailto:marlowsd@gmail.com
+stability: stable
+homepage: http://www.haskell.org/alex/
+synopsis: Alex is a tool for generating lexical analysers in Haskell
+category: Development
+cabal-version: >= 1.6
+build-type: Custom
+
+extra-source-files:
+	ANNOUNCE
+	README
+	TODO
+	alex.spec
+	doc/Makefile
+	doc/aclocal.m4
+	doc/alex.1.in
+	doc/alex.xml
+	doc/config.mk.in
+	doc/configure.ac
+	doc/docbook-xml.mk
+	doc/fptools.css
+	examples/Makefile
+	examples/Tokens.x
+	examples/Tokens_gscan.x
+	examples/Tokens_posn.x
+	examples/examples.x
+	examples/haskell.x
+	examples/lit.x
+	examples/pp.x
+	examples/state.x
+	examples/tiny.y
+	examples/tkns.hs
+	examples/words.x
+	examples/words_monad.x
+	examples/words_posn.x
+	src/Parser.y
+	src/Scan.hs
+	src/ghc_hooks.c
+	templates/GenericTemplate.hs
+	templates/Makefile
+	templates/wrappers.hs
+	tests/Makefile
+	tests/simple.x
+	tests/tokens.x
+	tests/tokens_gscan.x
+	tests/tokens_posn.x
+        tests/tokens_bytestring.x
+        tests/tokens_posn_bytestring.x
+        tests/tokens_strict_bytestring.x
+        tests/unicode.x
+
+source-repository head
+    type:     git
+    location: https://github.com/simonmar/alex.git
+
+flag small_base
+  description: Choose the new smaller, split-up base package.
+
+executable alex
+  hs-source-dirs: src
+  main-is: Main.hs
+
+  if flag(small_base)
+    build-depends: base >= 2.1, array, containers, directory
+  else
+    build-depends: base >= 1.0
+
+  build-depends: base < 5
+  -- build-depends: Ranged-sets
+  build-depends: QuickCheck >=2
+
+  extensions: CPP
+  ghc-options: -Wall -rtsopts
+  other-modules:
+        AbsSyn
+        CharSet
+        DFA
+        DFAMin
+        DFS
+        Info
+        Main
+        Map
+        NFA
+        Output
+        Parser
+        ParseMonad
+        Scan
+        Set
+        Sort
+        Util
+        UTF8
+        Data.Ranged
+        Data.Ranged.Boundaries
+        Data.Ranged.RangedSet
+        Data.Ranged.Ranges
diff --git a/test-data/alex/output/debian/alex.install b/test-data/alex/output/debian/alex.install
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/alex.install
@@ -0,0 +1,15 @@
+AlexTemplate usr/share/alex/.
+AlexTemplate-debug usr/share/alex/.
+AlexTemplate-ghc usr/share/alex/.
+AlexTemplate-ghc-debug usr/share/alex/.
+AlexWrapper-basic usr/share/alex/.
+AlexWrapper-basic-bytestring usr/share/alex/.
+AlexWrapper-gscan usr/share/alex/.
+AlexWrapper-monad usr/share/alex/.
+AlexWrapper-monad-bytestring usr/share/alex/.
+AlexWrapper-monadUserState usr/share/alex/.
+AlexWrapper-monadUserState-bytestring usr/share/alex/.
+AlexWrapper-posn usr/share/alex/.
+AlexWrapper-posn-bytestring usr/share/alex/.
+AlexWrapper-strict-bytestring usr/share/alex/.
+dist-ghc/build/alex/alex usr/bin
diff --git a/test-data/alex/output/debian/changelog b/test-data/alex/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/changelog
@@ -0,0 +1,5 @@
+haskell-alex (3.0.2-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Simon Marlow <marlowsd@gmail.com>  Thu, 31 Jan 2013 10:51:47 -0800
diff --git a/test-data/alex/output/debian/compat b/test-data/alex/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/compat
@@ -0,0 +1,1 @@
+7
diff --git a/test-data/alex/output/debian/control b/test-data/alex/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/control
@@ -0,0 +1,46 @@
+Source: haskell-alex
+Priority: optional
+Section: haskell
+Maintainer: Simon Marlow <marlowsd@gmail.com>
+Build-Depends: debhelper (>= 7.0)
+               , haskell-devscripts (>= 0.8)
+               , cdbs
+               , ghc
+               , alex
+               , ghc-prof
+               , libghc-quickcheck2-dev (>= 2)
+               , libghc-quickcheck2-prof (>= 2)
+               , libghc-array-dev | ghc
+               , libghc-array-prof | ghc-prof
+               , libghc-base-dev (>= 2.1) | ghc
+               , libghc-base-dev (<< 5) | ghc
+               , libghc-base-prof (>= 2.1) | ghc-prof
+               , libghc-base-prof (<< 5) | ghc-prof
+               , libghc-containers-dev | ghc
+               , libghc-containers-prof | ghc-prof
+               , libghc-directory-dev | ghc
+               , libghc-directory-prof | ghc-prof
+Build-Depends-Indep: ghc-doc
+                     , libghc-quickcheck2-doc (>= 2)
+                     , libghc-array-doc | ghc-doc
+                     , libghc-base-doc (>= 2.1) | ghc-doc
+                     , libghc-base-doc (<< 5) | ghc-doc
+                     , libghc-containers-doc | ghc-doc
+                     , libghc-directory-doc | ghc-doc
+Standards-Version: 3.9.3
+Homepage: http://www.haskell.org/alex/
+
+Package: alex
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}
+        , ${haskell:Depends}
+        , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Alex is a tool for generating lexical analysers in Haskell
+ .
+ An executable built from the alex package.
diff --git a/test-data/alex/output/debian/copyright b/test-data/alex/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/copyright
@@ -0,0 +1,30 @@
+Copyright (c) 1995-2011, Chris Dornan and Simon Marlow
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of the copyright holders, nor the names of the
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/test-data/alex/output/debian/rules b/test-data/alex/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/rules
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = alex
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/alex:: build-ghc-stamp
diff --git a/test-data/alex/output/debian/source/format b/test-data/alex/output/debian/source/format
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (native)
diff --git a/test-data/alex/output/debian/watch b/test-data/alex/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/alex/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|alex-$1.tar.gz|" \
+    http://hackage.haskell.org/package/alex \
+    ([\d\.]*\d)/
diff --git a/test-data/archive/input/debian/changelog b/test-data/archive/input/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/archive/input/debian/changelog
@@ -0,0 +1,8 @@
+seereason-darcs-backups (0.9) unstable; urgency=low
+
+  * New package to pull backups of our darcs repositories from our server,
+    and eventually anything else which is precious and not otherwise
+    backed up.
+  * Debianization generated by cabal-debian
+
+ -- David Fox <dsf@seereason.com>  Sat, 23 Nov 2013 07:27:06 -0800
diff --git a/test-data/archive/input/debian/copyright b/test-data/archive/input/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/archive/input/debian/copyright
@@ -0,0 +1,4 @@
+This package is not part of the Debian GNU/Linux distribution.
+
+Copyright: (c) 2010-2011, SeeReason Partners LLC
+License: All Rights Reserved
diff --git a/test-data/archive/input/seereason-darcs-backups.cabal b/test-data/archive/input/seereason-darcs-backups.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/archive/input/seereason-darcs-backups.cabal
@@ -0,0 +1,20 @@
+Name:             seereason-darcs-backups
+Version:          0.9
+License:          AllRightsReserved
+License-File:     debian/copyright
+Copyright:        (c) 2010-2011, SeeReason Partners LLC
+Author:           SeeReason Partners <partners@seereason.com>
+Maintainer:       SeeReason Partners <partners@seereason.com>
+Synopsis:         Backups of the seereason darcs repositories
+Description:
+  Install this somewhere other than where the server is running get
+  automated backups of the database.
+Build-Type:       Custom
+Category:         Web, Language
+Cabal-version:    >= 1.2
+
+Executable seereason-darcs-backups
+ Main-Is: Backups.hs
+ GHC-Options: -threaded -Wall -Wwarn -O2 -fno-warn-name-shadowing -fno-warn-missing-signatures -fwarn-tabs -fno-warn-unused-binds -fno-warn-orphans -fwarn-unused-imports -fno-spec-constr
+ Build-depends: archive >= 1.7, base, Extra, network
+ 
diff --git a/test-data/archive/output/debian/changelog b/test-data/archive/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/changelog
@@ -0,0 +1,8 @@
+seereason-darcs-backups (0.9) unstable; urgency=low
+
+  * New package to pull backups of our darcs repositories from our server,
+    and eventually anything else which is precious and not otherwise
+    backed up.
+  * Debianization generated by cabal-debian
+
+ -- David Fox <dsf@seereason.com>  Sat, 23 Nov 2013 07:27:06 -0800
diff --git a/test-data/archive/output/debian/compat b/test-data/archive/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/compat
@@ -0,0 +1,1 @@
+5
diff --git a/test-data/archive/output/debian/control b/test-data/archive/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/control
@@ -0,0 +1,41 @@
+Source: seereason-darcs-backups
+Priority: optional
+Maintainer: David Fox <dsf@seereason.com>
+Section: haskell
+Build-Depends: debhelper (>= 7.0)
+               , haskell-devscripts (>= 0.8)
+               , cdbs
+               , ghc
+	       , ghc-prof
+               , libghc-extra-dev
+               , libghc-extra-prof
+               , libghc-archive-dev (>= 1.7)
+               , libghc-archive-prof (>= 1.7)
+               , libghc-base-dev | ghc
+               , libghc-base-prof | ghc-prof
+               , libghc-network-dev
+               , libghc-network-prof
+Build-Depends-Indep: ghc-doc
+                     , libghc-extra-doc
+                     , libghc-archive-doc (>= 1.7)
+                     , libghc-base-doc | ghc-doc
+                     , libghc-network-doc
+Standards-Version: 3.8.1
+
+Package: seereason-darcs-backups
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}, anacron
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Backups of the seereason darcs repositories
+ Install this somewhere other than where the server is running get
+ automated backups of the database.
+ .
+  Author: SeeReason Partners <partners@seereason.com>
+  Upstream-Maintainer: SeeReason Partners <partners@seereason.com>
+ .
+ Files associated with the seereason-darcs-backups package.
diff --git a/test-data/archive/output/debian/copyright b/test-data/archive/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/copyright
@@ -0,0 +1,4 @@
+This package is not part of the Debian GNU/Linux distribution.
+
+Copyright: (c) 2010-2011, SeeReason Partners LLC
+License: All Rights Reserved
diff --git a/test-data/archive/output/debian/rules b/test-data/archive/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/rules
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = seereason-darcs-backups
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/seereason-darcs-backups:: build-ghc-stamp
diff --git a/test-data/archive/output/debian/seereason-darcs-backups.install b/test-data/archive/output/debian/seereason-darcs-backups.install
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/seereason-darcs-backups.install
@@ -0,0 +1,1 @@
+dist-ghc/build/seereason-darcs-backups/seereason-darcs-backups /etc/cron.hourly
diff --git a/test-data/archive/output/debian/watch b/test-data/archive/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/archive/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|seereason-darcs-backups-$1.tar.gz|" \
+    http://hackage.haskell.org/package/seereason-darcs-backups \
+    ([\d\.]*\d)/
diff --git a/test-data/artvaluereport-data/input/Debianize.hs b/test-data/artvaluereport-data/input/Debianize.hs
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/input/Debianize.hs
@@ -0,0 +1,5 @@
+import Distribution.Debian
+
+main :: IO ()
+main = debianize (Config { flags = defaultFlags {buildDeps = ["haskell-hsx-utils"] ++ buildDeps defaultFlags}
+                         , modifyAtoms = id })
diff --git a/test-data/artvaluereport-data/input/artvaluereport-data.cabal b/test-data/artvaluereport-data/input/artvaluereport-data.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/input/artvaluereport-data.cabal
@@ -0,0 +1,121 @@
+Name:           artvaluereport-data
+Version:        1.66.1
+License:        AllRightsReserved
+Copyright:      (c) 2008-2011, SeeReason Partners LLC
+Author:         David Fox <dsf@seereason.com>
+Maintainer:     David Fox <dsf@seereason.com>
+Homepage:       http://artvaluereport.com
+Synopsis:       Data structures used by the fine art appraisal application
+Description:    Data structures used by the fine art appraisal application
+Cabal-version:  >= 1.2.3.0
+build-type:     Custom
+
+Library
+  GHC-Options: -Wall -fno-warn-name-shadowing
+  -- CPP-Options: -DLAZYIMAGES
+  Extensions: CPP
+  Exposed-modules: Appraisal.Config
+                   Appraisal.Image
+                   Appraisal.Report
+                   Appraisal.Report.Archive
+                   Appraisal.Report.BoilerPlate
+                   Appraisal.Report.IO
+                   Appraisal.Report.Item
+                   Appraisal.Report.LaTeX
+                   Appraisal.Report.Twins
+                   Appraisal.Report.Wiki
+                   Appraisal.ReportStore
+                   Appraisal.Permissions
+                   Appraisal.State
+                   Appraisal.Types
+                   Appraisal.WebConf
+                   Document.CIString
+                   Document.Classes
+                   Document.FormText
+                   Document.HaXml
+                   Document.IsText
+                   Document.LaTeX
+                   Document.Markdown
+                   Document.Unicode
+                   Document.Wiki
+                   Extra.Currency
+                   Extra.File
+                   Extra.Html
+                   Extra.Image
+                   Extra.ImageFile
+                   Extra.LaTeX
+                   Extra.List
+                   Extra.Simplify
+                   Extra.Text
+                   Extra.Trace
+                   Extra.Unicode
+                   Happstack.Server.Account
+                   Happstack.Server.Formlets
+                   Happstack.Server.Session
+                   Logger
+                   State
+                   Types.Account
+                   Types.Session
+                   Appraisal.Data.UUID
+                   Appraisal.Data.UUID.V1
+                   Appraisal.Data.UUID.V3
+                   Appraisal.Data.UUID.V4
+                   Appraisal.Data.UUID.V5
+  Other-Modules:
+        Appraisal.Data.UUID.Builder,
+        Appraisal.Data.UUID.Internal,
+        Appraisal.Data.UUID.Named
+
+  Build-Depends:
+        acid-state,
+        applicative-extras,
+        base,
+        binary,
+        bytestring,
+        cabal-debian,
+        cereal,
+        containers,
+        cryptohash >= 0.7,
+        debian >= 3.67,
+        directory,
+        Extra,
+        filepath,
+        formlets,
+        happstack-extra,
+        happstack-hsp,
+        happstack-server,
+        happstack-util,
+        HaTeX >= 3.4,
+        HaXml >= 1.22.5,
+        hslogger,
+        hsp,
+        hsx,
+        html-entities >= 1.3,
+        HUnit,
+        ixset,
+        ListLike,
+        listlike-instances,
+        maccatcher,
+        mtl,
+        network >= 2.4,
+        old-time,
+        pandoc,
+        pandoc-types,
+        parsec,
+        process,
+        process-extras >= 0.6,
+        process-progress,
+        pureMD5,
+        random,
+        regex-compat,
+        revision >= 0.8,
+        RJson,
+        safecopy,
+        syb,
+        syb-with-class,
+        text,
+        time,
+        unix,
+        Unixutils >= 1.50,
+        utf8-string,
+        xhtml
diff --git a/test-data/artvaluereport-data/input/debian/changelog b/test-data/artvaluereport-data/input/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/input/debian/changelog
@@ -0,0 +1,386 @@
+haskell-artvaluereport-data (1.67) unstable; urgency=low
+
+  * Add fromEpochMilli and showEpochMilli to module State.
+
+ -- David Fox <dsf@seereason.com>  Fri, 25 Jan 2013 15:13:22 -0800
+
+haskell-artvaluereport-data (1.66.2) unstable; urgency=low
+
+  * Fix a place where [Client] wasn't getting expanded
+  * Make sure there's a blank line after "Dear so-and-so"
+
+ -- David Fox <dsf@seereason.com>  Fri, 18 Jan 2013 13:57:53 -0800
+
+haskell-artvaluereport-data (1.66.1) unstable; urgency=low
+
+  * Change the latex command to pdflatex.
+
+ -- David Fox <dsf@seereason.com>  Mon, 17 Dec 2012 11:54:23 -0800
+
+haskell-artvaluereport-data (1.66) unstable; urgency=low
+
+  * New image processing primitives: imageIO replaced by updateOriginal,
+    modifyOriginal, updateDerived, and modifyDerived.
+
+ -- David Fox <dsf@seereason.com>  Sat, 15 Dec 2012 12:29:18 -0800
+
+haskell-artvaluereport-data (1.65.1) unstable; urgency=low
+
+  * Don't filter blank lines out of the address block
+  * Migration to merge some items in a particular report
+
+ -- David Fox <dsf@seereason.com>  Wed, 12 Dec 2012 09:37:30 -0800
+
+haskell-artvaluereport-data (1.65) unstable; urgency=low
+
+  * Rework the LaTeX generation.
+
+ -- David Fox <dsf@seereason.com>  Thu, 06 Dec 2012 09:37:23 -0800
+
+haskell-artvaluereport-data (1.64.3) unstable; urgency=low
+
+  * Remove extra caption on Appraised Item Summary, make total label
+    left justified and bold.
+
+ -- David Fox <dsf@seereason.com>  Sat, 01 Dec 2012 08:45:38 -0800
+
+haskell-artvaluereport-data (1.64.2) unstable; urgency=low
+
+  * Rework the Appaised Item Summary table.
+
+ -- David Fox <dsf@seereason.com>  Sat, 01 Dec 2012 07:15:51 -0800
+
+haskell-artvaluereport-data (1.64.1) unstable; urgency=low
+
+  * Move the modules from haskell-debian into this package.
+
+ -- David Fox <dsf@seereason.com>  Fri, 30 Nov 2012 13:34:22 -0800
+
+haskell-artvaluereport-data (1.64) unstable; urgency=low
+
+  * Move sortElems to Appraisal.Types and export.
+
+ -- David Fox <dsf@seereason.com>  Fri, 30 Nov 2012 06:47:30 -0800
+
+haskell-artvaluereport-data (1.63.5) unstable; urgency=low
+
+  * Supply a case for new ReportIntendedUse constructor
+  * Don't allow warnings in Appraisal.Types
+  * Remove -O0 flag from Appraisal.Types.
+
+ -- David Fox <dsf@seereason.com>  Mon, 26 Nov 2012 10:30:00 -0800
+
+haskell-artvaluereport-data (1.63.4) unstable; urgency=low
+
+  * Use cabal-debian for packaging.
+
+ -- David Fox <dsf@seereason.com>  Sun, 18 Nov 2012 15:51:26 -0800
+
+haskell-artvaluereport-data (1.63.3) unstable; urgency=low
+
+  * Increase width of left column on item pages
+
+ -- David Fox <dsf@seereason.com>  Fri, 16 Nov 2012 10:18:50 -0800
+
+haskell-artvaluereport-data (1.63.2) unstable; urgency=low
+
+  * Sort the item entries in the generated PDF by Item Number.
+
+ -- David Fox <dsf@seereason.com>  Wed, 14 Nov 2012 13:28:56 -0800
+
+haskell-artvaluereport-data (1.63.1) unstable; urgency=low
+
+  * A migration to update some report permissions, soon we will have
+    a UI for this purpose.
+
+ -- David Fox <dsf@seereason.com>  Mon, 12 Nov 2012 13:11:41 -0800
+
+haskell-artvaluereport-data (1.63) unstable; urgency=low
+
+  * Add an EstateTax constructor to ReportIntendedUse.
+
+ -- David Fox <dsf@seereason.com>  Mon, 05 Nov 2012 12:01:23 -0800
+
+haskell-artvaluereport-data (1.62) unstable; urgency=low
+
+  * Another migration was necessary after all.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 20 Oct 2012 11:20:18 -0700
+
+haskell-artvaluereport-data (1.61) unstable; urgency=low
+
+  * Hide Item AdditionalNotes field from the report generation, as it used
+    to be. This migration should have removed constructors from
+    ItemFieldName. The decision to leave them in was a mistake, but I'll
+    wait until the next migration to fix it.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 19 Oct 2012 12:49:09 -0700
+
+haskell-artvaluereport-data (1.60) unstable; urgency=low
+
+  * Bug 452: add Edition field to Item after Condition.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 18 Oct 2012 17:02:13 -0700
+
+haskell-artvaluereport-data (1.59) unstable; urgency=low
+
+  * turn on LAZYIMAGES
+
+ -- David Fox <dsf@seereason.com>  Sat, 13 Oct 2012 10:27:11 -0700
+
+haskell-artvaluereport-data (1.58) unstable; urgency=low
+
+  * Remove the local copies of the readProcess functions.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 13:54:55 -0700
+
+haskell-artvaluereport-data (1.57) unstable; urgency=low
+
+  * Add ifdefs to control whether we are using lazy or strict readProcess
+    functions, set it to Lazy for now.  Still using the local copies
+    of the readProcess functions, can switch to process-extras soon.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 13:51:41 -0700
+
+haskell-artvaluereport-data (1.56) unstable; urgency=low
+
+  * Make all the uses of readProcess and readProcessWithExitCode
+    the non-lazy versions.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 06:06:48 -0700
+
+haskell-artvaluereport-data (1.55) unstable; urgency=low
+
+  * Use the Paths class in the File and ImageFile modules.
+
+ -- David Fox <dsf@seereason.com>  Mon, 08 Oct 2012 13:20:12 -0700
+
+haskell-artvaluereport-data (1.54) unstable; urgency=low
+
+  * Move the FileCache modules into this package.
+  * Eliminate newdata and Default instances.
+
+ -- David Fox <dsf@seereason.com>  Sun, 07 Oct 2012 08:11:09 -0700
+
+haskell-artvaluereport-data (1.53.1) unstable; urgency=low
+
+  * Add a PadsMonad class which provides the functionality of
+    class Paths in a monad.
+
+ -- David Fox <dsf@seereason.com>  Sat, 06 Oct 2012 16:53:28 -0700
+
+haskell-artvaluereport-data (1.53) unstable; urgency=low
+
+  * Merge Appraisal.Paths into Appraisal.Config
+  * Clean up path handling: Replace all AVRVersion arguments with
+    arguments that are an instance of Paths.
+
+ -- David Fox <dsf@seereason.com>  Sat, 06 Oct 2012 08:37:09 -0700
+
+haskell-artvaluereport-data (1.52) unstable; urgency=low
+
+  * Add /reports/ to the report path.
+
+ -- David Fox <dsf@seereason.com>  Fri, 05 Oct 2012 05:23:15 -0700
+
+haskell-artvaluereport-data (1.51) unstable; urgency=low
+
+  * Add a UUID field which will serve as a permenant identifier for the
+    report across all the servers we might create to handle these reports.
+  * Add report archiving and unarchiving.
+  * Add an event to replace a report by UUID number.
+
+ -- David Fox <dsf@seereason.com>  Sat, 29 Sep 2012 06:45:10 -0700
+
+haskell-artvaluereport-data (1.50) unstable; urgency=low
+
+  * All new names for the path description variables in Appraisal.Config.
+
+ -- David Fox <dsf@seereason.com>  Tue, 25 Sep 2012 10:52:45 -0700
+
+haskell-artvaluereport-data (1.49) unstable; urgency=low
+
+  * Add a copy of the uuid package so we can give UUID a complete Data
+    instance.  Eventually I may have to make a uuid-data package which
+    is a wrapper around the UUID type with that instance.
+
+ -- David Fox <dsf@seereason.com>  Fri, 21 Sep 2012 08:23:56 -0700
+
+haskell-artvaluereport-data (1.48) unstable; urgency=low
+
+  * Add a UUID field to Report, and a status field that says whether the
+    report is in an Archived state.  By "Archived" we mean that a file has
+    been downloaded to elsewhere that is assumed to contain the
+    authoritative report data.
+
+ -- David Fox <dsf@seereason.com>  Thu, 20 Sep 2012 11:20:28 -0700
+
+haskell-artvaluereport-data (1.47) unstable; urgency=low
+
+  * Strip ^M from latex text.
+
+ -- David Fox <dsf@seereason.com>  Wed, 05 Sep 2012 16:20:23 -0700
+
+haskell-artvaluereport-data (1.46) unstable; urgency=low
+
+  * Change signature of Appraisal.Image.updateOriginal - the
+    second argument was URI, now Either URI L.ByteString.
+
+ -- David Fox <dsf@seereason.com>  Mon, 16 Jul 2012 13:09:25 -0700
+
+haskell-artvaluereport-data (1.45) unstable; urgency=low
+
+  * Changes for building AVR1.
+
+ -- David Fox <dsf@seereason.com>  Sat, 14 Jul 2012 14:33:51 -0700
+
+haskell-artvaluereport-data (1.44) unstable; urgency=low
+
+  * Add a Appraisal.Paths module with a class that manages file locations.
+
+ -- David Fox <dsf@seereason.com>  Fri, 13 Jul 2012 11:04:12 -0700
+
+haskell-artvaluereport-data (1.43) unstable; urgency=low
+
+  * Export imageIO.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 01:41:18 -0700
+
+haskell-artvaluereport-data (1.42) unstable; urgency=low
+
+  * Fix the paths generated for AVR2 by reportPath and updateLogo.
+
+ -- David Fox <dsf@seereason.com>  Wed, 11 Jul 2012 10:04:05 -0700
+
+haskell-artvaluereport-data (1.41) unstable; urgency=low
+
+  * Add a reportBranding field to the Report type to control the
+    logo and other branding features.
+
+ -- David Fox <dsf@seereason.com>  Mon, 25 Jun 2012 10:31:04 -0700
+
+haskell-artvaluereport-data (1.40) unstable; urgency=low
+
+  * Changes to make LaTeX output more compact.
+
+ -- David Fox <dsf@seereason.com>  Tue, 19 Jun 2012 09:20:12 -0700
+
+haskell-artvaluereport-data (1.39) unstable; urgency=low
+
+  * Fix a buggy SafeCopy instance in Happstack.Server.Account.
+
+ -- David Fox <dsf@seereason.com>  Fri, 08 Jun 2012 09:08:16 -0700
+
+haskell-artvaluereport-data (1.38) unstable; urgency=low
+
+  * Remove signature from Privacy Policy.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 29 May 2012 11:49:02 -0700
+
+haskell-artvaluereport-data (1.37) unstable; urgency=low
+
+  * Add an AVRVersion argument where necessary to control generation of
+    pathnames.
+  * Make the loge byte string a parameter.
+
+ -- David Fox <dsf@seereason.com>  Tue, 01 May 2012 12:46:54 -0700
+
+haskell-artvaluereport-data (1.36) unstable; urgency=low
+
+  * Modify WebConf to match what we now use in avr2 - replaces parameters
+    "store", "home", "cache" with just one called "top".
+  * Don't die when we have a bad image url in an image struct, just do
+    nothing and enter a log message.
+
+ -- David Fox <dsf@seereason.com>  Mon, 02 Apr 2012 11:52:00 -0700
+
+haskell-artvaluereport-data (1.35) unstable; urgency=low
+
+  * Replace use of lazyCommand with enhanced readCommandWithExitCode from
+    Unixutils.
+
+ -- David Fox <dsf@seereason.com>  Sun, 25 Mar 2012 07:16:15 -0700
+
+haskell-artvaluereport-data (1.34) unstable; urgency=low
+
+  * Migrate the Permissions type from storing Usernames to define which users can
+    see a report to storing UserIds.  This closes a serious security hole.
+
+ -- David Fox <dsf@seereason.com>  Mon, 12 Mar 2012 10:42:12 -0700
+
+haskell-artvaluereport-data (1.33) unstable; urgency=low
+
+  * Remove the leading slash from the result of the reportURI and reportBase and
+    reportPath functions in Appraisal.Types.
+
+ -- David Fox <dsf@seereason.com>  Thu, 08 Mar 2012 09:36:15 -0800
+
+haskell-artvaluereport-data (1.32) unstable; urgency=low
+
+  * Export Appraisal.Types.reportBase
+
+ -- David Fox <dsf@seereason.com>  Tue, 06 Mar 2012 17:22:01 -0800
+
+haskell-artvaluereport-data (1.31) unstable; urgency=low
+
+  * Migrate old report record to new.  This replaces the old reportClient
+    field with reportClientName and reportClientAddress.  It leaves two
+    fields that are not used by the new report generator: reportFolder and
+    revisionInfo.
+
+ -- David Fox <dsf@seereason.com>  Tue, 06 Mar 2012 14:49:40 -0800
+
+haskell-artvaluereport-data (1.30) unstable; urgency=low
+
+  * Improve formatting of Appraised Item List
+
+ -- David Fox <dsf@seereason.com>  Thu, 09 Feb 2012 17:09:16 -0800
+
+haskell-artvaluereport-data (1.29) unstable; urgency=low
+
+  * Remove dependencies on happstack-state
+  * Remove version numbers from some module names
+  * Rename deb packages
+
+ -- David Fox <dsf@seereason.com>  Tue, 07 Feb 2012 06:36:44 -0800
+
+haskell-appraisal-data (1.28) unstable; urgency=low
+
+  * Move Appraisal.Permissions into artvaluereport package to avoid
+    dependency hereon happstack-state.
+
+ -- David Fox <dsf@seereason.com>  Mon, 30 Jan 2012 16:16:15 -0800
+
+haskell-appraisal-data (1.27) unstable; urgency=low
+
+  * Add an interface to change IntendedUse.
+
+ -- David Fox <dsf@seereason.com>  Thu, 05 Jan 2012 20:45:40 -0800
+
+haskell-appraisal-data (1.26) unstable; urgency=low
+
+  * Make the abbreviations "ValueType", "ValueTypeDescription",
+    "ValueTypeLongDescription", and "ValueApproachExplanation" override
+    the values stored in the report's reportValueTypeInfo field if they
+    are available.
+
+ -- David Fox <dsf@seereason.com>  Thu, 05 Jan 2012 10:11:04 -0800
+
+haskell-appraisal-data (1.25) unstable; urgency=low
+
+  * Export module Report2.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 08 Dec 2011 12:16:56 -0800
+
+haskell-appraisal-data (1.24) unstable; urgency=low
+
+  * Add safecopy instances.
+
+ -- David Fox <dsf@seereason.com>  Sat, 19 Nov 2011 07:23:19 -0800
+
+haskell-appraisal-data (1.23-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- David Fox <dsf@seereason.com>  Fri, 18 Nov 2011 09:23:34 -0800
+
diff --git a/test-data/artvaluereport-data/output/debian/Debianize.hs b/test-data/artvaluereport-data/output/debian/Debianize.hs
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/Debianize.hs
@@ -0,0 +1,5 @@
+import Distribution.Debian
+
+main :: IO ()
+main = debianize (Config { flags = defaultFlags {buildDeps = ["haskell-hsx-utils"] ++ buildDeps defaultFlags}
+                         , modifyAtoms = id })
diff --git a/test-data/artvaluereport-data/output/debian/changelog b/test-data/artvaluereport-data/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/changelog
@@ -0,0 +1,372 @@
+haskell-artvaluereport-data (1.66.1) unstable; urgency=low
+
+  * Change the latex command to pdflatex.
+
+ -- David Fox <dsf@seereason.com>  Mon, 17 Dec 2012 11:54:23 -0800
+
+haskell-artvaluereport-data (1.66) unstable; urgency=low
+
+  * New image processing primitives: imageIO replaced by updateOriginal,
+    modifyOriginal, updateDerived, and modifyDerived.
+
+ -- David Fox <dsf@seereason.com>  Sat, 15 Dec 2012 12:29:18 -0800
+
+haskell-artvaluereport-data (1.65.1) unstable; urgency=low
+
+  * Don't filter blank lines out of the address block
+  * Migration to merge some items in a particular report
+
+ -- David Fox <dsf@seereason.com>  Wed, 12 Dec 2012 09:37:30 -0800
+
+haskell-artvaluereport-data (1.65) unstable; urgency=low
+
+  * Rework the LaTeX generation.
+
+ -- David Fox <dsf@seereason.com>  Thu, 06 Dec 2012 09:37:23 -0800
+
+haskell-artvaluereport-data (1.64.3) unstable; urgency=low
+
+  * Remove extra caption on Appraised Item Summary, make total label
+    left justified and bold.
+
+ -- David Fox <dsf@seereason.com>  Sat, 01 Dec 2012 08:45:38 -0800
+
+haskell-artvaluereport-data (1.64.2) unstable; urgency=low
+
+  * Rework the Appaised Item Summary table.
+
+ -- David Fox <dsf@seereason.com>  Sat, 01 Dec 2012 07:15:51 -0800
+
+haskell-artvaluereport-data (1.64.1) unstable; urgency=low
+
+  * Move the modules from haskell-debian into this package.
+
+ -- David Fox <dsf@seereason.com>  Fri, 30 Nov 2012 13:34:22 -0800
+
+haskell-artvaluereport-data (1.64) unstable; urgency=low
+
+  * Move sortElems to Appraisal.Types and export.
+
+ -- David Fox <dsf@seereason.com>  Fri, 30 Nov 2012 06:47:30 -0800
+
+haskell-artvaluereport-data (1.63.5) unstable; urgency=low
+
+  * Supply a case for new ReportIntendedUse constructor
+  * Don't allow warnings in Appraisal.Types
+  * Remove -O0 flag from Appraisal.Types.
+
+ -- David Fox <dsf@seereason.com>  Mon, 26 Nov 2012 10:30:00 -0800
+
+haskell-artvaluereport-data (1.63.4) unstable; urgency=low
+
+  * Use cabal-debian for packaging.
+
+ -- David Fox <dsf@seereason.com>  Sun, 18 Nov 2012 15:51:26 -0800
+
+haskell-artvaluereport-data (1.63.3) unstable; urgency=low
+
+  * Increase width of left column on item pages
+
+ -- David Fox <dsf@seereason.com>  Fri, 16 Nov 2012 10:18:50 -0800
+
+haskell-artvaluereport-data (1.63.2) unstable; urgency=low
+
+  * Sort the item entries in the generated PDF by Item Number.
+
+ -- David Fox <dsf@seereason.com>  Wed, 14 Nov 2012 13:28:56 -0800
+
+haskell-artvaluereport-data (1.63.1) unstable; urgency=low
+
+  * A migration to update some report permissions, soon we will have
+    a UI for this purpose.
+
+ -- David Fox <dsf@seereason.com>  Mon, 12 Nov 2012 13:11:41 -0800
+
+haskell-artvaluereport-data (1.63) unstable; urgency=low
+
+  * Add an EstateTax constructor to ReportIntendedUse.
+
+ -- David Fox <dsf@seereason.com>  Mon, 05 Nov 2012 12:01:23 -0800
+
+haskell-artvaluereport-data (1.62) unstable; urgency=low
+
+  * Another migration was necessary after all.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 20 Oct 2012 11:20:18 -0700
+
+haskell-artvaluereport-data (1.61) unstable; urgency=low
+
+  * Hide Item AdditionalNotes field from the report generation, as it used
+    to be. This migration should have removed constructors from
+    ItemFieldName. The decision to leave them in was a mistake, but I'll
+    wait until the next migration to fix it.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 19 Oct 2012 12:49:09 -0700
+
+haskell-artvaluereport-data (1.60) unstable; urgency=low
+
+  * Bug 452: add Edition field to Item after Condition.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 18 Oct 2012 17:02:13 -0700
+
+haskell-artvaluereport-data (1.59) unstable; urgency=low
+
+  * turn on LAZYIMAGES
+
+ -- David Fox <dsf@seereason.com>  Sat, 13 Oct 2012 10:27:11 -0700
+
+haskell-artvaluereport-data (1.58) unstable; urgency=low
+
+  * Remove the local copies of the readProcess functions.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 13:54:55 -0700
+
+haskell-artvaluereport-data (1.57) unstable; urgency=low
+
+  * Add ifdefs to control whether we are using lazy or strict readProcess
+    functions, set it to Lazy for now.  Still using the local copies
+    of the readProcess functions, can switch to process-extras soon.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 13:51:41 -0700
+
+haskell-artvaluereport-data (1.56) unstable; urgency=low
+
+  * Make all the uses of readProcess and readProcessWithExitCode
+    the non-lazy versions.
+
+ -- David Fox <dsf@seereason.com>  Thu, 11 Oct 2012 06:06:48 -0700
+
+haskell-artvaluereport-data (1.55) unstable; urgency=low
+
+  * Use the Paths class in the File and ImageFile modules.
+
+ -- David Fox <dsf@seereason.com>  Mon, 08 Oct 2012 13:20:12 -0700
+
+haskell-artvaluereport-data (1.54) unstable; urgency=low
+
+  * Move the FileCache modules into this package.
+  * Eliminate newdata and Default instances.
+
+ -- David Fox <dsf@seereason.com>  Sun, 07 Oct 2012 08:11:09 -0700
+
+haskell-artvaluereport-data (1.53.1) unstable; urgency=low
+
+  * Add a PadsMonad class which provides the functionality of
+    class Paths in a monad.
+
+ -- David Fox <dsf@seereason.com>  Sat, 06 Oct 2012 16:53:28 -0700
+
+haskell-artvaluereport-data (1.53) unstable; urgency=low
+
+  * Merge Appraisal.Paths into Appraisal.Config
+  * Clean up path handling: Replace all AVRVersion arguments with
+    arguments that are an instance of Paths.
+
+ -- David Fox <dsf@seereason.com>  Sat, 06 Oct 2012 08:37:09 -0700
+
+haskell-artvaluereport-data (1.52) unstable; urgency=low
+
+  * Add /reports/ to the report path.
+
+ -- David Fox <dsf@seereason.com>  Fri, 05 Oct 2012 05:23:15 -0700
+
+haskell-artvaluereport-data (1.51) unstable; urgency=low
+
+  * Add a UUID field which will serve as a permenant identifier for the
+    report across all the servers we might create to handle these reports.
+  * Add report archiving and unarchiving.
+  * Add an event to replace a report by UUID number.
+
+ -- David Fox <dsf@seereason.com>  Sat, 29 Sep 2012 06:45:10 -0700
+
+haskell-artvaluereport-data (1.50) unstable; urgency=low
+
+  * All new names for the path description variables in Appraisal.Config.
+
+ -- David Fox <dsf@seereason.com>  Tue, 25 Sep 2012 10:52:45 -0700
+
+haskell-artvaluereport-data (1.49) unstable; urgency=low
+
+  * Add a copy of the uuid package so we can give UUID a complete Data
+    instance.  Eventually I may have to make a uuid-data package which
+    is a wrapper around the UUID type with that instance.
+
+ -- David Fox <dsf@seereason.com>  Fri, 21 Sep 2012 08:23:56 -0700
+
+haskell-artvaluereport-data (1.48) unstable; urgency=low
+
+  * Add a UUID field to Report, and a status field that says whether the
+    report is in an Archived state.  By "Archived" we mean that a file has
+    been downloaded to elsewhere that is assumed to contain the
+    authoritative report data.
+
+ -- David Fox <dsf@seereason.com>  Thu, 20 Sep 2012 11:20:28 -0700
+
+haskell-artvaluereport-data (1.47) unstable; urgency=low
+
+  * Strip ^M from latex text.
+
+ -- David Fox <dsf@seereason.com>  Wed, 05 Sep 2012 16:20:23 -0700
+
+haskell-artvaluereport-data (1.46) unstable; urgency=low
+
+  * Change signature of Appraisal.Image.updateOriginal - the
+    second argument was URI, now Either URI L.ByteString.
+
+ -- David Fox <dsf@seereason.com>  Mon, 16 Jul 2012 13:09:25 -0700
+
+haskell-artvaluereport-data (1.45) unstable; urgency=low
+
+  * Changes for building AVR1.
+
+ -- David Fox <dsf@seereason.com>  Sat, 14 Jul 2012 14:33:51 -0700
+
+haskell-artvaluereport-data (1.44) unstable; urgency=low
+
+  * Add a Appraisal.Paths module with a class that manages file locations.
+
+ -- David Fox <dsf@seereason.com>  Fri, 13 Jul 2012 11:04:12 -0700
+
+haskell-artvaluereport-data (1.43) unstable; urgency=low
+
+  * Export imageIO.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 01:41:18 -0700
+
+haskell-artvaluereport-data (1.42) unstable; urgency=low
+
+  * Fix the paths generated for AVR2 by reportPath and updateLogo.
+
+ -- David Fox <dsf@seereason.com>  Wed, 11 Jul 2012 10:04:05 -0700
+
+haskell-artvaluereport-data (1.41) unstable; urgency=low
+
+  * Add a reportBranding field to the Report type to control the
+    logo and other branding features.
+
+ -- David Fox <dsf@seereason.com>  Mon, 25 Jun 2012 10:31:04 -0700
+
+haskell-artvaluereport-data (1.40) unstable; urgency=low
+
+  * Changes to make LaTeX output more compact.
+
+ -- David Fox <dsf@seereason.com>  Tue, 19 Jun 2012 09:20:12 -0700
+
+haskell-artvaluereport-data (1.39) unstable; urgency=low
+
+  * Fix a buggy SafeCopy instance in Happstack.Server.Account.
+
+ -- David Fox <dsf@seereason.com>  Fri, 08 Jun 2012 09:08:16 -0700
+
+haskell-artvaluereport-data (1.38) unstable; urgency=low
+
+  * Remove signature from Privacy Policy.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 29 May 2012 11:49:02 -0700
+
+haskell-artvaluereport-data (1.37) unstable; urgency=low
+
+  * Add an AVRVersion argument where necessary to control generation of
+    pathnames.
+  * Make the loge byte string a parameter.
+
+ -- David Fox <dsf@seereason.com>  Tue, 01 May 2012 12:46:54 -0700
+
+haskell-artvaluereport-data (1.36) unstable; urgency=low
+
+  * Modify WebConf to match what we now use in avr2 - replaces parameters
+    "store", "home", "cache" with just one called "top".
+  * Don't die when we have a bad image url in an image struct, just do
+    nothing and enter a log message.
+
+ -- David Fox <dsf@seereason.com>  Mon, 02 Apr 2012 11:52:00 -0700
+
+haskell-artvaluereport-data (1.35) unstable; urgency=low
+
+  * Replace use of lazyCommand with enhanced readCommandWithExitCode from
+    Unixutils.
+
+ -- David Fox <dsf@seereason.com>  Sun, 25 Mar 2012 07:16:15 -0700
+
+haskell-artvaluereport-data (1.34) unstable; urgency=low
+
+  * Migrate the Permissions type from storing Usernames to define which users can
+    see a report to storing UserIds.  This closes a serious security hole.
+
+ -- David Fox <dsf@seereason.com>  Mon, 12 Mar 2012 10:42:12 -0700
+
+haskell-artvaluereport-data (1.33) unstable; urgency=low
+
+  * Remove the leading slash from the result of the reportURI and reportBase and
+    reportPath functions in Appraisal.Types.
+
+ -- David Fox <dsf@seereason.com>  Thu, 08 Mar 2012 09:36:15 -0800
+
+haskell-artvaluereport-data (1.32) unstable; urgency=low
+
+  * Export Appraisal.Types.reportBase
+
+ -- David Fox <dsf@seereason.com>  Tue, 06 Mar 2012 17:22:01 -0800
+
+haskell-artvaluereport-data (1.31) unstable; urgency=low
+
+  * Migrate old report record to new.  This replaces the old reportClient
+    field with reportClientName and reportClientAddress.  It leaves two
+    fields that are not used by the new report generator: reportFolder and
+    revisionInfo.
+
+ -- David Fox <dsf@seereason.com>  Tue, 06 Mar 2012 14:49:40 -0800
+
+haskell-artvaluereport-data (1.30) unstable; urgency=low
+
+  * Improve formatting of Appraised Item List
+
+ -- David Fox <dsf@seereason.com>  Thu, 09 Feb 2012 17:09:16 -0800
+
+haskell-artvaluereport-data (1.29) unstable; urgency=low
+
+  * Remove dependencies on happstack-state
+  * Remove version numbers from some module names
+  * Rename deb packages
+
+ -- David Fox <dsf@seereason.com>  Tue, 07 Feb 2012 06:36:44 -0800
+
+haskell-appraisal-data (1.28) unstable; urgency=low
+
+  * Move Appraisal.Permissions into artvaluereport package to avoid
+    dependency hereon happstack-state.
+
+ -- David Fox <dsf@seereason.com>  Mon, 30 Jan 2012 16:16:15 -0800
+
+haskell-appraisal-data (1.27) unstable; urgency=low
+
+  * Add an interface to change IntendedUse.
+
+ -- David Fox <dsf@seereason.com>  Thu, 05 Jan 2012 20:45:40 -0800
+
+haskell-appraisal-data (1.26) unstable; urgency=low
+
+  * Make the abbreviations "ValueType", "ValueTypeDescription",
+    "ValueTypeLongDescription", and "ValueApproachExplanation" override
+    the values stored in the report's reportValueTypeInfo field if they
+    are available.
+
+ -- David Fox <dsf@seereason.com>  Thu, 05 Jan 2012 10:11:04 -0800
+
+haskell-appraisal-data (1.25) unstable; urgency=low
+
+  * Export module Report2.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 08 Dec 2011 12:16:56 -0800
+
+haskell-appraisal-data (1.24) unstable; urgency=low
+
+  * Add safecopy instances.
+
+ -- David Fox <dsf@seereason.com>  Sat, 19 Nov 2011 07:23:19 -0800
+
+haskell-appraisal-data (1.23-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- David Fox <dsf@seereason.com>  Fri, 18 Nov 2011 09:23:34 -0800
diff --git a/test-data/artvaluereport-data/output/debian/compat b/test-data/artvaluereport-data/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/compat
@@ -0,0 +1,1 @@
+7
diff --git a/test-data/artvaluereport-data/output/debian/control b/test-data/artvaluereport-data/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/control
@@ -0,0 +1,231 @@
+Source: haskell-artvaluereport-data
+Priority: optional
+Section: haskell
+Maintainer: David Fox <dsf@seereason.com>
+Build-Depends: debhelper (>= 7.0)
+               , haskell-devscripts (>= 0.8)
+               , cdbs
+               , ghc
+               , haskell-hsx-utils
+               , ghc-prof
+               , libghc-extra-dev
+               , libghc-extra-prof
+               , libghc-hunit-dev
+               , libghc-hunit-prof
+               , libghc-hatex-dev (>= 3.4)
+               , libghc-hatex-prof (>= 3.4)
+               , libghc-haxml-dev (>= 1:1.22.5)
+               , libghc-haxml-prof (>= 1:1.22.5)
+               , libghc-listlike-dev
+               , libghc-listlike-prof
+               , libghc-rjson-dev
+               , libghc-rjson-prof
+               , libghc-unixutils-dev (>= 1.50)
+               , libghc-unixutils-prof (>= 1.50)
+               , libghc-acid-state-dev
+               , libghc-acid-state-prof
+               , libghc-applicative-extras-dev
+               , libghc-applicative-extras-prof
+               , libghc-base-dev | ghc
+               , libghc-base-prof | ghc-prof
+               , libghc-binary-dev | ghc
+               , libghc-binary-prof | ghc-prof
+               , libghc-bytestring-dev | ghc
+               , libghc-bytestring-prof | ghc-prof
+               , libghc-cabal-debian-dev
+               , libghc-cabal-debian-prof
+               , libghc-cereal-dev
+               , libghc-cereal-prof
+               , libghc-containers-dev | ghc
+               , libghc-containers-prof | ghc-prof
+               , libghc-cryptohash-dev (>= 0.7)
+               , libghc-cryptohash-prof (>= 0.7)
+               , libghc-debian-dev (>= 3.67)
+               , libghc-debian-prof (>= 3.67)
+               , libghc-directory-dev | ghc
+               , libghc-directory-prof | ghc-prof
+               , libghc-filepath-dev | ghc
+               , libghc-filepath-prof | ghc-prof
+               , libghc-formlets-dev
+               , libghc-formlets-prof
+               , libghc-happstack-extra-dev
+               , libghc-happstack-extra-prof
+               , libghc-happstack-hsp-dev
+               , libghc-happstack-hsp-prof
+               , libghc-happstack-server-dev
+               , libghc-happstack-server-prof
+               , libghc-happstack-util-dev
+               , libghc-happstack-util-prof
+               , libghc-hslogger-dev
+               , libghc-hslogger-prof
+               , libghc-hsp-dev
+               , libghc-hsp-prof
+               , libghc-hsx-dev
+               , libghc-hsx-prof
+               , libghc-html-entities-dev (>= 1.3)
+               , libghc-html-entities-prof (>= 1.3)
+               , libghc-ixset-dev
+               , libghc-ixset-prof
+               , libghc-listlike-instances-dev
+               , libghc-listlike-instances-prof
+               , libghc-maccatcher-dev
+               , libghc-maccatcher-prof
+               , libghc-mtl-dev
+               , libghc-mtl-prof
+               , libghc-network-dev (>= 2.4)
+               , libghc-network-prof (>= 2.4)
+               , libghc-old-time-dev | ghc
+               , libghc-old-time-prof | ghc-prof
+               , libghc-pandoc-dev
+               , libghc-pandoc-prof
+               , libghc-pandoc-types-dev
+               , libghc-pandoc-types-prof
+               , libghc-parsec3-dev (>= 3) | libghc-parsec2-dev (<< 3)
+               , libghc-parsec3-prof (>= 3) | libghc-parsec2-prof (<< 3)
+               , libghc-process-dev | ghc
+               , libghc-process-prof | ghc-prof
+               , libghc-process-extras-dev (>= 0.6)
+               , libghc-process-extras-prof (>= 0.6)
+               , libghc-process-progress-dev
+               , libghc-process-progress-prof
+               , libghc-puremd5-dev
+               , libghc-puremd5-prof
+               , libghc-random-dev
+               , libghc-random-prof
+               , libghc-regex-compat-dev
+               , libghc-regex-compat-prof
+               , libghc-revision-dev (>= 0.8)
+               , libghc-revision-prof (>= 0.8)
+               , libghc-safecopy-dev
+               , libghc-safecopy-prof
+               , libghc-syb-dev
+               , libghc-syb-prof
+               , libghc-syb-with-class-dev
+               , libghc-syb-with-class-prof
+               , libghc-text-dev
+               , libghc-text-prof
+               , libghc-time-dev | ghc
+               , libghc-time-prof | ghc-prof
+               , libghc-unix-dev | ghc
+               , libghc-unix-prof | ghc-prof
+               , libghc-utf8-string-dev
+               , libghc-utf8-string-prof
+               , libghc-xhtml-dev
+               , libghc-xhtml-prof
+Build-Depends-Indep: ghc-doc
+                     , libghc-extra-doc
+                     , libghc-hunit-doc
+                     , libghc-hatex-doc (>= 3.4)
+                     , libghc-haxml-doc (>= 1:1.22.5)
+                     , libghc-listlike-doc
+                     , libghc-rjson-doc
+                     , libghc-unixutils-doc (>= 1.50)
+                     , libghc-acid-state-doc
+                     , libghc-applicative-extras-doc
+                     , libghc-base-doc | ghc-doc
+                     , libghc-binary-doc | ghc-doc
+                     , libghc-bytestring-doc | ghc-doc
+                     , libghc-cabal-debian-doc
+                     , libghc-cereal-doc
+                     , libghc-containers-doc | ghc-doc
+                     , libghc-cryptohash-doc (>= 0.7)
+                     , libghc-debian-doc (>= 3.67)
+                     , libghc-directory-doc | ghc-doc
+                     , libghc-filepath-doc | ghc-doc
+                     , libghc-formlets-doc
+                     , libghc-happstack-extra-doc
+                     , libghc-happstack-hsp-doc
+                     , libghc-happstack-server-doc
+                     , libghc-happstack-util-doc
+                     , libghc-hslogger-doc
+                     , libghc-hsp-doc
+                     , libghc-hsx-doc
+                     , libghc-html-entities-doc (>= 1.3)
+                     , libghc-ixset-doc
+                     , libghc-listlike-instances-doc
+                     , libghc-maccatcher-doc
+                     , libghc-mtl-doc
+                     , libghc-network-doc (>= 2.4)
+                     , libghc-old-time-doc | ghc-doc
+                     , libghc-pandoc-doc
+                     , libghc-pandoc-types-doc
+                     , libghc-parsec3-doc (>= 3) | libghc-parsec2-doc (<< 3)
+                     , libghc-process-doc | ghc-doc
+                     , libghc-process-extras-doc (>= 0.6)
+                     , libghc-process-progress-doc
+                     , libghc-puremd5-doc
+                     , libghc-random-doc
+                     , libghc-regex-compat-doc
+                     , libghc-revision-doc (>= 0.8)
+                     , libghc-safecopy-doc
+                     , libghc-syb-doc
+                     , libghc-syb-with-class-doc
+                     , libghc-text-doc
+                     , libghc-time-doc | ghc-doc
+                     , libghc-unix-doc | ghc-doc
+                     , libghc-utf8-string-doc
+                     , libghc-xhtml-doc
+Standards-Version: 3.9.3
+Homepage: http://artvaluereportonline.com
+
+Package: libghc-artvaluereport-data-dev
+Architecture: any
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Description: Data structures used by the fine art appraisal application
+ Data structures used by the fine art appraisal application
+ .
+  Author: David Fox <dsf@seereason.com>
+  Upstream-Maintainer: David Fox <dsf@seereason.com>
+ .
+ This package provides a library for the Haskell programming language.
+ See http:///www.haskell.org/ for more information on Haskell.
+
+
+Package: libghc-artvaluereport-data-prof
+Architecture: any
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Description: Data structures used by the fine art appraisal application
+ Data structures used by the fine art appraisal application
+ .
+  Author: David Fox <dsf@seereason.com>
+  Upstream-Maintainer: David Fox <dsf@seereason.com>
+ .
+ This package provides a library for the Haskell programming language, compiled
+ for profiling.  See http:///www.haskell.org/ for more information on Haskell.
+
+
+Package: libghc-artvaluereport-data-doc
+Architecture: all
+Section: doc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Description: Data structures used by the fine art appraisal application
+ Data structures used by the fine art appraisal application
+ .
+  Author: David Fox <dsf@seereason.com>
+  Upstream-Maintainer: David Fox <dsf@seereason.com>
+ .
+ This package provides the documentation for a library for the Haskell
+ programming language.
+ See http:///www.haskell.org/ for more information on Haskell.
+
diff --git a/test-data/artvaluereport-data/output/debian/copyright b/test-data/artvaluereport-data/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/copyright
@@ -0,0 +1,2 @@
+(c) 2008-2011, SeeReason Partners LLC
+License: Proprietary
diff --git a/test-data/artvaluereport-data/output/debian/extra-depends b/test-data/artvaluereport-data/output/debian/extra-depends
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/extra-depends
@@ -0,0 +1,1 @@
+
diff --git a/test-data/artvaluereport-data/output/debian/libghc-artvaluereport-data-doc.links b/test-data/artvaluereport-data/output/debian/libghc-artvaluereport-data-doc.links
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/libghc-artvaluereport-data-doc.links
@@ -0,0 +1,1 @@
+/usr/share/doc/libghc-artvaluereport-data-doc/html/artvaluereport-data.txt /usr/lib/ghc-doc/hoogle/artvaluereport-data.txt
diff --git a/test-data/artvaluereport-data/output/debian/rules b/test-data/artvaluereport-data/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/rules
@@ -0,0 +1,6 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = artvaluereport-data
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
diff --git a/test-data/artvaluereport-data/output/debian/source/format b/test-data/artvaluereport-data/output/debian/source/format
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (native)
diff --git a/test-data/artvaluereport-data/output/debian/watch b/test-data/artvaluereport-data/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport-data/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|artvaluereport-data-$1.tar.gz|" \
+    http://hackage.haskell.org/package/artvaluereport-data \
+    ([\d\.]*\d)/
diff --git a/test-data/artvaluereport2/input/artvaluereport2.cabal b/test-data/artvaluereport2/input/artvaluereport2.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/input/artvaluereport2.cabal
@@ -0,0 +1,122 @@
+Name:           ArtValueReport
+Version:        1.9.29
+License:        AllRightsReserved
+Copyright:      (c) 2008-2011, SeeReason Partners LLC
+Author:         David Fox <dsf@seereason.com>, Clifford Beshers <beshers@seereason.com>
+Maintainer:     Clifford Beshers <beshers@seereason.com>
+Homepage:       http://my.appraisalreportonline.com
+Synopsis:       Haskell modules for fine art appraisal applications
+Description:    Haskell modules for fine art appraisal applications
+Cabal-version:  >= 1.2.3.0
+build-type:     Custom
+
+flag local-artvaluereport-data
+  Description: Build with local copy of the artvaluereport-data library
+  Default: False
+  Manual: True
+
+Executable artvaluereport2-server
+    Main-is: Main.hs
+    GHC-options: -threaded -O2 -rtsopts -eventlog -Wall -Wwarn -fno-warn-name-shadowing -fno-warn-type-defaults
+
+    if flag (local-artvaluereport-data)
+        Hs-Source-Dirs: ., ../artvaluereport-data
+        Build-Depends: RJson, xhtml, html-entities, old-time, pwstore-purehaskell, unordered-containers, aeson, HJavaScript, artvaluereport-data >= 1.66
+        Build-Depends: binary, cereal
+        GHC-options: -Wwarn
+    else
+        Build-Depends: artvaluereport-data >= 1.66
+        GHC-options: -Wwarn
+
+    Build-Depends: happstack-authenticate, happstack-scaffolding (>= 0.23)
+
+    Build-Depends:
+        acid-state >= 0.6,
+        applicative-extras >= 0.1.5,
+        authenticate,
+        base,
+        blaze-html,
+        blaze-markup,
+        bytestring,
+        containers,
+        data-accessor,
+        debian-packaging >= 0.8,
+        digestive-functors,
+        digestive-functors-happstack,
+        directory,
+        directory-tree,
+        Extra >= 1.35,
+        fb,
+        filepath,
+        groom,
+        happstack,
+        happstack-extra,
+        happstack-hsp,
+        happstack-server,
+        happstack-util,
+        harp,
+        HJScript,
+        hslogger,
+        hsp >= 0.4.4,
+        hsx,
+        html,
+        ixset,
+        jmacro >= 0.6.2,
+        json,
+        language-css,
+        lifted-base,
+        mtl,
+        network >= 2.4,
+        old-locale,
+        old-time,
+        parsec,
+        pretty,
+        process,
+        process-extras >= 0.5,
+        QuickCheck >= 2,
+        random,
+        regex-compat,
+        revision,
+        safe,
+        safecopy >= 0.5.1,
+        syb,
+        syb-with-class,
+        tagged,
+        text,
+        time,
+        transformers,
+        uniplate,
+        unix,
+        Unixutils,
+        utf8-string,
+        web-routes,
+        web-routes-happstack,
+        web-routes-hsp,
+        web-routes-th
+    Extensions:  FlexibleContexts,
+                 FlexibleInstances,
+                 NoImplicitPrelude,
+                 OverlappingInstances,
+                 ScopedTypeVariables,
+                 TemplateHaskell,
+                 TypeSynonymInstances,
+                 UndecidableInstances
+
+Executable artvaluereport2-backups
+ Main-Is: Backups.hs
+ GHC-Options: -threaded -Wall -Wwarn -O2 -fno-warn-name-shadowing -fno-warn-missing-signatures -fwarn-tabs -fno-warn-unused-binds -fno-warn-orphans -fwarn-unused-imports -fno-spec-constr
+ Build-depends: archive >= 1.2.9, base, Extra
+
+executable lookatareport
+  Main-Is: Tools/LookAtAReport.hs
+  -- Hs-Source-Dirs: ., ../artvaluereport-data_1
+  -- GHC-Options: -Wall -optP-include -optPdist/build/autogen/cabal_macros.h
+  GHC-Options: -Wall
+  Build-Depends: binary, cereal, debian, HaTeX, html-entities, pandoc, pureMD5, RJson, xhtml
+
+executable appraisalscope
+  Main-Is: Tools/AppraisalScope.hs
+  -- Hs-Source-Dirs: ., ../artvaluereport-data_1
+  -- GHC-Options: -Wall -optP-include -optPdist/build/autogen/cabal_macros.h
+  GHC-Options: -Wall
+  Build-Depends: binary, cereal, debian, HaTeX, html-entities, pandoc, pureMD5, RJson, xhtml
diff --git a/test-data/artvaluereport2/input/debian/Debianize.hs b/test-data/artvaluereport2/input/debian/Debianize.hs
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/input/debian/Debianize.hs
@@ -0,0 +1,139 @@
+{-# LANGUAGE CPP, OverloadedStrings #-}
+import Data.Lens.Lazy (getL, modL, access)
+import Data.Maybe (fromMaybe)
+import Data.Monoid (mempty)
+import Data.Set (singleton)
+import Data.Text as Text (intercalate)
+import Debian.Changes (ChangeLog(..))
+import Debian.Debianize (debianization, doBackups, doExecutable, doServer, doWebsite, inputChangeLog, inputDebianization, seereasonDefaultAtoms)
+import Debian.Debianize.Types as T
+    (changelog, binaryArchitectures, buildDependsIndep, changelog, compat, control, depends, debianDescription,
+     installCabalExec, installData, sourcePackageName, homepage, standardsVersion)
+import Debian.Debianize.Types.Atoms as T
+    (Atoms, newAtoms, InstallFile(..), Server(..), Site(..))
+import Debian.Debianize.Monad (execDebT, evalDebT, DebT, execDebM)
+import Debian.Debianize.Types (Top(Top))
+import Debian.Debianize.Types.SourceDebDescription (SourceDebDescription)
+import Debian.Debianize.Output (compareDebianization)
+import Debian.Debianize.Prelude ((~=), (%=), (+=), (++=), (+++=), (~?=))
+import Debian.Policy (databaseDirectory, PackageArchitectures(All), StandardsVersion(StandardsVersion))
+import Debian.Relation (BinPkgName(BinPkgName), Relation(Rel), SrcPkgName(..), VersionReq(SLT))
+import Debian.Version (parseDebianVersion)
+import Text.PrettyPrint.ANSI.Leijen (Pretty(pretty))
+
+-- This looks just like a "real" Debianize.hs file except that it
+-- returns the comparison string instead of doing a
+-- writeDebianization, and it reads and writes the test-data
+-- directories instead of ".".  Also, you wouldn't want to
+-- copyFirstLogEntry.
+main :: IO ()
+main =
+    do log <- evalDebT (inputChangeLog (Top "test-data/artvaluereport2/input") >> access changelog) newAtoms
+       new <- execDebT (debianization (Top "test-data/artvaluereport2/input") seereasonDefaultAtoms (customize log)) newAtoms
+       old <- execDebT (inputDebianization (Top "test-data/artvaluereport2/output")) newAtoms
+       -- The newest log entry gets modified when the Debianization is
+       -- generated, it won't match so drop it for the comparison.
+       compareDebianization old (copyFirstLogEntry old new) >>= putStr
+    where
+      customize :: Maybe ChangeLog -> DebT IO ()
+      customize log =
+          do T.changelog ~?= log
+             installCabalExec +++= (BinPkgName "appraisalscope", singleton ("lookatareport", "usr/bin"))
+             doExecutable (BinPkgName "appraisalscope") (InstallFile {execName = "appraisalscope", sourceDir = Nothing, destDir = Nothing, destName = "appraisalscope"})
+             doServer (BinPkgName "artvaluereport2-development") (theServer (BinPkgName "artvaluereport2-development"))
+             doServer (BinPkgName "artvaluereport2-staging") (theServer (BinPkgName "artvaluereport2-staging"))
+             doWebsite (BinPkgName "artvaluereport2-production") (theSite (BinPkgName "artvaluereport2-production"))
+             doBackups (BinPkgName "artvaluereport2-backups") "artvaluereport2-backups"
+             -- This should go into the "real" data directory.  And maybe a different icon for each server?
+             -- install (BinPkgName "artvaluereport2-server") ("theme/ArtValueReport_SunsetSpectrum.ico", "usr/share/artvaluereport2-data")
+             debianDescription (BinPkgName "artvaluereport2-backups") ~=
+                     Just (Text.intercalate "\n"
+                                  [ "backup program for the appraisalreportonline.com site"
+                                  , "  Install this somewhere other than where the server is running get"
+                                  , "  automated backups of the database." ])
+             addDep (BinPkgName "artvaluereport2-production") (BinPkgName "apache2")
+             addServerData
+             addServerDeps
+             debianDescription (BinPkgName "appraisalscope") ~= Just "Offline manipulation of appraisal database"
+             buildDependsIndep %= (++ [[Rel (BinPkgName "libjs-jquery-ui") (Just (SLT (parseDebianVersion ("1.10" :: String)))) Nothing]])
+             buildDependsIndep %= (++ [[Rel (BinPkgName "libjs-jquery") Nothing Nothing]])
+             buildDependsIndep %= (++ [[Rel (BinPkgName "libjs-jcrop") Nothing Nothing]])
+             binaryArchitectures (BinPkgName "artvaluereport2-staging") ~= Just All
+             binaryArchitectures (BinPkgName "artvaluereport2-production") ~= Just All
+             binaryArchitectures (BinPkgName "artvaluereport2-development") ~= Just All
+             -- utilsPackageNames [BinPkgName "artvaluereport2-server"]
+             sourcePackageName ~= Just (SrcPkgName "haskell-artvaluereport2")
+             T.standardsVersion ~= Just (StandardsVersion 3 9 1 Nothing)
+             homepage ~= Just "http://appraisalreportonline.com"
+             compat ~= Just 7
+
+      addServerDeps :: DebT IO ()
+      addServerDeps = mapM_ addDeps (map BinPkgName ["artvaluereport2-development", "artvaluereport2-staging", "artvaluereport2-production"])
+      addDeps p = mapM_ (addDep p) (map BinPkgName ["libjpeg-progs", "libjs-jcrop", "libjs-jquery", "libjs-jquery-ui", "netpbm", "texlive-fonts-extra", "texlive-fonts-recommended", "texlive-latex-extra", "texlive-latex-recommended"])
+      addDep p dep = depends p %= (++ [[Rel dep Nothing Nothing]])
+
+      addServerData :: DebT IO ()
+      addServerData = mapM_ addData (map BinPkgName ["artvaluereport2-development", "artvaluereport2-staging", "artvaluereport2-production"])
+      addData p =
+          do installData +++= (p, singleton ("theme/ArtValueReport_SunsetSpectrum.ico", "ArtValueReport_SunsetSpectrum.ico"))
+             mapM_ (addDataFile p) ["Udon.js", "flexbox.css", "DataTables-1.8.2", "html5sortable", "jGFeed", "searchMag.png",
+                                    "Clouds.jpg", "tweaks.css", "verticalTabs.css", "blueprint", "jquery.blockUI", "jquery.tinyscrollbar"]
+      addDataFile p path = installData +++= (p, singleton (path, path))
+
+      theSite :: BinPkgName -> Site
+      theSite deb =
+          Site { domain = hostname'
+               , serverAdmin = "logic@seereason.com"
+               , server = theServer deb }
+      theServer :: BinPkgName -> Server
+      theServer deb =
+          Server { hostname =
+                       case deb of
+                         BinPkgName "artvaluereport2-production" -> hostname'
+                         _ -> hostname'
+                 , port = portNum deb
+                 , headerMessage = "Generated by artvaluereport2/Setup.hs"
+                 , retry = "60"
+                 , serverFlags =
+                    ([ "--http-port", show (portNum deb)
+                     , "--base-uri", case deb of
+                                       BinPkgName "artvaluereport2-production" -> "http://" ++ hostname' ++ "/"
+                                       _ -> "http://seereason.com:" ++ show (portNum deb) ++ "/"
+                     , "--top", databaseDirectory deb
+                     , "--logs", "/var/log/" ++ show (pretty deb)
+                     , "--log-mode", case deb of
+                                       BinPkgName "artvaluereport2-production" -> "Production"
+                                       _ -> "Development"
+                     , "--static", "/usr/share/artvaluereport2-data"
+                     , "--no-validate" ] ++
+                     (case deb of
+                        BinPkgName "artvaluereport2-production" -> [{-"--enable-analytics"-}]
+                        _ -> []) {- ++
+                     [ "--jquery-path", "/usr/share/javascript/jquery/"
+                     , "--jqueryui-path", "/usr/share/javascript/jquery-ui/"
+                     , "--jstree-path", jstreePath
+                     , "--json2-path",json2Path ] -})
+                 , installFile =
+                     InstallFile { execName   = "artvaluereport2-server"
+                                 , destName   = show (pretty deb)
+                                 , sourceDir  = Nothing
+                                 , destDir    = Nothing }
+                 }
+      hostname' = "my.appraisalreportonline.com"
+      portNum :: BinPkgName -> Int
+      portNum (BinPkgName deb) =
+          case deb of
+            "artvaluereport2-production"  -> 9027
+            "artvaluereport2-staging"     -> 9031
+            "artvaluereport2-development" -> 9032
+            _ -> error $ "Unexpected package name: " ++ deb
+
+anyrel :: BinPkgName -> Relation
+anyrel b = Rel b Nothing Nothing
+
+copyFirstLogEntry :: Atoms -> Atoms -> Atoms
+copyFirstLogEntry deb1 deb2 =
+    modL T.changelog (const (Just (ChangeLog (hd1 : tl2)))) deb2
+    where
+      ChangeLog (hd1 : _) = fromMaybe (error "Missing debian/changelog") (getL T.changelog deb1)
+      ChangeLog (_ : tl2) = fromMaybe (error "Missing debian/changelog") (getL T.changelog deb2)
diff --git a/test-data/artvaluereport2/input/debian/changelog b/test-data/artvaluereport2/input/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/input/debian/changelog
@@ -0,0 +1,204 @@
+haskell-artvaluereport2 (1.9.29) unstable; urgency=low
+
+  * Add a package for the appraisalscope executable.
+
+ -- David Fox <dsf@seereason.com>  Fri, 01 Feb 2013 12:34:49 -0800
+
+haskell-artvaluereport2 (1.9.28) unstable; urgency=low
+
+  * Fix the formatting of the new creation date column in the report list
+    and pave the way for converting the old EpochMilli into UTC time.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 29 Jan 2013 18:51:00 -0800
+
+haskell-artvaluereport2 (1.9.27) unstable; urgency=low
+
+  * Report deletion. Reports now in map with key uuid.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 28 Jan 2013 00:05:49 -0800
+
+haskell-artvaluereport2 (1.9.26) unstable; urgency=low
+
+  * Add report copying.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 17 Jan 2013 22:34:49 -0800
+
+haskell-artvaluereport2 (1.9.25) unstable; urgency=low
+
+  * Myriad.  Bump cabal version from 1.9.18.
+
+ -- David Fox <dsf@seereason.com>  Mon, 17 Dec 2012 14:41:44 -0800
+
+haskell-artvaluereport2 (1.9.24) unstable; urgency=low
+
+  * Repair the repair of Dimension values.  The repair was being rerun on
+    fixed values because I didn't implement this as a migration.  Next
+    step, get past event files with these errors, then remove the fixvalue call.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sun, 04 Nov 2012 20:33:54 -0800
+
+haskell-artvaluereport2 (1.9.23) unstable; urgency=low
+
+  * Restrict imageSize to a range, set default.
+  * Repair Dimension menu which had values and labels confused.
+  * Repair events which had the bad Dimension values.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 03 Nov 2012 18:29:31 -0700
+
+haskell-artvaluereport2 (1.9.22) unstable; urgency=low
+
+  * unsafePerformIO around logging, error to myerror and MyPrelude to control behind the scene failures.
+  * acid-state updates rewritten to be small.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 01 Nov 2012 22:25:26 -0700
+
+haskell-artvaluereport2 (1.9.21) unstable; urgency=low
+
+  * Multiple image upload, client greeting, more Item field revisions. Image captions and print size.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 26 Oct 2012 09:37:05 -0700
+
+haskell-artvaluereport2 (1.9.20) unstable; urgency=low
+
+  * Item field revisions.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 19 Oct 2012 00:42:20 -0700
+
+haskell-artvaluereport2 (1.9.19) unstable; urgency=low
+
+  * Up the minimum size of the request body.  Things were being silently
+    truncated, causing decodeJSON errors.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 13 Oct 2012 21:44:24 -0700
+
+haskell-artvaluereport2 (1.9.18) unstable; urgency=low
+
+  * Fix errant widget selector that was causing index out of range when editing item lists.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 11 Oct 2012 23:40:46 -0700
+
+haskell-artvaluereport2 (1.9.17) unstable; urgency=low
+
+  * Remove errant undefined in image list reordering.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 11 Oct 2012 12:00:06 -0700
+
+haskell-artvaluereport2 (1.9.16) unstable; urgency=low
+
+  * Fix new report, which was returning to the wrong report.  Add in the
+    UUID for report ids, as yet unused.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 01 Oct 2012 18:51:11 -0700
+
+haskell-artvaluereport2 (1.9.15) unstable; urgency=low
+
+  * Fix some layout issues.  Turn off the image croppers until fixed.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 30 Aug 2012 17:33:25 -0700
+
+haskell-artvaluereport2 (1.9.14) unstable; urgency=low
+
+  * Small tweaks to the appearance.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Aug 2012 17:02:15 -0700
+
+haskell-artvaluereport2 (1.9.13) unstable; urgency=low
+
+  * List editing.  Mostly.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Aug 2012 14:53:55 -0700
+
+haskell-artvaluereport2 (1.9.12) unstable; urgency=low
+
+  * List editing.  Testing and one page (Limiting Conditions.)
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 07 Aug 2012 12:27:04 -0700
+
+haskell-artvaluereport2 (1.9.11) unstable; urgency=low
+
+  * Open pdf in the same tab by default instead of forcing a new one.
+  * Attach "Property to be Appraised" to reportBriefItems.
+  * Expose ItemsOwner with label Client.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 19 Jul 2012 11:19:50 -0700
+
+haskell-artvaluereport2 (1.9.10) unstable; urgency=low
+
+  * Use textAreas in the item editor, resize them based on the data.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 16 Jul 2012 11:32:14 -0700
+
+haskell-artvaluereport2 (1.9.9) unstable; urgency=low
+
+  * Fix IntendedUse form.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 16 Jul 2012 00:08:25 -0700
+
+haskell-artvaluereport2 (1.9.8) unstable; urgency=low
+
+  * Remove debugging links from home page.
+  * Add missing tab for Certifications
+
+ -- Clifford Beshers <beshers@seereason.com>  Sun, 15 Jul 2012 12:16:03 -0700
+
+haskell-artvaluereport2 (1.9.7) unstable; urgency=low
+
+  * Many updates, validating that the PDF is getting closer to what it should be.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 13 Jul 2012 18:31:05 -0700
+
+haskell-artvaluereport2 (1.9.6) unstable; urgency=low
+
+  * Item fields restored. They are a list, not a record, which is not
+    handled by Builders.empty, so they needed to be created specially.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 13 Jul 2012 00:52:00 -0700
+
+haskell-artvaluereport2 (1.9.5) unstable; urgency=low
+
+  * Image source url sort of working.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 23:43:46 -0700
+
+haskell-artvaluereport2 (1.9.4) unstable; urgency=low
+
+  * Image source url start.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 01:42:52 -0700
+
+haskell-artvaluereport2 (1.9.3) unstable; urgency=low
+
+  * Merge of big fork. Close to critical mass.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 10 Jul 2012 21:48:43 -0700
+
+haskell-artvaluereport2 (1.9.2) unstable; urgency=low
+
+  * Bumping version number to ensure everything is pushed to server, tracking down mysterious new report bug.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 07 May 2012 16:27:06 -0700
+
+haskell-artvaluereport2 (1.9.1) unstable; urgency=low
+
+  * Many improvements.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 01 May 2012 12:14:45 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage3) unstable; urgency=low
+
+  * Add markup for missing image.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 28 Mar 2012 10:02:45 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage2) unstable; urgency=low
+
+  * Lots of formatting fixes.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 27 Mar 2012 22:32:41 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Jun 2011 01:01:02 -0700
+
diff --git a/test-data/artvaluereport2/output/debian/appraisalscope.install b/test-data/artvaluereport2/output/debian/appraisalscope.install
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/appraisalscope.install
@@ -0,0 +1,2 @@
+dist-ghc/build/appraisalscope/appraisalscope usr/bin
+dist-ghc/build/lookatareport/lookatareport usr/bin
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-backups.install b/test-data/artvaluereport2/output/debian/artvaluereport2-backups.install
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-backups.install
@@ -0,0 +1,1 @@
+dist-ghc/build/artvaluereport2-backups/artvaluereport2-backups /etc/cron.hourly
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-backups.postinst b/test-data/artvaluereport2/output/debian/artvaluereport2-backups.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-backups.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    /etc/cron.hourly/artvaluereport2-backups --initialize
+    ;;
+esac
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-development.init b/test-data/artvaluereport2/output/debian/artvaluereport2-development.init
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-development.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/artvaluereport2-development && . /etc/default/artvaluereport2-development
+
+case "$1" in
+  start)
+    test -x /usr/bin/artvaluereport2-development || exit 0
+    log_begin_msg "Starting artvaluereport2-development..."
+    mkdir -p /srv/artvaluereport2-development
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/artvaluereport2-development" "--exec" "/usr/bin/artvaluereport2-development" "--pidfile" "/var/run/artvaluereport2-development" "--" "--http-port" "9032" "--base-uri" "http://seereason.com:9032/" "--top" "/srv/artvaluereport2-development" "--logs" "/var/log/artvaluereport2-development" "--log-mode" "Development" "--static" "/usr/share/artvaluereport2-data" "--no-validate"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping artvaluereport2-development..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/artvaluereport2-development"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-development.install b/test-data/artvaluereport2/output/debian/artvaluereport2-development.install
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-development.install
@@ -0,0 +1,13 @@
+Clouds.jpg usr/share/artvaluereport/.
+DataTables-1.8.2 usr/share/artvaluereport/.
+Udon.js usr/share/artvaluereport/.
+blueprint usr/share/artvaluereport/.
+flexbox.css usr/share/artvaluereport/.
+html5sortable usr/share/artvaluereport/.
+jGFeed usr/share/artvaluereport/.
+jquery.blockUI usr/share/artvaluereport/.
+jquery.tinyscrollbar usr/share/artvaluereport/.
+searchMag.png usr/share/artvaluereport/.
+theme/ArtValueReport_SunsetSpectrum.ico usr/share/artvaluereport/.
+tweaks.css usr/share/artvaluereport/.
+verticalTabs.css usr/share/artvaluereport/.
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-development.logrotate b/test-data/artvaluereport2/output/debian/artvaluereport2-development.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-development.logrotate
@@ -0,0 +1,13 @@
+/var/log/artvaluereport2-development/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/artvaluereport2-development/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-development.postinst b/test-data/artvaluereport2/output/debian/artvaluereport2-development.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-development.postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.dirs b/test-data/artvaluereport2/output/debian/artvaluereport2-production.dirs
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.dirs
@@ -0,0 +1,2 @@
+/var/log/apache2/artvaluereport2-production
+/etc/apache2/sites-available
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.init b/test-data/artvaluereport2/output/debian/artvaluereport2-production.init
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/artvaluereport2-production && . /etc/default/artvaluereport2-production
+
+case "$1" in
+  start)
+    test -x /usr/bin/artvaluereport2-production || exit 0
+    log_begin_msg "Starting artvaluereport2-production..."
+    mkdir -p /srv/artvaluereport2-production
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/artvaluereport2-production" "--exec" "/usr/bin/artvaluereport2-production" "--pidfile" "/var/run/artvaluereport2-production" "--" "--http-port" "9027" "--base-uri" "http://my.appraisalreportonline.com/" "--top" "/srv/artvaluereport2-production" "--logs" "/var/log/artvaluereport2-production" "--log-mode" "Production" "--static" "/usr/share/artvaluereport2-data" "--no-validate"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping artvaluereport2-production..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/artvaluereport2-production"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.install b/test-data/artvaluereport2/output/debian/artvaluereport2-production.install
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.install
@@ -0,0 +1,14 @@
+Clouds.jpg usr/share/artvaluereport/.
+DataTables-1.8.2 usr/share/artvaluereport/.
+Udon.js usr/share/artvaluereport/.
+blueprint usr/share/artvaluereport/.
+debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com /etc/apache2/sites-available/
+flexbox.css usr/share/artvaluereport/.
+html5sortable usr/share/artvaluereport/.
+jGFeed usr/share/artvaluereport/.
+jquery.blockUI usr/share/artvaluereport/.
+jquery.tinyscrollbar usr/share/artvaluereport/.
+searchMag.png usr/share/artvaluereport/.
+theme/ArtValueReport_SunsetSpectrum.ico usr/share/artvaluereport/.
+tweaks.css usr/share/artvaluereport/.
+verticalTabs.css usr/share/artvaluereport/.
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.links b/test-data/artvaluereport2/output/debian/artvaluereport2-production.links
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.links
@@ -0,0 +1,1 @@
+/etc/apache2/sites-available/my.appraisalreportonline.com /etc/apache2/sites-enabled/my.appraisalreportonline.com
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.logrotate b/test-data/artvaluereport2/output/debian/artvaluereport2-production.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.logrotate
@@ -0,0 +1,27 @@
+/var/log/apache2/artvaluereport2-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/apache2/artvaluereport2-production/error.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/artvaluereport2-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/artvaluereport2-production/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-production.postinst b/test-data/artvaluereport2/output/debian/artvaluereport2-production.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-production.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    # Apache won't start if this directory doesn't exist
+    mkdir -p /var/log/apache2/artvaluereport2-production
+    # Restart apache so it sees the new file in /etc/apache2/sites-enabled
+    /usr/sbin/a2enmod proxy
+    /usr/sbin/a2enmod proxy_http
+    service apache2 restart
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-staging.init b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.init
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/artvaluereport2-staging && . /etc/default/artvaluereport2-staging
+
+case "$1" in
+  start)
+    test -x /usr/bin/artvaluereport2-staging || exit 0
+    log_begin_msg "Starting artvaluereport2-staging..."
+    mkdir -p /srv/artvaluereport2-staging
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/artvaluereport2-staging" "--exec" "/usr/bin/artvaluereport2-staging" "--pidfile" "/var/run/artvaluereport2-staging" "--" "--http-port" "9031" "--base-uri" "http://seereason.com:9031/" "--top" "/srv/artvaluereport2-staging" "--logs" "/var/log/artvaluereport2-staging" "--log-mode" "Development" "--static" "/usr/share/artvaluereport2-data" "--no-validate"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping artvaluereport2-staging..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/artvaluereport2-staging"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-staging.install b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.install
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.install
@@ -0,0 +1,13 @@
+Clouds.jpg usr/share/artvaluereport/.
+DataTables-1.8.2 usr/share/artvaluereport/.
+Udon.js usr/share/artvaluereport/.
+blueprint usr/share/artvaluereport/.
+flexbox.css usr/share/artvaluereport/.
+html5sortable usr/share/artvaluereport/.
+jGFeed usr/share/artvaluereport/.
+jquery.blockUI usr/share/artvaluereport/.
+jquery.tinyscrollbar usr/share/artvaluereport/.
+searchMag.png usr/share/artvaluereport/.
+theme/ArtValueReport_SunsetSpectrum.ico usr/share/artvaluereport/.
+tweaks.css usr/share/artvaluereport/.
+verticalTabs.css usr/share/artvaluereport/.
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-staging.logrotate b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.logrotate
@@ -0,0 +1,13 @@
+/var/log/artvaluereport2-staging/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/artvaluereport2-staging/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/artvaluereport2/output/debian/artvaluereport2-staging.postinst b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/artvaluereport2-staging.postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/artvaluereport2/output/debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com b/test-data/artvaluereport2/output/debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/cabalInstall/7e4b5d8641f6fae99e9ae9b2d8893bc7/my.appraisalreportonline.com
@@ -0,0 +1,32 @@
+<VirtualHost *:80>
+    ServerAdmin logic@seereason.com
+    ServerName www.my.appraisalreportonline.com
+    ServerAlias my.appraisalreportonline.com
+
+    ErrorLog /var/log/apache2/artvaluereport2-production/error.log
+    CustomLog /var/log/apache2/artvaluereport2-production/access.log combined
+
+    ProxyRequests Off
+    AllowEncodedSlashes NoDecode
+
+    <Proxy *>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                Deny from all
+                #Allow from all
+    </Proxy>
+
+    <Proxy http://127.0.0.1:9027/*>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                #Deny from all
+                Allow from all
+    </Proxy>
+
+    SetEnv proxy-sendcl 1
+
+    ProxyPass / http://127.0.0.1:9027/ nocanon
+    ProxyPassReverse / http://127.0.0.1:9027/
+</VirtualHost>
diff --git a/test-data/artvaluereport2/output/debian/changelog b/test-data/artvaluereport2/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/changelog
@@ -0,0 +1,204 @@
+haskell-artvaluereport2 (1.9.29) unstable; urgency=low
+
+  * Add a package for the appraisalscope executable.
+
+ -- David Fox <dsf@seereason.com>  Fri, 01 Feb 2013 12:34:49 -0800
+
+haskell-artvaluereport2 (1.9.28) unstable; urgency=low
+
+  * Fix the formatting of the new creation date column in the report list
+    and pave the way for converting the old EpochMilli into UTC time.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 29 Jan 2013 18:51:00 -0800
+
+haskell-artvaluereport2 (1.9.27) unstable; urgency=low
+
+  * Report deletion. Reports now in map with key uuid.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 28 Jan 2013 00:05:49 -0800
+
+haskell-artvaluereport2 (1.9.26) unstable; urgency=low
+
+  * Add report copying.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 17 Jan 2013 22:34:49 -0800
+
+haskell-artvaluereport2 (1.9.25) unstable; urgency=low
+
+  * Myriad.  Bump cabal version from 1.9.18.
+
+ -- David Fox <dsf@seereason.com>  Mon, 17 Dec 2012 14:41:44 -0800
+
+haskell-artvaluereport2 (1.9.24) unstable; urgency=low
+
+  * Repair the repair of Dimension values.  The repair was being rerun on
+    fixed values because I didn't implement this as a migration.  Next
+    step, get past event files with these errors, then remove the fixvalue call.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sun, 04 Nov 2012 20:33:54 -0800
+
+haskell-artvaluereport2 (1.9.23) unstable; urgency=low
+
+  * Restrict imageSize to a range, set default.
+  * Repair Dimension menu which had values and labels confused.
+  * Repair events which had the bad Dimension values.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 03 Nov 2012 18:29:31 -0700
+
+haskell-artvaluereport2 (1.9.22) unstable; urgency=low
+
+  * unsafePerformIO around logging, error to myerror and MyPrelude to control behind the scene failures.
+  * acid-state updates rewritten to be small.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 01 Nov 2012 22:25:26 -0700
+
+haskell-artvaluereport2 (1.9.21) unstable; urgency=low
+
+  * Multiple image upload, client greeting, more Item field revisions. Image captions and print size.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 26 Oct 2012 09:37:05 -0700
+
+haskell-artvaluereport2 (1.9.20) unstable; urgency=low
+
+  * Item field revisions.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 19 Oct 2012 00:42:20 -0700
+
+haskell-artvaluereport2 (1.9.19) unstable; urgency=low
+
+  * Up the minimum size of the request body.  Things were being silently
+    truncated, causing decodeJSON errors.
+
+ -- Clifford Beshers <beshers@seereason.com>  Sat, 13 Oct 2012 21:44:24 -0700
+
+haskell-artvaluereport2 (1.9.18) unstable; urgency=low
+
+  * Fix errant widget selector that was causing index out of range when editing item lists.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 11 Oct 2012 23:40:46 -0700
+
+haskell-artvaluereport2 (1.9.17) unstable; urgency=low
+
+  * Remove errant undefined in image list reordering.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 11 Oct 2012 12:00:06 -0700
+
+haskell-artvaluereport2 (1.9.16) unstable; urgency=low
+
+  * Fix new report, which was returning to the wrong report.  Add in the
+    UUID for report ids, as yet unused.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 01 Oct 2012 18:51:11 -0700
+
+haskell-artvaluereport2 (1.9.15) unstable; urgency=low
+
+  * Fix some layout issues.  Turn off the image croppers until fixed.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 30 Aug 2012 17:33:25 -0700
+
+haskell-artvaluereport2 (1.9.14) unstable; urgency=low
+
+  * Small tweaks to the appearance.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Aug 2012 17:02:15 -0700
+
+haskell-artvaluereport2 (1.9.13) unstable; urgency=low
+
+  * List editing.  Mostly.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Aug 2012 14:53:55 -0700
+
+haskell-artvaluereport2 (1.9.12) unstable; urgency=low
+
+  * List editing.  Testing and one page (Limiting Conditions.)
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 07 Aug 2012 12:27:04 -0700
+
+haskell-artvaluereport2 (1.9.11) unstable; urgency=low
+
+  * Open pdf in the same tab by default instead of forcing a new one.
+  * Attach "Property to be Appraised" to reportBriefItems.
+  * Expose ItemsOwner with label Client.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 19 Jul 2012 11:19:50 -0700
+
+haskell-artvaluereport2 (1.9.10) unstable; urgency=low
+
+  * Use textAreas in the item editor, resize them based on the data.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 16 Jul 2012 11:32:14 -0700
+
+haskell-artvaluereport2 (1.9.9) unstable; urgency=low
+
+  * Fix IntendedUse form.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 16 Jul 2012 00:08:25 -0700
+
+haskell-artvaluereport2 (1.9.8) unstable; urgency=low
+
+  * Remove debugging links from home page.
+  * Add missing tab for Certifications
+
+ -- Clifford Beshers <beshers@seereason.com>  Sun, 15 Jul 2012 12:16:03 -0700
+
+haskell-artvaluereport2 (1.9.7) unstable; urgency=low
+
+  * Many updates, validating that the PDF is getting closer to what it should be.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 13 Jul 2012 18:31:05 -0700
+
+haskell-artvaluereport2 (1.9.6) unstable; urgency=low
+
+  * Item fields restored. They are a list, not a record, which is not
+    handled by Builders.empty, so they needed to be created specially.
+
+ -- Clifford Beshers <beshers@seereason.com>  Fri, 13 Jul 2012 00:52:00 -0700
+
+haskell-artvaluereport2 (1.9.5) unstable; urgency=low
+
+  * Image source url sort of working.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 23:43:46 -0700
+
+haskell-artvaluereport2 (1.9.4) unstable; urgency=low
+
+  * Image source url start.
+
+ -- Clifford Beshers <beshers@seereason.com>  Thu, 12 Jul 2012 01:42:52 -0700
+
+haskell-artvaluereport2 (1.9.3) unstable; urgency=low
+
+  * Merge of big fork. Close to critical mass.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 10 Jul 2012 21:48:43 -0700
+
+haskell-artvaluereport2 (1.9.2) unstable; urgency=low
+
+  * Bumping version number to ensure everything is pushed to server, tracking down mysterious new report bug.
+
+ -- Clifford Beshers <beshers@seereason.com>  Mon, 07 May 2012 16:27:06 -0700
+
+haskell-artvaluereport2 (1.9.1) unstable; urgency=low
+
+  * Many improvements.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 01 May 2012 12:14:45 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage3) unstable; urgency=low
+
+  * Add markup for missing image.
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 28 Mar 2012 10:02:45 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage2) unstable; urgency=low
+
+  * Lots of formatting fixes.
+
+ -- Clifford Beshers <beshers@seereason.com>  Tue, 27 Mar 2012 22:32:41 -0700
+
+haskell-artvaluereport2 (1.9.0-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Clifford Beshers <beshers@seereason.com>  Wed, 29 Jun 2011 01:01:02 -0700
+
diff --git a/test-data/artvaluereport2/output/debian/compat b/test-data/artvaluereport2/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/compat
@@ -0,0 +1,1 @@
+7
diff --git a/test-data/artvaluereport2/output/debian/control b/test-data/artvaluereport2/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/control
@@ -0,0 +1,315 @@
+Source: haskell-artvaluereport2
+Priority: optional
+Section: haskell
+Maintainer: Clifford Beshers <beshers@seereason.com>
+Build-Depends: debhelper (>= 7.0)
+               , haskell-devscripts (>= 0.8)
+               , cdbs
+               , ghc
+               , ghc-prof
+               , libghc-extra-dev (>= 1.35)
+               , libghc-extra-prof (>= 1.35)
+               , libghc-hjscript-dev
+               , libghc-hjscript-prof
+               , libghc-hatex-dev
+               , libghc-hatex-prof
+               , libghc-quickcheck2-dev (>= 2)
+               , libghc-quickcheck2-prof (>= 2)
+               , libghc-rjson-dev
+               , libghc-rjson-prof
+               , libghc-unixutils-dev
+               , libghc-unixutils-prof
+               , libghc-acid-state-dev (>= 0.6)
+               , libghc-acid-state-prof (>= 0.6)
+               , libghc-applicative-extras-dev (>= 0.1.5)
+               , libghc-applicative-extras-prof (>= 0.1.5)
+               , libghc-archive-dev (>= 1.2.9)
+               , libghc-archive-prof (>= 1.2.9)
+               , libghc-artvaluereport-data-dev (>= 1.66)
+               , libghc-artvaluereport-data-prof (>= 1.66)
+               , libghc-authenticate-dev
+               , libghc-authenticate-prof
+               , libghc-base-dev | ghc
+               , libghc-base-prof | ghc-prof
+               , libghc-binary-dev | ghc
+               , libghc-binary-prof | ghc-prof
+               , libghc-blaze-html-dev (>= 0.6) | libghc-blaze-html-5-dev (<< 0.6)
+               , libghc-blaze-html-prof (>= 0.6) | libghc-blaze-html-5-prof (<< 0.6)
+               , libghc-blaze-markup-dev
+               , libghc-blaze-markup-prof
+               , libghc-bytestring-dev | ghc
+               , libghc-bytestring-prof | ghc-prof
+               , libghc-cereal-dev
+               , libghc-cereal-prof
+               , libghc-containers-dev | ghc
+               , libghc-containers-prof | ghc-prof
+               , libghc-data-accessor-dev
+               , libghc-data-accessor-prof
+               , libghc-debian-dev
+               , libghc-debian-prof
+               , libghc-debian-packaging-dev (>= 0.8)
+               , libghc-debian-packaging-prof (>= 0.8)
+               , libghc-digestive-functors-dev
+               , libghc-digestive-functors-prof
+               , libghc-digestive-functors-happstack-dev
+               , libghc-digestive-functors-happstack-prof
+               , libghc-directory-dev | ghc
+               , libghc-directory-prof | ghc-prof
+               , libghc-directory-tree-dev
+               , libghc-directory-tree-prof
+               , libghc-fb-dev
+               , libghc-fb-prof
+               , libghc-filepath-dev | ghc
+               , libghc-filepath-prof | ghc-prof
+               , libghc-groom-dev
+               , libghc-groom-prof
+               , libghc-happstack-dev
+               , libghc-happstack-prof
+               , libghc-happstack-authenticate-dev (>= 0.10) | libghc-happstack-authenticate-9-dev (<< 0.10)
+               , libghc-happstack-authenticate-prof (>= 0.10) | libghc-happstack-authenticate-9-prof (<< 0.10)
+               , libghc-happstack-extra-dev
+               , libghc-happstack-extra-prof
+               , libghc-happstack-hsp-dev
+               , libghc-happstack-hsp-prof
+               , libghc-happstack-scaffolding-dev (>= 0.23)
+               , libghc-happstack-scaffolding-prof (>= 0.23)
+               , libghc-happstack-server-dev
+               , libghc-happstack-server-prof
+               , libghc-happstack-util-dev
+               , libghc-happstack-util-prof
+               , libghc-harp-dev
+               , libghc-harp-prof
+               , libghc-hslogger-dev
+               , libghc-hslogger-prof
+               , libghc-hsp-dev (>= 0.4.4)
+               , libghc-hsp-prof (>= 0.4.4)
+               , libghc-hsx-dev
+               , libghc-hsx-prof
+               , libghc-html-dev
+               , libghc-html-prof
+               , libghc-html-entities-dev
+               , libghc-html-entities-prof
+               , libghc-ixset-dev
+               , libghc-ixset-prof
+               , libghc-jmacro-dev (>= 0.6.2)
+               , libghc-jmacro-prof (>= 0.6.2)
+               , libghc-json-dev
+               , libghc-json-prof
+               , libghc-language-css-dev
+               , libghc-language-css-prof
+               , libghc-lifted-base-dev
+               , libghc-lifted-base-prof
+               , libghc-mtl-dev
+               , libghc-mtl-prof
+               , libghc-network-dev (>= 2.4)
+               , libghc-network-prof (>= 2.4)
+               , libghc-old-locale-dev | ghc
+               , libghc-old-locale-prof | ghc-prof
+               , libghc-old-time-dev | ghc
+               , libghc-old-time-prof | ghc-prof
+               , libghc-pandoc-dev
+               , libghc-pandoc-prof
+               , libghc-parsec3-dev (>= 3) | libghc-parsec2-dev (<< 3)
+               , libghc-parsec3-prof (>= 3) | libghc-parsec2-prof (<< 3)
+               , libghc-pretty-dev | ghc
+               , libghc-pretty-prof | ghc-prof
+               , libghc-process-dev | ghc
+               , libghc-process-prof | ghc-prof
+               , libghc-process-extras-dev (>= 0.5)
+               , libghc-process-extras-prof (>= 0.5)
+               , libghc-puremd5-dev
+               , libghc-puremd5-prof
+               , libghc-random-dev
+               , libghc-random-prof
+               , libghc-regex-compat-dev
+               , libghc-regex-compat-prof
+               , libghc-revision-dev
+               , libghc-revision-prof
+               , libghc-safe-dev
+               , libghc-safe-prof
+               , libghc-safecopy-dev (>= 0.5.1)
+               , libghc-safecopy-prof (>= 0.5.1)
+               , libghc-syb-dev
+               , libghc-syb-prof
+               , libghc-syb-with-class-dev
+               , libghc-syb-with-class-prof
+               , libghc-tagged-dev
+               , libghc-tagged-prof
+               , libghc-text-dev
+               , libghc-text-prof
+               , libghc-time-dev | ghc
+               , libghc-time-prof | ghc-prof
+               , libghc-transformers-dev
+               , libghc-transformers-prof
+               , libghc-uniplate-dev
+               , libghc-uniplate-prof
+               , libghc-unix-dev | ghc
+               , libghc-unix-prof | ghc-prof
+               , libghc-utf8-string-dev
+               , libghc-utf8-string-prof
+               , libghc-web-routes-dev
+               , libghc-web-routes-prof
+               , libghc-web-routes-happstack-dev
+               , libghc-web-routes-happstack-prof
+               , libghc-web-routes-hsp-dev
+               , libghc-web-routes-hsp-prof
+               , libghc-web-routes-th-dev
+               , libghc-web-routes-th-prof
+               , libghc-xhtml-dev
+               , libghc-xhtml-prof
+Build-Depends-Indep: ghc-doc
+                     , libjs-jquery-ui (<< 1.10)
+                     , libjs-jquery
+                     , libjs-jcrop
+                     , libghc-extra-doc (>= 1.35)
+                     , libghc-hjscript-doc
+                     , libghc-hatex-doc
+                     , libghc-quickcheck2-doc (>= 2)
+                     , libghc-rjson-doc
+                     , libghc-unixutils-doc
+                     , libghc-acid-state-doc (>= 0.6)
+                     , libghc-applicative-extras-doc (>= 0.1.5)
+                     , libghc-archive-doc (>= 1.2.9)
+                     , libghc-artvaluereport-data-doc (>= 1.66)
+                     , libghc-authenticate-doc
+                     , libghc-base-doc | ghc-doc
+                     , libghc-binary-doc | ghc-doc
+                     , libghc-blaze-html-doc (>= 0.6) | libghc-blaze-html-5-doc (<< 0.6)
+                     , libghc-blaze-markup-doc
+                     , libghc-bytestring-doc | ghc-doc
+                     , libghc-cereal-doc
+                     , libghc-containers-doc | ghc-doc
+                     , libghc-data-accessor-doc
+                     , libghc-debian-doc
+                     , libghc-debian-packaging-doc (>= 0.8)
+                     , libghc-digestive-functors-doc
+                     , libghc-digestive-functors-happstack-doc
+                     , libghc-directory-doc | ghc-doc
+                     , libghc-directory-tree-doc
+                     , libghc-fb-doc
+                     , libghc-filepath-doc | ghc-doc
+                     , libghc-groom-doc
+                     , libghc-happstack-doc
+                     , libghc-happstack-authenticate-doc (>= 0.10)
+                     , libghc-happstack-extra-doc
+                     , libghc-happstack-hsp-doc
+                     , libghc-happstack-scaffolding-doc (>= 0.23)
+                     , libghc-happstack-server-doc
+                     , libghc-happstack-util-doc
+                     , libghc-harp-doc
+                     , libghc-hslogger-doc
+                     , libghc-hsp-doc (>= 0.4.4)
+                     , libghc-hsx-doc
+                     , libghc-html-doc
+                     , libghc-html-entities-doc
+                     , libghc-ixset-doc
+                     , libghc-jmacro-doc (>= 0.6.2)
+                     , libghc-json-doc
+		     , libghc-language-css-doc
+                     , libghc-lifted-base-doc
+                     , libghc-mtl-doc
+                     , libghc-network-doc (>= 2.4)
+                     , libghc-old-locale-doc | ghc-doc
+                     , libghc-old-time-doc | ghc-doc
+                     , libghc-pandoc-doc
+                     , libghc-parsec3-doc (>= 3) | libghc-parsec2-doc (<< 3)
+                     , libghc-pretty-doc | ghc-doc
+                     , libghc-process-doc | ghc-doc
+                     , libghc-process-extras-doc (>= 0.5)
+                     , libghc-puremd5-doc
+                     , libghc-random-doc
+                     , libghc-regex-compat-doc
+                     , libghc-revision-doc
+                     , libghc-safe-doc
+                     , libghc-safecopy-doc (>= 0.5.1)
+                     , libghc-syb-doc
+                     , libghc-syb-with-class-doc
+                     , libghc-tagged-doc
+                     , libghc-text-doc
+                     , libghc-time-doc | ghc-doc
+                     , libghc-transformers-doc
+                     , libghc-uniplate-doc
+                     , libghc-unix-doc | ghc-doc
+                     , libghc-utf8-string-doc
+                     , libghc-web-routes-doc
+                     , libghc-web-routes-happstack-doc
+                     , libghc-web-routes-hsp-doc
+                     , libghc-web-routes-th-doc
+                     , libghc-xhtml-doc
+Standards-Version: 3.9.1
+Homepage: http://appraisalreportonline.com
+
+Package: artvaluereport2-backups
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}, anacron
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: backup program for the appraisalreportonline.com site
+  Install this somewhere other than where the server is running get
+  automated backups of the database.
+
+Package: artvaluereport2-production
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}, apache2, libjpeg-progs, libjs-jcrop, libjs-jquery, libjs-jquery-ui, netpbm, texlive-fonts-extra, texlive-fonts-recommended, texlive-latex-extra, texlive-latex-recommended
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Haskell modules for fine art appraisal applications
+ Haskell modules for fine art appraisal applications
+ .
+  Author: David Fox <dsf@seereason.com>, Clifford Beshers <beshers@seereason.com>
+  Upstream-Maintainer: Clifford Beshers <beshers@seereason.com>
+ .
+ An executable built from the ArtValueReport package.
+
+Package: artvaluereport2-development
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}, libjpeg-progs, libjs-jcrop, libjs-jquery, libjs-jquery-ui, netpbm, texlive-fonts-extra, texlive-fonts-recommended, texlive-latex-extra, texlive-latex-recommended
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Haskell modules for fine art appraisal applications
+ Haskell modules for fine art appraisal applications
+ .
+  Author: David Fox <dsf@seereason.com>, Clifford Beshers <beshers@seereason.com>
+  Upstream-Maintainer: Clifford Beshers <beshers@seereason.com>
+ .
+ An executable built from the ArtValueReport package.
+
+Package: artvaluereport2-staging
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}, libjpeg-progs, libjs-jcrop, libjs-jquery, libjs-jquery-ui, netpbm, texlive-fonts-extra, texlive-fonts-recommended, texlive-latex-extra, texlive-latex-recommended
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Haskell modules for fine art appraisal applications
+ Haskell modules for fine art appraisal applications
+ .
+  Author: David Fox <dsf@seereason.com>, Clifford Beshers <beshers@seereason.com>
+  Upstream-Maintainer: Clifford Beshers <beshers@seereason.com>
+ .
+ An executable built from the ArtValueReport package.
+
+Package: appraisalscope
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: Offline manipulation of appraisal database
diff --git a/test-data/artvaluereport2/output/debian/copyright b/test-data/artvaluereport2/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/copyright
@@ -0,0 +1,2 @@
+(c) 2008-2011, SeeReason Partners LLC
+License: Proprietary
diff --git a/test-data/artvaluereport2/output/debian/rules b/test-data/artvaluereport2/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/rules
@@ -0,0 +1,20 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = artvaluereport
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/artvaluereport2-staging:: build-ghc-stamp
+build/artvaluereport2-production:: build-ghc-stamp
+build/artvaluereport2-development:: build-ghc-stamp
+build/artvaluereport2-backups:: build-ghc-stamp
+build/appraisalscope:: build-ghc-stamp
+binary-fixup/artvaluereport2-staging::
+	install -Dps dist-ghc/build/artvaluereport2-server/artvaluereport2-server debian/artvaluereport2-staging/usr/bin/artvaluereport2-staging
+
+binary-fixup/artvaluereport2-production::
+	install -Dps dist-ghc/build/artvaluereport2-server/artvaluereport2-server debian/artvaluereport2-production/usr/bin/artvaluereport2-production
+
+binary-fixup/artvaluereport2-development::
+	install -Dps dist-ghc/build/artvaluereport2-server/artvaluereport2-server debian/artvaluereport2-development/usr/bin/artvaluereport2-development
diff --git a/test-data/artvaluereport2/output/debian/watch b/test-data/artvaluereport2/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/artvaluereport2/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|ArtValueReport-$1.tar.gz|" \
+    http://hackage.haskell.org/package/ArtValueReport \
+    ([\d\.]*\d)/
diff --git a/test-data/clckwrks-dot-com/input/LICENSE b/test-data/clckwrks-dot-com/input/LICENSE
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/input/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 2012, Jeremy Shaw
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Jeremy Shaw nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/test-data/clckwrks-dot-com/input/clckwrks-dot-com.cabal b/test-data/clckwrks-dot-com/input/clckwrks-dot-com.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/input/clckwrks-dot-com.cabal
@@ -0,0 +1,46 @@
+name:                clckwrks-dot-com
+version:             0.2.4
+synopsis:            clckwrks.com
+homepage:            http://www.clckwrks.com/
+license:             BSD3
+license-file:        LICENSE
+author:              Jeremy Shaw
+maintainer:          Jeremy Shaw <jeremy@n-heptane.com>
+category:            Clckwrks
+build-type:          Simple
+cabal-version:       >=1.8
+synopsis:            clckwrks.com
+
+source-repository head
+    type:     darcs
+    subdir:   clckwrks-dot-com
+    location: http://hub.darcs.net/stepcut/clckwrks
+
+Flag backups
+     Description: enable the backups executable (currently disabled by default do to wacky dependencies not on hackage)
+     Default: False
+
+Executable             clckwrks-dot-com-server
+  main-is:             Main.hs
+  ghc-options:         -threaded -O2 -rtsopts -with-rtsopts=-I0
+  build-depends:       base                     > 4 && <5,
+                       clckwrks                 >= 0.13 && < 0.15,
+                       clckwrks-theme-clckwrks  == 0.2.*,
+                       clckwrks-plugin-bugs     == 0.3.*,
+                       clckwrks-plugin-media    == 0.3.*,
+                       containers               == 0.4.*,
+                       happstack-server         >= 7.0 && < 7.2,
+                       hsp                      == 0.7.*,
+                       mtl                      >= 2.0 && < 2.2,
+                       text                     == 0.11.*,
+                       web-plugins              == 0.1.*
+
+Executable clckwrks-dot-com-backups
+   Main-Is: Backups.hs
+ if flag(backups)
+   Buildable: True
+   GHC-Options: -threaded -Wall -Wwarn -O2 -fno-warn-name-shadowing -fno-warn-missing-signatures -fwarn-tabs -fno-warn-unused-binds -fno-warn-orphans -fwarn-unused-imports -fno-spec-constr
+   Build-depends: archive >= 1.2.9, base, Extra
+ else
+   Buildable: False
+
diff --git a/test-data/clckwrks-dot-com/input/debian/Debianize.hs b/test-data/clckwrks-dot-com/input/debian/Debianize.hs
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/input/debian/Debianize.hs
@@ -0,0 +1,95 @@
+import Data.List (isPrefixOf)
+import Debian.Relation (BinPkgName(..))
+import Debian.Cabal.Config (Flags(..), defaultConfig, defaultFlags, Executable(..), Server(..), Site(..), tightDependencyFixup)
+import Debian.Cabal.Types (DebAtom(..))
+import Debian.Cabal.Debianize
+import Debian.Cabal.Server (databaseDirectory)
+import Distribution.Simple
+import qualified Paths_clckwrks as Clckwrks
+
+main :: IO ()
+main = config >>= deb >>= uncurry (doDebianization config)
+
+deb :: Config -> IO (Debianization, Debianization)
+deb config = debianizationWithIO config
+
+config :: IO Config
+config =
+    do jstreePath <- Clckwrks.getDataFileName "jstree"
+       json2Path  <- Clckwrks.getDataFileName "json2"
+       (defaultConfig defaultFlags)
+                      { missingDependencies = ["libghc-clckwrks-theme-clckwrks-doc"]
+                      , executablePackages  = map (theSite jstreePath json2Path "clckwrks-dot-com-server") serverNames ++ [backups]
+                      , haddock             = True
+                      , revision            = ""
+                      , modifyAtoms = \ atoms ->
+                          map fixRulesHead atoms ++
+                          concatMap
+                            (\ package -> tightDependencyFixup package
+                                             -- For each pair (A, B) make sure that this package requires the
+                                             -- same exact version of package B as the version of A currently
+                                             -- installed during the build.
+                                             [("libghc-clckwrks-theme-clckwrks-dev", "haskell-clckwrks-theme-clckwrks-utils"),
+                                              ("libghc-clckwrks-plugin-media-dev", "haskell-clckwrks-plugin-media-utils"),
+                                              ("libghc-clckwrks-plugin-bugs-dev", "haskell-clckwrks-plugin-bugs-utils"),
+                                              ("libghc-clckwrks-dev", "haskell-clckwrks-utils")])
+                              serverNames }
+    where
+      serverNames = map BinPkgName ["clckwrks-dot-com-production"] -- , "clckwrks-dot-com-staging", "clckwrks-dot-com-development"]
+      -- Insert a line just above the debhelper.mk include
+      fixRulesHead (DebRulesHead s) = DebRulesHead $ unlines $ concat $
+          map (\ line -> if line == "include /usr/share/cdbs/1/rules/debhelper.mk"
+                         then ["DEB_SETUP_GHC_CONFIGURE_ARGS = -fbackups", "", line]
+                         else [line]) (lines s)
+      fixRulesHead x = x
+
+theSite :: FilePath -> FilePath -> String -> BinPkgName -> Executable
+theSite jstreePath json2Path name (BinPkgName deb) =
+    let this = Executable
+          { debName    = deb
+          , execName   = name
+          , destName   = deb
+          , sourceDir  = Nothing
+          , destDir    = Nothing
+          , execServer =
+              Just (Server
+                    { hostname =
+                          case deb of
+                            "clckwrks-dot-com-production" -> hostname
+                            _ -> hostname
+                    , port = portNum
+                    , site =
+                        case deb of
+                          "clckwrks-dot-com-production" -> Just (Site { domain = hostname, serverAdmin = "logic@seereason.com" })
+                          _                             -> Nothing
+                    , headerMessage = "Generated by clckwrks-dot-com/Setup.hs"
+                    , retry = "60"
+                    , flags = [ "--http-port", show portNum
+                              , "--hide-port"
+                              , "--hostname", hostname
+                              , "--top", databaseDirectory this
+                              , "--enable-analytics"
+                              , "--jquery-path", "/usr/share/javascript/jquery/"
+                              , "--jqueryui-path", "/usr/share/javascript/jquery-ui/"
+                              , "--jstree-path", jstreePath
+                              , "--json2-path",json2Path
+                              ]
+                    }) }
+    in this
+    where
+      hostname = "clckwrks.com"
+      portNum =
+          case deb of
+            "clckwrks-dot-com-production"  -> 9029
+            "clckwrks-dot-com-staging"     -> 9038
+            "clckwrks-dot-com-development" -> 9039
+            _ -> error $ "Unexpected package name: " ++ name
+
+backups =
+    Executable
+    { execName   = "clckwrks-dot-com-backups"
+    , destName   = "clckwrks-dot-com-backups"
+    , debName    = "clckwrks-dot-com-backups"
+    , sourceDir  = Nothing
+    , destDir    = Just "/etc/cron.hourly"
+    , execServer = Nothing }
diff --git a/test-data/clckwrks-dot-com/input/debian/changelog b/test-data/clckwrks-dot-com/input/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/input/debian/changelog
@@ -0,0 +1,103 @@
+haskell-clckwrks-dot-com (0.2.4) unstable; urgency=low
+
+  * Bumped to allow clckwrks 0.14
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 26 Dec 2012 11:56:20 -0600
+
+haskell-clckwrks-dot-com (0.2.3) unstable; urgency=low
+
+  * Added -rtsopts flag because the debian packaging requires it
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Dec 2012 15:51:07 -0600
+
+haskell-clckwrks-dot-com (0.2.2) unstable; urgency=low
+
+  * Added -with-rtsopts=-I0 flag to ghc-options
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 19 Dec 2012 15:20:12 -0600
+
+haskell-clckwrks-dot-com (0.2.1) unstable; urgency=low
+
+  * include blogHandler hack
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 11 Dec 2012 00:06:09 -0600
+
+haskell-clckwrks-dot-com (0.2.0) unstable; urgency=low
+
+  * Updated to clckwrks 0.13.*
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 28 Nov 2012 15:58:44 -0600
+
+haskell-clckwrks-dot-com (0.1.18) unstable; urgency=low
+
+  * Allow most recent containers
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 05 Oct 2012 18:49:33 -0500
+
+haskell-clckwrks-dot-com (0.1.17) unstable; urgency=low
+
+  * Updated to clckwrks 0.12
+  * Added waitForTermination
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 22 Aug 2012 12:08:33 -0500
+
+haskell-clckwrks-dot-com (0.1.16) unstable; urgency=low
+
+  * Now with support for page slugs
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 10 Aug 2012 15:13:24 -0500
+
+haskell-clckwrks-dot-com (0.1.15) unstable; urgency=low
+
+  * updated to latest clcwrks
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 19 Jun 2012 17:48:37 -0500
+
+haskell-clckwrks-dot-com (0.1.13) unstable; urgency=low
+
+  * Bumped by accident, but whatever.
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 09 Jun 2012 17:52:18 -0500
+
+haskell-clckwrks-dot-com (0.1.11) unstable; urgency=low
+
+  * Who knows
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 05 Jun 2012 16:39:52 -0500
+
+haskell-clckwrks-dot-com (0.1.6) unstable; urgency=low
+
+  * Also generate depends on haskell-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 18:22:27 -0500
+
+haskell-clckwrks-dot-com (0.1.5) unstable; urgency=low
+
+  * Fixed debian/rules so that it generates the depends for
+    haskell-clckwrks-theme-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 16:31:20 -0500
+
+haskell-clckwrks-dot-com (0.1.4) unstable; urgency=low
+
+  * Added missing 'cpp-options: -DCABAL' to .cabal
+  * Added missing depends on haskell-clckwrks-theme-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 15:07:35 -0500
+
+haskell-clckwrks-dot-com (0.1.3) unstable; urgency=low
+
+  * Updated command-line processing to match what happstack-debianization expects
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 12:39:45 -0500
+
+haskell-clckwrks-dot-com (0.1.2-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 20 May 2012 13:50:50 -0500
diff --git a/test-data/clckwrks-dot-com/output/debian/Debianize.hs b/test-data/clckwrks-dot-com/output/debian/Debianize.hs
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/Debianize.hs
@@ -0,0 +1,91 @@
+import Data.List (isPrefixOf)
+import Debian.Relation (BinPkgName(..))
+import Distribution.Debian (Flags(..), Config(..), defaultFlags, Executable(..), Server(..), Site(..), tightDependencyFixup)
+import Distribution.Debian.DebHelper (DebAtom(..))
+import Distribution.Debian.Debianize
+import Distribution.Debian.Server (databaseDirectory)
+import Distribution.Simple
+import qualified Paths_clckwrks as Clckwrks
+
+main :: IO ()
+main =
+    do jstreePath <- Clckwrks.getDataFileName "jstree"
+       json2Path  <- Clckwrks.getDataFileName "json2"
+       Distribution.Debian.Debianize.debianize $
+         Config { flags = defaultFlags
+                      { missingDependencies = ["libghc-clckwrks-theme-clckwrks-doc"]
+                      , executablePackages  = map (theSite jstreePath json2Path "clckwrks-dot-com-server") serverNames ++ [backups]
+                      , haddock             = True
+                      , revision            = "" }
+                , modifyAtoms = \ atoms ->
+                          map fixRulesHead atoms ++
+                          concatMap
+                            (\ package -> tightDependencyFixup package
+                                             -- For each pair (A, B) make sure that this package requires the
+                                             -- same exact version of package B as the version of A currently
+                                             -- installed during the build.
+                                             [("libghc-clckwrks-theme-clckwrks-dev", "haskell-clckwrks-theme-clckwrks-utils"),
+                                              ("libghc-clckwrks-plugin-media-dev", "haskell-clckwrks-plugin-media-utils"),
+                                              ("libghc-clckwrks-plugin-bugs-dev", "haskell-clckwrks-plugin-bugs-utils"),
+                                              ("libghc-clckwrks-dev", "haskell-clckwrks-utils")])
+                              serverNames }
+    where
+      serverNames = map BinPkgName ["clckwrks-dot-com-production"] -- , "clckwrks-dot-com-staging", "clckwrks-dot-com-development"]
+      -- Insert a line just above the debhelper.mk include
+      fixRulesHead (DebRulesHead s) = DebRulesHead $ unlines $ concat $
+          map (\ line -> if line == "include /usr/share/cdbs/1/rules/debhelper.mk"
+                         then ["DEB_SETUP_GHC_CONFIGURE_ARGS = -fbackups", "", line]
+                         else [line]) (lines s)
+      fixRulesHead x = x
+
+theSite :: FilePath -> FilePath -> String -> BinPkgName -> Executable
+theSite jstreePath json2Path name (BinPkgName deb) =
+    let this = Executable
+          { debName    = deb
+          , execName   = name
+          , destName   = deb
+          , sourceDir  = Nothing
+          , destDir    = Nothing
+          , execServer =
+              Just (Server
+                    { hostname =
+                          case deb of
+                            "clckwrks-dot-com-production" -> hostname
+                            _ -> hostname
+                    , port = portNum
+                    , site =
+                        case deb of
+                          "clckwrks-dot-com-production" -> Just (Site { domain = hostname, serverAdmin = "logic@seereason.com" })
+                          _                             -> Nothing
+                    , headerMessage = "Generated by clckwrks-dot-com/Setup.hs"
+                    , retry = "60"
+                    , serverFlags =
+                              [ "--http-port", show portNum
+                              , "--hide-port"
+                              , "--hostname", hostname
+                              , "--top", databaseDirectory this
+                              , "--enable-analytics"
+                              , "--jquery-path", "/usr/share/javascript/jquery/"
+                              , "--jqueryui-path", "/usr/share/javascript/jquery-ui/"
+                              , "--jstree-path", jstreePath
+                              , "--json2-path",json2Path
+                              ]
+                    }) }
+    in this
+    where
+      hostname = "clckwrks.com"
+      portNum =
+          case deb of
+            "clckwrks-dot-com-production"  -> 9029
+            "clckwrks-dot-com-staging"     -> 9038
+            "clckwrks-dot-com-development" -> 9039
+            _ -> error $ "Unexpected package name: " ++ name
+
+backups =
+    Executable
+    { execName   = "clckwrks-dot-com-backups"
+    , destName   = "clckwrks-dot-com-backups"
+    , debName    = "clckwrks-dot-com-backups"
+    , sourceDir  = Nothing
+    , destDir    = Just "/etc/cron.hourly"
+    , execServer = Nothing }
diff --git a/test-data/clckwrks-dot-com/output/debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com b/test-data/clckwrks-dot-com/output/debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com
@@ -0,0 +1,32 @@
+<VirtualHost *:80>
+    ServerAdmin logic@seereason.com
+    ServerName www.clckwrks.com
+    ServerAlias clckwrks.com
+
+    ErrorLog /var/log/apache2/clckwrks-dot-com-production/error.log
+    CustomLog /var/log/apache2/clckwrks-dot-com-production/access.log combined
+
+    ProxyRequests Off
+    AllowEncodedSlashes NoDecode
+
+    <Proxy *>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                Deny from all
+                #Allow from all
+    </Proxy>
+
+    <Proxy http://127.0.0.1:9029/*>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                #Deny from all
+                Allow from all
+    </Proxy>
+
+    SetEnv proxy-sendcl 1
+
+    ProxyPass / http://127.0.0.1:9029/ nocanon
+    ProxyPassReverse / http://127.0.0.1:9029/
+</VirtualHost>
diff --git a/test-data/clckwrks-dot-com/output/debian/changelog b/test-data/clckwrks-dot-com/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/changelog
@@ -0,0 +1,102 @@
+haskell-clckwrks-dot-com (0.2.4) unstable; urgency=low
+
+  * Bumped to allow clckwrks 0.14
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 26 Dec 2012 11:56:20 -0600
+
+haskell-clckwrks-dot-com (0.2.3) unstable; urgency=low
+
+  * Added -rtsopts flag because the debian packaging requires it
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Dec 2012 15:51:07 -0600
+
+haskell-clckwrks-dot-com (0.2.2) unstable; urgency=low
+
+  * Added -with-rtsopts=-I0 flag to ghc-options
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 19 Dec 2012 15:20:12 -0600
+
+haskell-clckwrks-dot-com (0.2.1) unstable; urgency=low
+
+  * include blogHandler hack
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 11 Dec 2012 00:06:09 -0600
+
+haskell-clckwrks-dot-com (0.2.0) unstable; urgency=low
+
+  * Updated to clckwrks 0.13.*
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+  * Debianization generated by cabal-debian
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 28 Nov 2012 15:58:44 -0600
+
+haskell-clckwrks-dot-com (0.1.18) unstable; urgency=low
+
+  * Allow most recent containers
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 05 Oct 2012 18:49:33 -0500
+
+haskell-clckwrks-dot-com (0.1.17) unstable; urgency=low
+
+  * Updated to clckwrks 0.12
+  * Added waitForTermination
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 22 Aug 2012 12:08:33 -0500
+
+haskell-clckwrks-dot-com (0.1.16) unstable; urgency=low
+
+  * Now with support for page slugs
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 10 Aug 2012 15:13:24 -0500
+
+haskell-clckwrks-dot-com (0.1.15) unstable; urgency=low
+
+  * updated to latest clcwrks
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 19 Jun 2012 17:48:37 -0500
+
+haskell-clckwrks-dot-com (0.1.13) unstable; urgency=low
+
+  * Bumped by accident, but whatever.
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 09 Jun 2012 17:52:18 -0500
+
+haskell-clckwrks-dot-com (0.1.11) unstable; urgency=low
+
+  * Who knows
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 05 Jun 2012 16:39:52 -0500
+
+haskell-clckwrks-dot-com (0.1.6) unstable; urgency=low
+
+  * Also generate depends on haskell-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 18:22:27 -0500
+
+haskell-clckwrks-dot-com (0.1.5) unstable; urgency=low
+
+  * Fixed debian/rules so that it generates the depends for
+    haskell-clckwrks-theme-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 16:31:20 -0500
+
+haskell-clckwrks-dot-com (0.1.4) unstable; urgency=low
+
+  * Added missing 'cpp-options: -DCABAL' to .cabal
+  * Added missing depends on haskell-clckwrks-theme-clckwrks-utils
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 15:07:35 -0500
+
+haskell-clckwrks-dot-com (0.1.3) unstable; urgency=low
+
+  * Updated command-line processing to match what happstack-debianization expects
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 21 May 2012 12:39:45 -0500
+
+haskell-clckwrks-dot-com (0.1.2-1~hackage1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 20 May 2012 13:50:50 -0500
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.install b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.install
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.install
@@ -0,0 +1,1 @@
+dist-ghc/build/clckwrks-dot-com-backups/clckwrks-dot-com-backups /etc/cron.hourly
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.postinst b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-backups.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    /etc/cron.hourly/clckwrks-dot-com-backups --initialize
+    ;;
+esac
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.dirs b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.dirs
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.dirs
@@ -0,0 +1,2 @@
+/etc/apache2/sites-available
+/var/log/apache2/clckwrks-dot-com-production
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.init b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.init
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/clckwrks-dot-com-production && . /etc/default/clckwrks-dot-com-production
+
+case "$1" in
+  start)
+    test -x /usr/bin/clckwrks-dot-com-production || exit 0
+    log_begin_msg "Starting clckwrks-dot-com-production..."
+    mkdir -p /srv/clckwrks-dot-com-production
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/clckwrks-dot-com-production" "--exec" "/usr/bin/clckwrks-dot-com-production" "--pidfile" "/var/run/clckwrks-dot-com-production" "--" "--http-port" "9029" "--hide-port" "--hostname" "clckwrks.com" "--top" "/srv/clckwrks-dot-com-production" "--enable-analytics" "--jquery-path" "/usr/share/javascript/jquery/" "--jqueryui-path" "/usr/share/javascript/jquery-ui/" "--jstree-path" "/usr/share/clckwrks-0.13.2/jstree" "--json2-path" "/usr/share/clckwrks-0.13.2/json2"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping clckwrks-dot-com-production..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/clckwrks-dot-com-production"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.install b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.install
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.install
@@ -0,0 +1,1 @@
+debian/cabalInstall/6cb4323c6b76525f567919adaf912663/clckwrks.com /etc/apache2/sites-available/
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.links b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.links
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.links
@@ -0,0 +1,1 @@
+/etc/apache2/sites-available/clckwrks.com /etc/apache2/sites-enabled/clckwrks.com
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.logrotate b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.logrotate
@@ -0,0 +1,27 @@
+/var/log/apache2/clckwrks-dot-com-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/apache2/clckwrks-dot-com-production/error.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/clckwrks-dot-com-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/clckwrks-dot-com-production/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.postinst b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/clckwrks-dot-com-production.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    # Apache won't start if this directory doesn't exist
+    mkdir -p /var/log/apache2/clckwrks-dot-com-production
+    # Restart apache so it sees the new file in /etc/apache2/sites-enabled
+    /usr/sbin/a2enmod proxy
+    /usr/sbin/a2enmod proxy_http
+    service apache2 restart
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/clckwrks-dot-com/output/debian/compat b/test-data/clckwrks-dot-com/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/compat
@@ -0,0 +1,1 @@
+7
diff --git a/test-data/clckwrks-dot-com/output/debian/control b/test-data/clckwrks-dot-com/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/control
@@ -0,0 +1,107 @@
+Source: haskell-clckwrks-dot-com
+Maintainer: Jeremy Shaw <jeremy@n-heptane.com>
+Priority: optional
+Section: haskell
+Build-Depends: debhelper (>= 7.0)
+               , haskell-devscripts (>= 0.8)
+               , cdbs
+               , ghc
+               , ghc-prof
+               , libghc-base-dev (>> 4) | ghc
+               , libghc-base-dev (<< 5) | ghc
+               , libghc-base-prof (>> 4) | ghc-prof
+               , libghc-base-prof (<< 5) | ghc-prof
+               , libghc-clckwrks-dev (>= 0.13)
+               , libghc-clckwrks-dev (<< 0.15)
+               , libghc-clckwrks-prof (>= 0.13)
+               , libghc-clckwrks-prof (<< 0.15)
+               , libghc-clckwrks-plugin-bugs-dev (>= 0.3)
+               , libghc-clckwrks-plugin-bugs-dev (<< 0.4)
+               , libghc-clckwrks-plugin-bugs-prof (>= 0.3)
+               , libghc-clckwrks-plugin-bugs-prof (<< 0.4)
+               , libghc-clckwrks-plugin-media-dev (>= 0.3)
+               , libghc-clckwrks-plugin-media-dev (<< 0.4)
+               , libghc-clckwrks-plugin-media-prof (>= 0.3)
+               , libghc-clckwrks-plugin-media-prof (<< 0.4)
+               , libghc-clckwrks-theme-clckwrks-dev (>= 0.2)
+               , libghc-clckwrks-theme-clckwrks-dev (<< 0.3)
+               , libghc-clckwrks-theme-clckwrks-prof (>= 0.2)
+               , libghc-clckwrks-theme-clckwrks-prof (<< 0.3)
+               , libghc-containers-dev (>= 0.4) | ghc
+               , libghc-containers-dev (<< 0.5) | ghc
+               , libghc-containers-prof (>= 0.4) | ghc-prof
+               , libghc-containers-prof (<< 0.5) | ghc-prof
+               , libghc-happstack-server-dev (>= 7.0)
+               , libghc-happstack-server-dev (<< 7.2)
+               , libghc-happstack-server-prof (>= 7.0)
+               , libghc-happstack-server-prof (<< 7.2)
+               , libghc-hsp-dev (>= 0.7)
+               , libghc-hsp-dev (<< 0.8)
+               , libghc-hsp-prof (>= 0.7)
+               , libghc-hsp-prof (<< 0.8)
+               , libghc-mtl-dev (>= 2.0)
+               , libghc-mtl-dev (<< 2.2)
+               , libghc-mtl-prof (>= 2.0)
+               , libghc-mtl-prof (<< 2.2)
+               , libghc-text-dev (>= 0.11)
+               , libghc-text-dev (<< 0.12)
+               , libghc-text-prof (>= 0.11)
+               , libghc-text-prof (<< 0.12)
+               , libghc-web-plugins-dev (>= 0.1)
+               , libghc-web-plugins-dev (<< 0.2)
+               , libghc-web-plugins-prof (>= 0.1)
+               , libghc-web-plugins-prof (<< 0.2)
+Build-Depends-Indep: ghc-doc
+                     , libghc-base-doc (>> 4) | ghc-doc
+                     , libghc-base-doc (<< 5) | ghc-doc
+                     , libghc-clckwrks-doc (>= 0.13)
+                     , libghc-clckwrks-doc (<< 0.15)
+                     , libghc-clckwrks-plugin-bugs-doc (>= 0.3)
+                     , libghc-clckwrks-plugin-bugs-doc (<< 0.4)
+                     , libghc-clckwrks-plugin-media-doc (>= 0.3)
+                     , libghc-clckwrks-plugin-media-doc (<< 0.4)
+                     , libghc-containers-doc (>= 0.4) | ghc-doc
+                     , libghc-containers-doc (<< 0.5) | ghc-doc
+                     , libghc-happstack-server-doc (>= 7.0)
+                     , libghc-happstack-server-doc (<< 7.2)
+                     , libghc-hsp-doc (>= 0.7)
+                     , libghc-hsp-doc (<< 0.8)
+                     , libghc-mtl-doc (>= 2.0)
+                     , libghc-mtl-doc (<< 2.2)
+                     , libghc-text-doc (>= 0.11)
+                     , libghc-text-doc (<< 0.12)
+                     , libghc-web-plugins-doc (>= 0.1)
+                     , libghc-web-plugins-doc (<< 0.2)
+Standards-Version: 3.9.4
+Homepage: http://www.clckwrks.com/
+
+Package: clckwrks-dot-com-production
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: clckwrks.com
+ .
+ An executable built from the clckwrks-dot-com package.
+
+Package: clckwrks-dot-com-backups
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+         , anacron
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: clckwrks.com
+ .
+ An executable built from the clckwrks-dot-com package.
diff --git a/test-data/clckwrks-dot-com/output/debian/copyright b/test-data/clckwrks-dot-com/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/copyright
@@ -0,0 +1,30 @@
+Copyright (c) 2012, Jeremy Shaw
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Jeremy Shaw nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/test-data/clckwrks-dot-com/output/debian/rules b/test-data/clckwrks-dot-com/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/rules
@@ -0,0 +1,33 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = clckwrks-dot-com
+
+DEB_SETUP_GHC_CONFIGURE_ARGS = -fbackups
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/clckwrks-dot-com-production:: build-ghc-stamp
+build/clckwrks-dot-com-backups:: build-ghc-stamp
+binary-fixup/clckwrks-dot-com-production::
+	install -Dps dist-ghc/build/clckwrks-dot-com-server/clckwrks-dot-com-server debian/clckwrks-dot-com-production/usr/bin/clckwrks-dot-com-production
+
+binary-fixup/clckwrks-dot-com-production::
+	echo -n 'haskell:Depends=' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-theme-clckwrks-utils (=$${Version})' libghc-clckwrks-theme-clckwrks-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-plugin-media-utils (=$${Version})' libghc-clckwrks-plugin-media-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-plugin-bugs-utils (=$${Version})' libghc-clckwrks-plugin-bugs-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-utils (=$${Version})' libghc-clckwrks-dev >> debian/clckwrks-dot-com-production.substvars
+	echo '' >> debian/clckwrks-dot-com-production.substvars
+	echo -n 'haskell:Conflicts=' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-theme-clckwrks-utils (>>$${Version})' libghc-clckwrks-theme-clckwrks-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-plugin-media-utils (>>$${Version})' libghc-clckwrks-plugin-media-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-plugin-bugs-utils (>>$${Version})' libghc-clckwrks-plugin-bugs-dev >> debian/clckwrks-dot-com-production.substvars
+	echo -n ', ' >> debian/clckwrks-dot-com-production.substvars
+	dpkg-query -W -f='haskell-clckwrks-utils (>>$${Version})' libghc-clckwrks-dev >> debian/clckwrks-dot-com-production.substvars
+	echo '' >> debian/clckwrks-dot-com-production.substvars
diff --git a/test-data/clckwrks-dot-com/output/debian/source/format b/test-data/clckwrks-dot-com/output/debian/source/format
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (native)
diff --git a/test-data/clckwrks-dot-com/output/debian/watch b/test-data/clckwrks-dot-com/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/clckwrks-dot-com/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|clckwrks-dot-com-$1.tar.gz|" \
+    http://hackage.haskell.org/package/clckwrks-dot-com \
+    ([\d\.]*\d)/
diff --git a/test-data/creativeprompts/input/creativeprompts.cabal b/test-data/creativeprompts/input/creativeprompts.cabal
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/input/creativeprompts.cabal
@@ -0,0 +1,95 @@
+Name: creativeprompts
+Version: 1.5.2
+License: AllRightsReserved
+License-File: debian/copyright
+Copyright: (c) 2010-2011 SeeReason Partners LLC
+Author: Jeremy Shaw <jeremy@seereason.com>
+Maintainer: Jeremy Shaw <jeremy@seereason.com>
+Stability: Experimental
+Category: Web
+Synopsis: creativeprompts.com
+Description:
+ A social site for sharing story ideas.
+Cabal-version: >= 1.8
+Build-type: Custom
+Data-files:
+            static/theme/comment-bottom.png
+            static/theme/comment-middle.png
+            static/theme/comment-top.png
+            static/theme/creative-prompts-logo.png
+            static/theme/entry-bottom.png
+            static/theme/entry-middle.png
+            static/theme/entry-top.png
+            static/theme/json2.js
+            static/theme/menu-bar-background.png
+            static/theme/menu-gradient.png
+            static/theme/paint-background.jpg
+            static/theme/site.js
+            static/theme/style.css
+
+Flag base4
+    Description: Choose the even newer, even smaller, split-up base package.
+
+Executable creativeprompts-server
+ Main-Is: Main.hs
+
+ GHC-Options: -threaded -Wall -Wwarn -O2 -rtsopts -fno-warn-name-shadowing -fno-warn-missing-signatures -fwarn-tabs -fno-warn-unused-binds -fno-warn-orphans -fwarn-unused-imports -fno-spec-constr
+ Build-depends: acid-state >= 0.6.0,
+                authenticate >= 0.8.0,
+                blaze-html >= 0.5,
+                blaze-markup,
+                bytestring,
+                containers,
+                debian-packaging >= 0.8,
+--                PBKDF2 >= 0.3.1 && < 0.4,
+                safecopy >= 0.6.0,
+                directory,
+                extensible-exceptions,
+                Extra,
+                filepath,
+                digestive-functors >= 0.2,
+                digestive-functors-happstack >= 0.1,
+                digestive-functors-hsp >= 0.3.1,
+                happstack-authenticate >= 0.6,
+--                happstack-extra,
+                happstack-hsp          == 7.1.*,
+                ixset,
+--                happstack-facebook,
+                happstack-server       == 7.0.*,
+                HJScript,
+                hslogger,
+                hsx                    >= 0.10.2 && < 0.11,
+                hsp                    >= 0.7.1  && < 0.8,
+                HTTP,
+                jmacro,
+                json,
+                mtl,
+                network,
+                old-time,
+                old-locale,
+                parsec,
+                process,
+                QuickCheck,
+                random,
+                text >= 0.11,
+                time,
+                unix,
+                Unixutils >= 1.29,
+                Unixutils-shadow,
+                utf8-string,
+                web-routes >= 0.26.2,
+                web-routes-happstack,
+                web-routes-hsp,
+                web-routes-th,
+                xss-sanitize >= 0.3.0.1
+ if !os(windows)
+   -- Cabal has a bug on windows and cannot find trhsx
+   Build-Tools: trhsx
+
+ if flag(base4)
+    Build-Depends: base >= 4 && < 5, syb
+
+Executable creativeprompts-backups
+ Main-Is: Backups.hs
+ GHC-Options: -threaded -Wall -Wwarn -O2 -rtsopts -fno-warn-name-shadowing -fno-warn-missing-signatures -fwarn-tabs -fno-warn-unused-binds -fno-warn-orphans -fwarn-unused-imports -fno-spec-constr
+ Build-depends: archive >= 1.2.9, base, Extra
diff --git a/test-data/creativeprompts/input/debian/changelog b/test-data/creativeprompts/input/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/input/debian/changelog
@@ -0,0 +1,158 @@
+haskell-creativeprompts (1.5.2) unstable; urgency=low
+
+  * Updated to hsx 0.10
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 24 Apr 2012 14:16:12 -0500
+
+haskell-creativeprompts (1.5.1) unstable; urgency=low
+
+  * Updated to safecopy / acid-state 0.6.0
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 15 Nov 2011 21:28:31 -0600
+
+haskell-creativeprompts (1.4.1) unstable; urgency=low
+
+  * Updated to web-routes-0.26.2
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 07 Oct 2011 21:49:47 -0500
+
+haskell-creativeprompts (1.4.0) unstable; urgency=low
+
+  * Updated to latest happstack-authenticate
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 27 Sep 2011 19:13:21 -0500
+
+haskell-creativeprompts (1.3.0) unstable; urgency=low
+
+  * Upgrade to latest ixset
+  * Upgrade to latest xss-sanitize
+  * Remove old happstack-data code
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 19 Sep 2011 17:15:11 -0500
+
+haskell-creativeprompts (1.2.1) unstable; urgency=low
+
+  * Update textareas to reflect the swap order of col/row params
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 21 Aug 2011 14:20:43 -0500
+
+haskell-creativeprompts (1.2.0) unstable; urgency=low
+
+  * Migrated to acid-state
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 16 Jul 2011 11:39:15 -0500
+
+haskell-creativeprompts (1.1.6) unstable; urgency=low
+
+  * Updated to new digestive-functors >= 0.1 and friends
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 03 May 2011 16:30:46 -0500
+
+haskell-creativeprompts (1.1.5) unstable; urgency=low
+
+  * Updated theme
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 16 Apr 2011 17:56:52 -0500
+
+haskell-creativeprompts (1.1.4) unstable; urgency=low
+
+  * Add -rtsopts to GHC-Options and pass +RTS -IO to the server
+    at startup.
+
+ -- David Fox <dsf@seereason.com>  Wed, 13 Apr 2011 21:40:26 -0700
+
+haskell-creativeprompts (1.1.3) unstable; urgency=low
+
+  * Minor update to the copy
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 13 Apr 2011 16:10:35 -0500
+
+haskell-creativeprompts (1.1.2) unstable; urgency=low
+
+  * Added a little more copy to the pages
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 04 Apr 2011 14:17:16 -0500
+
+haskell-creativeprompts (1.1.1) unstable; urgency=low
+
+  * Added back editProfilePage
+  * Fixed entry top img render issues with ie
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 30 Mar 2011 23:09:05 -0500
+
+haskell-creativeprompts (1.1.0) unstable; urgency=low
+
+  * Migration to happstack-authentication
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 28 Mar 2011 10:35:20 -0500
+
+haskell-creativeprompts (1.0.6) unstable; urgency=low
+
+  * Updated to authenticate 0.8.0
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 23 Feb 2011 10:55:47 -0600
+
+haskell-creativeprompts (1.0.5) unstable; urgency=low
+
+  * Include author name in prompt
+  * Add build dependency on happstack-hsp
+  * Add ability to edit a prompt after you have submitted it
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 24 Jan 2011 18:43:07 -0600
+
+haskell-creativeprompts (1.0.4) unstable; urgency=low
+
+  * Automatically add to Moderator powers as well when becoming an Admin
+  * Fixed two typos related to becoming admin
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 16:18:08 -0600
+
+haskell-creativeprompts (1.0.3) unstable; urgency=low
+
+  * Switch admin group from 'admin' to 'seereason'
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 15:50:50 -0600
+
+haskell-creativeprompts (1.0.2) unstable; urgency=low
+
+  * Minor theme cleanups
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 15:46:47 -0600
+
+haskell-creativeprompts (1.0.1) unstable; urgency=low
+
+  * fix login to use baseURI from webConf
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 14:01:25 -0600
+
+haskell-creativeprompts (1.0.0) unstable; urgency=low
+
+  * Fixed build issue
+  * Fixed title for prompt page
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 13:30:41 -0600
+
+haskell-creativeprompts (0.0.4) unstable; urgency=low
+
+  * Add a backup package.
+
+ -- David Fox <dsf@seereason.com>  Mon, 03 Jan 2011 13:27:15 -0800
+
+haskell-creativeprompts (0.0.3) unstable; urgency=low
+
+  * Add analytics to coming soon page as well
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 13 Dec 2010 17:30:04 -0600
+
+haskell-creativeprompts (0.0.2) unstable; urgency=low
+
+  * Added analytics code
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 13 Dec 2010 16:26:18 -0600
+
+haskell-creativeprompts (0.0.1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 05 Dec 2010 10:58:18 -0600
+
diff --git a/test-data/creativeprompts/input/debian/copyright b/test-data/creativeprompts/input/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/input/debian/copyright
@@ -0,0 +1,4 @@
+This package is not part of the Debian GNU/Linux distribution.
+
+Copyright: (c) 2010-2011, SeeReason Partners LLC
+License: All Rights Reserved
diff --git a/test-data/creativeprompts/output/debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com b/test-data/creativeprompts/output/debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com
@@ -0,0 +1,32 @@
+<VirtualHost *:80>
+    ServerAdmin logic@seereason.com
+    ServerName www.creativeprompts.com
+    ServerAlias creativeprompts.com
+
+    ErrorLog /var/log/apache2/creativeprompts-production/error.log
+    CustomLog /var/log/apache2/creativeprompts-production/access.log combined
+
+    ProxyRequests Off
+    AllowEncodedSlashes NoDecode
+
+    <Proxy *>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                Deny from all
+                #Allow from all
+    </Proxy>
+
+    <Proxy http://127.0.0.1:9022/*>
+                AddDefaultCharset off
+                Order deny,allow
+                #Allow from .example.com
+                #Deny from all
+                Allow from all
+    </Proxy>
+
+    SetEnv proxy-sendcl 1
+
+    ProxyPass / http://127.0.0.1:9022/ nocanon
+    ProxyPassReverse / http://127.0.0.1:9022/
+</VirtualHost>
diff --git a/test-data/creativeprompts/output/debian/changelog b/test-data/creativeprompts/output/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/changelog
@@ -0,0 +1,157 @@
+haskell-creativeprompts (1.5.2) unstable; urgency=low
+
+  * Updated to hsx 0.10
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 24 Apr 2012 14:16:12 -0500
+
+haskell-creativeprompts (1.5.1) unstable; urgency=low
+
+  * Updated to safecopy / acid-state 0.6.0
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 15 Nov 2011 21:28:31 -0600
+
+haskell-creativeprompts (1.4.1) unstable; urgency=low
+
+  * Updated to web-routes-0.26.2
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Fri, 07 Oct 2011 21:49:47 -0500
+
+haskell-creativeprompts (1.4.0) unstable; urgency=low
+
+  * Updated to latest happstack-authenticate
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 27 Sep 2011 19:13:21 -0500
+
+haskell-creativeprompts (1.3.0) unstable; urgency=low
+
+  * Upgrade to latest ixset
+  * Upgrade to latest xss-sanitize
+  * Remove old happstack-data code
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 19 Sep 2011 17:15:11 -0500
+
+haskell-creativeprompts (1.2.1) unstable; urgency=low
+
+  * Update textareas to reflect the swap order of col/row params
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 21 Aug 2011 14:20:43 -0500
+
+haskell-creativeprompts (1.2.0) unstable; urgency=low
+
+  * Migrated to acid-state
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 16 Jul 2011 11:39:15 -0500
+
+haskell-creativeprompts (1.1.6) unstable; urgency=low
+
+  * Updated to new digestive-functors >= 0.1 and friends
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Tue, 03 May 2011 16:30:46 -0500
+
+haskell-creativeprompts (1.1.5) unstable; urgency=low
+
+  * Updated theme
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sat, 16 Apr 2011 17:56:52 -0500
+
+haskell-creativeprompts (1.1.4) unstable; urgency=low
+
+  * Add -rtsopts to GHC-Options and pass +RTS -IO to the server
+    at startup.
+
+ -- David Fox <dsf@seereason.com>  Wed, 13 Apr 2011 21:40:26 -0700
+
+haskell-creativeprompts (1.1.3) unstable; urgency=low
+
+  * Minor update to the copy
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 13 Apr 2011 16:10:35 -0500
+
+haskell-creativeprompts (1.1.2) unstable; urgency=low
+
+  * Added a little more copy to the pages
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 04 Apr 2011 14:17:16 -0500
+
+haskell-creativeprompts (1.1.1) unstable; urgency=low
+
+  * Added back editProfilePage
+  * Fixed entry top img render issues with ie
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 30 Mar 2011 23:09:05 -0500
+
+haskell-creativeprompts (1.1.0) unstable; urgency=low
+
+  * Migration to happstack-authentication
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 28 Mar 2011 10:35:20 -0500
+
+haskell-creativeprompts (1.0.6) unstable; urgency=low
+
+  * Updated to authenticate 0.8.0
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Wed, 23 Feb 2011 10:55:47 -0600
+
+haskell-creativeprompts (1.0.5) unstable; urgency=low
+
+  * Include author name in prompt
+  * Add build dependency on happstack-hsp
+  * Add ability to edit a prompt after you have submitted it
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 24 Jan 2011 18:43:07 -0600
+
+haskell-creativeprompts (1.0.4) unstable; urgency=low
+
+  * Automatically add to Moderator powers as well when becoming an Admin
+  * Fixed two typos related to becoming admin
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 16:18:08 -0600
+
+haskell-creativeprompts (1.0.3) unstable; urgency=low
+
+  * Switch admin group from 'admin' to 'seereason'
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 15:50:50 -0600
+
+haskell-creativeprompts (1.0.2) unstable; urgency=low
+
+  * Minor theme cleanups
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 15:46:47 -0600
+
+haskell-creativeprompts (1.0.1) unstable; urgency=low
+
+  * fix login to use baseURI from webConf
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 14:01:25 -0600
+
+haskell-creativeprompts (1.0.0) unstable; urgency=low
+
+  * Fixed build issue
+  * Fixed title for prompt page
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Thu, 20 Jan 2011 13:30:41 -0600
+
+haskell-creativeprompts (0.0.4) unstable; urgency=low
+
+  * Add a backup package.
+
+ -- David Fox <dsf@seereason.com>  Mon, 03 Jan 2011 13:27:15 -0800
+
+haskell-creativeprompts (0.0.3) unstable; urgency=low
+
+  * Add analytics to coming soon page as well
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 13 Dec 2010 17:30:04 -0600
+
+haskell-creativeprompts (0.0.2) unstable; urgency=low
+
+  * Added analytics code
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Mon, 13 Dec 2010 16:26:18 -0600
+
+haskell-creativeprompts (0.0.1) unstable; urgency=low
+
+  * Debianization generated by cabal-debian
+
+ -- Jeremy Shaw <jeremy@seereason.com>  Sun, 05 Dec 2010 10:58:18 -0600
diff --git a/test-data/creativeprompts/output/debian/compat b/test-data/creativeprompts/output/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/compat
@@ -0,0 +1,1 @@
+9
diff --git a/test-data/creativeprompts/output/debian/control b/test-data/creativeprompts/output/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/control
@@ -0,0 +1,233 @@
+Source: haskell-creativeprompts
+Maintainer: Jeremy Shaw <jeremy@seereason.com>
+Priority: optional
+Section: haskell
+Build-Depends: debhelper (>= 7.0)
+	       , haskell-devscripts (>= 0.8)
+	       , cdbs
+               , ghc
+               , ghc-prof
+               , libghc-extra-dev
+               , libghc-extra-prof
+               , libghc-hjscript-dev
+               , libghc-hjscript-prof
+               , libghc-http-dev
+               , libghc-http-prof
+               , libghc-quickcheck2-dev (>= 2) | libghc-quickcheck1-dev (<< 2)
+               , libghc-quickcheck2-prof (>= 2) | libghc-quickcheck1-prof (<< 2)
+               , libghc-unixutils-dev (>= 1.29)
+               , libghc-unixutils-prof (>= 1.29)
+               , libghc-unixutils-shadow-dev
+               , libghc-unixutils-shadow-prof
+               , libghc-acid-state-dev (>= 0.6.0)
+               , libghc-acid-state-prof (>= 0.6.0)
+               , libghc-archive-dev (>= 1.2.9)
+               , libghc-archive-prof (>= 1.2.9)
+               , libghc-authenticate-dev (>= 0.8.0)
+               , libghc-authenticate-prof (>= 0.8.0)
+               , libghc-base-dev (>= 4) | ghc
+               , libghc-base-dev (<< 5) | ghc
+               , libghc-base-prof (>= 4) | ghc-prof
+               , libghc-base-prof (<< 5) | ghc-prof
+               , libghc-blaze-html-dev (>= 0.5)
+               , libghc-blaze-html-prof (>= 0.5)
+               , libghc-blaze-markup-dev
+               , libghc-blaze-markup-prof
+               , libghc-bytestring-dev | ghc
+               , libghc-bytestring-prof | ghc-prof
+               , libghc-containers-dev | ghc
+               , libghc-containers-prof | ghc-prof
+               , libghc-debian-packaging-dev (>= 0.8)
+               , libghc-debian-packaging-prof (>= 0.8)
+               , libghc-digestive-functors-dev (>= 0.2)
+               , libghc-digestive-functors-prof (>= 0.2)
+               , libghc-digestive-functors-happstack-dev (>= 0.1)
+               , libghc-digestive-functors-happstack-prof (>= 0.1)
+               , libghc-digestive-functors-hsp-dev (>= 0.3.1)
+               , libghc-digestive-functors-hsp-prof (>= 0.3.1)
+               , libghc-directory-dev | ghc
+               , libghc-directory-prof | ghc-prof
+               , libghc-extensible-exceptions-dev
+               , libghc-extensible-exceptions-prof
+               , libghc-filepath-dev | ghc
+               , libghc-filepath-prof | ghc-prof
+               , libghc-happstack-authenticate-dev (>= 0.6)
+               , libghc-happstack-authenticate-prof (>= 0.6)
+               , libghc-happstack-hsp-dev (>= 7.1)
+               , libghc-happstack-hsp-dev (<< 7.2)
+               , libghc-happstack-hsp-prof (>= 7.1)
+               , libghc-happstack-hsp-prof (<< 7.2)
+               , libghc-happstack-server-dev (>= 7.0)
+               , libghc-happstack-server-dev (<< 7.1)
+               , libghc-happstack-server-prof (>= 7.0)
+               , libghc-happstack-server-prof (<< 7.1)
+               , libghc-hslogger-dev
+               , libghc-hslogger-prof
+               , libghc-hsp-dev (>= 0.7.1)
+               , libghc-hsp-dev (<< 0.8)
+               , libghc-hsp-prof (>= 0.7.1)
+               , libghc-hsp-prof (<< 0.8)
+               , libghc-hsx-dev (>= 0.10.2)
+               , libghc-hsx-dev (<< 0.11)
+               , libghc-hsx-prof (>= 0.10.2)
+               , libghc-hsx-prof (<< 0.11)
+               , libghc-ixset-dev
+               , libghc-ixset-prof
+               , libghc-jmacro-dev
+               , libghc-jmacro-prof
+               , libghc-json-dev
+               , libghc-json-prof
+               , libghc-mtl-dev
+               , libghc-mtl-prof
+               , libghc-network-dev
+               , libghc-network-prof
+               , libghc-old-locale-dev | ghc
+               , libghc-old-locale-prof | ghc-prof
+               , libghc-old-time-dev | ghc
+               , libghc-old-time-prof | ghc-prof
+               , libghc-parsec3-dev (>= 3) | libghc-parsec2-dev (<< 3)
+               , libghc-parsec3-prof (>= 3) | libghc-parsec2-prof (<< 3)
+               , libghc-process-dev | ghc
+               , libghc-process-prof | ghc-prof
+               , libghc-random-dev
+               , libghc-random-prof
+               , libghc-safecopy-dev (>= 0.6.0)
+               , libghc-safecopy-prof (>= 0.6.0)
+               , libghc-syb-dev
+               , libghc-syb-prof
+               , libghc-text-dev (>= 0.11)
+               , libghc-text-prof (>= 0.11)
+               , libghc-time-dev | ghc
+               , libghc-time-prof | ghc-prof
+               , libghc-unix-dev | ghc
+               , libghc-unix-prof | ghc-prof
+               , libghc-utf8-string-dev
+               , libghc-utf8-string-prof
+               , libghc-web-routes-dev (>= 0.26.2)
+               , libghc-web-routes-prof (>= 0.26.2)
+               , libghc-web-routes-happstack-dev
+               , libghc-web-routes-happstack-prof
+               , libghc-web-routes-hsp-dev
+               , libghc-web-routes-hsp-prof
+               , libghc-web-routes-th-dev
+               , libghc-web-routes-th-prof
+               , libghc-xss-sanitize-dev (>= 0.3.0.1)
+               , libghc-xss-sanitize-prof (>= 0.3.0.1)
+               , haskell-hsx-utils
+Build-Depends-Indep: ghc-doc
+                     , libghc-extra-doc
+                     , libghc-hjscript-doc
+                     , libghc-http-doc
+                     , libghc-quickcheck2-doc (>= 2) | libghc-quickcheck1-doc (<< 2)
+                     , libghc-unixutils-doc (>= 1.29)
+                     , libghc-unixutils-shadow-doc
+                     , libghc-acid-state-doc (>= 0.6.0)
+                     , libghc-archive-doc (>= 1.2.9)
+                     , libghc-authenticate-doc (>= 0.8.0)
+                     , libghc-base-doc (>= 4) | ghc-doc
+                     , libghc-base-doc (<< 5) | ghc-doc
+                     , libghc-blaze-html-doc (>= 0.5)
+                     , libghc-blaze-markup-doc
+                     , libghc-bytestring-doc | ghc-doc
+                     , libghc-containers-doc | ghc-doc
+                     , libghc-debian-packaging-doc (>= 0.8)
+                     , libghc-digestive-functors-doc (>= 0.2)
+                     , libghc-digestive-functors-happstack-doc (>= 0.1)
+                     , libghc-digestive-functors-hsp-doc (>= 0.3.1)
+                     , libghc-directory-doc | ghc-doc
+                     , libghc-extensible-exceptions-doc
+                     , libghc-filepath-doc | ghc-doc
+                     , libghc-happstack-authenticate-doc (>= 0.6)
+                     , libghc-happstack-hsp-doc (>= 7.1)
+                     , libghc-happstack-hsp-doc (<< 7.2)
+                     , libghc-happstack-server-doc (>= 7.0)
+                     , libghc-happstack-server-doc (<< 7.1)
+                     , libghc-hslogger-doc
+                     , libghc-hsp-doc (>= 0.7.1)
+                     , libghc-hsp-doc (<< 0.8)
+                     , libghc-hsx-doc (>= 0.10.2)
+                     , libghc-hsx-doc (<< 0.11)
+                     , libghc-ixset-doc
+                     , libghc-jmacro-doc
+                     , libghc-json-doc
+                     , libghc-mtl-doc
+                     , libghc-network-doc
+                     , libghc-old-locale-doc | ghc-doc
+                     , libghc-old-time-doc | ghc-doc
+                     , libghc-parsec3-doc (>= 3) | libghc-parsec2-doc (<< 3)
+                     , libghc-process-doc | ghc-doc
+                     , libghc-random-doc
+                     , libghc-safecopy-doc (>= 0.6.0)
+                     , libghc-syb-doc
+                     , libghc-text-doc (>= 0.11)
+                     , libghc-time-doc | ghc-doc
+                     , libghc-unix-doc | ghc-doc
+                     , libghc-utf8-string-doc
+                     , libghc-web-routes-doc (>= 0.26.2)
+                     , libghc-web-routes-happstack-doc
+                     , libghc-web-routes-hsp-doc
+                     , libghc-web-routes-th-doc
+                     , libghc-xss-sanitize-doc (>= 0.3.0.1)
+Standards-Version: 3.8.1
+
+Package: creativeprompts-data
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description:  creativeprompts.com data files
+  Static data files for creativeprompts.com
+
+Package: creativeprompts-production
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+         , markdown
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description:  Configuration for running the creativeprompts.com server
+  Production version of the blog server, runs on port
+  9021 with HTML validation turned off.
+
+Package: creativeprompts-development
+Architecture: all
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+         , markdown
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description:  Configuration for running the creativeprompts.com server
+  Testing version of the blog server, runs on port
+  8000 with HTML validation turned on.
+
+Package: creativeprompts-backups
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}
+         , ${haskell:Depends}
+         , ${misc:Depends}
+         , anacron
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Conflicts: ${haskell:Conflicts}
+Provides: ${haskell:Provides}
+Replaces: ${haskell:Replaces}
+Description: backup program for creativeprompts.com
+  Install this somewhere other than creativeprompts.com to run automated
+  backups of the database.
diff --git a/test-data/creativeprompts/output/debian/copyright b/test-data/creativeprompts/output/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/copyright
@@ -0,0 +1,4 @@
+This package is not part of the Debian GNU/Linux distribution.
+
+Copyright: (c) 2010-2011, SeeReason Partners LLC
+License: All Rights Reserved
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-backups.install b/test-data/creativeprompts/output/debian/creativeprompts-backups.install
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-backups.install
@@ -0,0 +1,1 @@
+dist-ghc/build/creativeprompts-backups/creativeprompts-backups /etc/cron.hourly
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-backups.postinst b/test-data/creativeprompts/output/debian/creativeprompts-backups.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-backups.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    /etc/cron.hourly/creativeprompts-backups --initialize
+    ;;
+esac
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-data.install b/test-data/creativeprompts/output/debian/creativeprompts-data.install
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-data.install
@@ -0,0 +1,13 @@
+static/theme/comment-bottom.png usr/share/creativeprompts/static/theme
+static/theme/comment-middle.png usr/share/creativeprompts/static/theme
+static/theme/comment-top.png usr/share/creativeprompts/static/theme
+static/theme/creative-prompts-logo.png usr/share/creativeprompts/static/theme
+static/theme/entry-bottom.png usr/share/creativeprompts/static/theme
+static/theme/entry-middle.png usr/share/creativeprompts/static/theme
+static/theme/entry-top.png usr/share/creativeprompts/static/theme
+static/theme/json2.js usr/share/creativeprompts/static/theme
+static/theme/menu-bar-background.png usr/share/creativeprompts/static/theme
+static/theme/menu-gradient.png usr/share/creativeprompts/static/theme
+static/theme/paint-background.jpg usr/share/creativeprompts/static/theme
+static/theme/site.js usr/share/creativeprompts/static/theme
+static/theme/style.css usr/share/creativeprompts/static/theme
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-development.init b/test-data/creativeprompts/output/debian/creativeprompts-development.init
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-development.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/creativeprompts-development && . /etc/default/creativeprompts-development
+
+case "$1" in
+  start)
+    test -x /usr/bin/creativeprompts-development || exit 0
+    log_begin_msg "Starting creativeprompts-development..."
+    mkdir -p /srv/creativeprompts-development
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/creativeprompts-development" "--exec" "/usr/bin/creativeprompts-development" "--pidfile" "/var/run/creativeprompts-development" "--" "--http-port" "9034" "--hide-port" "--hostname" "creativeprompts.com" "--top" "/srv/creativeprompts-development" "--enable-analytics" "--jquery-path" "/usr/share/javascript/jquery/" "--jqueryui-path" "/usr/share/javascript/jquery-ui/" "--jstree-path" "/usr/share/clckwrks-0.13.2/jstree" "--json2-path" "/usr/share/clckwrks-0.13.2/json2"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping creativeprompts-development..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/creativeprompts-development"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-development.logrotate b/test-data/creativeprompts/output/debian/creativeprompts-development.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-development.logrotate
@@ -0,0 +1,13 @@
+/var/log/creativeprompts-development/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/creativeprompts-development/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-development.postinst b/test-data/creativeprompts/output/debian/creativeprompts-development.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-development.postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.dirs b/test-data/creativeprompts/output/debian/creativeprompts-production.dirs
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.dirs
@@ -0,0 +1,2 @@
+/etc/apache2/sites-available
+/var/log/apache2/creativeprompts-production
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.init b/test-data/creativeprompts/output/debian/creativeprompts-production.init
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.init
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+. /lib/lsb/init-functions
+test -f /etc/default/creativeprompts-production && . /etc/default/creativeprompts-production
+
+case "$1" in
+  start)
+    test -x /usr/bin/creativeprompts-production || exit 0
+    log_begin_msg "Starting creativeprompts-production..."
+    mkdir -p /srv/creativeprompts-production
+    "start-stop-daemon" "--start" "-b" "--make-pidfile" "-d" "/srv/creativeprompts-production" "--exec" "/usr/bin/creativeprompts-production" "--pidfile" "/var/run/creativeprompts-production" "--" "--http-port" "9022" "--hide-port" "--hostname" "creativeprompts.com" "--top" "/srv/creativeprompts-production" "--enable-analytics" "--jquery-path" "/usr/share/javascript/jquery/" "--jqueryui-path" "/usr/share/javascript/jquery-ui/" "--jstree-path" "/usr/share/clckwrks-0.13.2/jstree" "--json2-path" "/usr/share/clckwrks-0.13.2/json2"
+    log_end_msg $?
+    ;;
+  stop)
+    log_begin_msg "Stopping creativeprompts-production..."
+    "start-stop-daemon" "--stop" "--oknodo" "--retry=60" "--pidfile" "/var/run/creativeprompts-production"
+    log_end_msg $?
+    ;;
+  *)
+    log_success_msg "Usage: ${0} {start|stop}"
+    exit 1
+esac
+
+exit 0
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.install b/test-data/creativeprompts/output/debian/creativeprompts-production.install
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.install
@@ -0,0 +1,1 @@
+debian/cabalInstall/a1cb9e4b5241944a3da44e00220b5c31/creativeprompts.com /etc/apache2/sites-available/
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.links b/test-data/creativeprompts/output/debian/creativeprompts-production.links
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.links
@@ -0,0 +1,1 @@
+/etc/apache2/sites-available/creativeprompts.com /etc/apache2/sites-enabled/creativeprompts.com
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.logrotate b/test-data/creativeprompts/output/debian/creativeprompts-production.logrotate
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.logrotate
@@ -0,0 +1,27 @@
+/var/log/apache2/creativeprompts-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/apache2/creativeprompts-production/error.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/creativeprompts-production/access.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
+
+/var/log/creativeprompts-production/app.log {
+  weekly
+  rotate 5
+  compress
+  missingok
+}
diff --git a/test-data/creativeprompts/output/debian/creativeprompts-production.postinst b/test-data/creativeprompts/output/debian/creativeprompts-production.postinst
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/creativeprompts-production.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case "$1" in
+  configure)
+    # Apache won't start if this directory doesn't exist
+    mkdir -p /var/log/apache2/creativeprompts-production
+    # Restart apache so it sees the new file in /etc/apache2/sites-enabled
+    /usr/sbin/a2enmod proxy
+    /usr/sbin/a2enmod proxy_http
+    service apache2 restart
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/test-data/creativeprompts/output/debian/rules b/test-data/creativeprompts/output/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/rules
@@ -0,0 +1,16 @@
+#!/usr/bin/make -f
+
+DEB_CABAL_PACKAGE = creativeprompts
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/creativeprompts-production:: build-ghc-stamp
+build/creativeprompts-development:: build-ghc-stamp
+build/creativeprompts-data:: build-ghc-stamp
+build/creativeprompts-backups:: build-ghc-stamp
+binary-fixup/creativeprompts-production::
+	install -Dps dist-ghc/build/creativeprompts-server/creativeprompts-server debian/creativeprompts-production/usr/bin/creativeprompts-production
+
+binary-fixup/creativeprompts-development::
+	install -Dps dist-ghc/build/creativeprompts-server/creativeprompts-server debian/creativeprompts-development/usr/bin/creativeprompts-development
diff --git a/test-data/creativeprompts/output/debian/source/format b/test-data/creativeprompts/output/debian/source/format
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (native)
diff --git a/test-data/creativeprompts/output/debian/watch b/test-data/creativeprompts/output/debian/watch
new file mode 100644
--- /dev/null
+++ b/test-data/creativeprompts/output/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="downloadurlmangle=s|archive/([\w\d_-]+)/([\d\.]+)/|archive/$1/$2/$1-$2.tar.gz|,\
+filenamemangle=s|(.*)/$|creativeprompts-$1.tar.gz|" \
+    http://hackage.haskell.org/package/creativeprompts \
+    ([\d\.]*\d)/
diff --git a/test-data/haskell-devscripts/debian/changelog b/test-data/haskell-devscripts/debian/changelog
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/changelog
@@ -0,0 +1,24 @@
+haskell-devscripts (0.8.13) experimental; urgency=low
+
+  [ Joachim Breitner ]
+  * Improve parsing of "Setup register" output, patch by David Fox
+  * Enable creation of hoogle files, thanks to Kiwamu Okabe for the
+    suggestion. 
+
+  [ Kiwamu Okabe ]
+  * Need --html option to fix bug that --hoogle option don't output html file.
+  * Support to create /usr/lib/ghc-doc/hoogle/*.txt for hoogle package.
+
+  [ Joachim Breitner ]
+  * Symlink hoogle’s txt files to /usr/lib/ghc-doc/hoogle/
+  * Bump ghc dependency to 7.6 
+  * Bump standards version 
+
+ -- Joachim Breitner <nomeata@debian.org>  Mon, 08 Oct 2012 21:14:50 +0200
+
+haskell-devscripts (0.8.12) unstable; urgency=low
+
+  * Depend on ghc >= 7.4, adjusting to its haddock --interface-version
+    behaviour. 
+
+ -- Joachim Breitner <nomeata@debian.org>  Sat, 04 Feb 2012 10:50:33 +0100
diff --git a/test-data/haskell-devscripts/debian/compat b/test-data/haskell-devscripts/debian/compat
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/compat
@@ -0,0 +1,1 @@
+7
diff --git a/test-data/haskell-devscripts/debian/control b/test-data/haskell-devscripts/debian/control
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/control
@@ -0,0 +1,32 @@
+Source: haskell-devscripts
+Section: haskell
+Priority: extra
+Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
+Uploaders: Marco Silva <marcot@debian.org>, Joachim Breitner <nomeata@debian.org>
+Build-Depends: debhelper (>= 7)
+Build-Depends-Indep: perl
+Standards-Version: 3.9.4
+Vcs-Darcs: http://darcs.debian.org/pkg-haskell/haskell-devscripts
+Vcs-Browser: http://darcs.debian.org/cgi-bin/darcsweb.cgi?r=pkg-haskell/haskell-devscripts
+
+Package: haskell-devscripts
+Architecture: all
+Depends: dctrl-tools
+  , debhelper
+  , dh-buildinfo
+  , ghc (>= 7.6)
+  , cdbs
+  , ${misc:Depends}
+  , html-xml-utils
+  , hscolour (>= 1.8)
+  , ghc-haddock (>= 7.4)
+Description: Tools to help Debian developers build Haskell packages
+ This package provides a collection of scripts to help build Haskell
+ packages for Debian.  Unlike haskell-utils, this package is not
+ expected to be installed on the machines of end users.
+ .
+ This package is designed to support Cabalized Haskell libraries.  It
+ is designed to build a library for each supported Debian compiler or
+ interpreter, generate appropriate postinst/prerm files for each one,
+ generate appropriate substvars entries for each one, and install the
+ package in the Debian temporary area as part of the build process.
diff --git a/test-data/haskell-devscripts/debian/copyright b/test-data/haskell-devscripts/debian/copyright
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/copyright
@@ -0,0 +1,5 @@
+This package was debianized by John Goerzen <jgoerzen@complete.org> on
+Wed,  6 Oct 2004 09:46:14 -0500.
+
+Copyright information removed from this test data.
+
diff --git a/test-data/haskell-devscripts/debian/dirs b/test-data/haskell-devscripts/debian/dirs
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/dirs
@@ -0,0 +1,3 @@
+usr/bin
+usr/share/haskell-devscripts
+usr/share/cdbs/1/class/
diff --git a/test-data/haskell-devscripts/debian/docs b/test-data/haskell-devscripts/debian/docs
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/docs
@@ -0,0 +1,1 @@
+README
diff --git a/test-data/haskell-devscripts/debian/install b/test-data/haskell-devscripts/debian/install
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/install
@@ -0,0 +1,6 @@
+dh_haskell_provides       usr/bin/
+dh_haskell_depends        usr/bin/
+dh_haskell_shlibdeps      usr/bin/
+dh_haskell_extra_depends  usr/bin/
+Dh_Haskell.sh             usr/share/haskell-devscripts/
+hlibrary.mk               usr/share/cdbs/1/class
diff --git a/test-data/haskell-devscripts/debian/manpages b/test-data/haskell-devscripts/debian/manpages
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/manpages
@@ -0,0 +1,4 @@
+dh_haskell_provides.1
+dh_haskell_depends.1
+dh_haskell_shlibdeps.1
+dh_haskell_extra_depends.1
diff --git a/test-data/haskell-devscripts/debian/rules b/test-data/haskell-devscripts/debian/rules
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/rules
@@ -0,0 +1,44 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
+
+manpages = $(shell cat debian/manpages)
+
+%.1: %.pod
+	pod2man -c 'Haskell devscripts documentation' -r 'Haskell devscripts $(DEB_VERSION)' $< > $@
+
+%.1: %
+	pod2man -c 'Haskell devscripts documentation' -r 'Haskell devscripts $(DEB_VERSION)' $< > $@
+
+.PHONY: build
+build: $(manpages)
+
+install-stamp:
+	dh install
+
+.PHONY: install
+install: install-stamp
+
+binary-indep-stamp: install-stamp
+	dh binary-indep
+	touch $@
+
+.PHONY: binary-indep
+binary-indep: binary-indep-stamp
+
+.PHONY: binary-arch
+binary-arch: install-stamp
+
+.PHONY: binary
+binary: binary-indep-stamp
+
+.PHONY: clean
+clean:
+	dh clean
+	rm -f $(manpages)
+
+
diff --git a/test-data/haskell-devscripts/debian/source/format b/test-data/haskell-devscripts/debian/source/format
new file mode 100644
--- /dev/null
+++ b/test-data/haskell-devscripts/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (native)
