patch applied (hackage-server): "Tidy up the command line flags code, make sure all commands have a -v flag" and 7 others

devnull at devnull at
Tue Mar 12 23:42:30 CET 2013

Thu Mar  7 22:43:10 GMT 2013  Duncan Coutts <duncan at>
  * Tidy up the command line flags code, make sure all commands have a -v flag
  Ignore-this: 817fc3128b7aa928a376b366b6fba58b
  The backup and restore commands in particular really need that
  verbosity control, if only for testing/debugging.

    M ./Main.hs -98 +126

Fri Mar  8 17:15:33 GMT 2013  Duncan Coutts <duncan at>
  * Change the backup/restore to keep blob files outside of the tarball
  Ignore-this: 17eb98bb6956b8c998caac622f2f8d23
  Previously a full backup would cost about 17Gb,
  now the incremental cost can be around 13Mb.

    M ./Distribution/Server/Features/Core/Backup.hs -1 +11
    M ./Distribution/Server/Features/Upload.hs -1 +1
    M ./Distribution/Server/Framework/BackupDump.hs -68 +144
    M ./Distribution/Server/Framework/BackupRestore.hs -94 +109
    M ./Distribution/Server/Framework/BlobStorage.hs -16 +21
    M ./Distribution/Server/Framework/Feature.hs -6 +6
    M ./Main.hs -73 +150
    M ./hackage-server.cabal +1

Tue Mar 12 14:47:46 GMT 2013  Duncan Coutts <duncan at>
  * Fixes for backup restore in "consume blobs" mode
  Ignore-this: 52b4c67aa754625e256ceccd988d163b

    M ./Distribution/Server/Framework/BackupRestore.hs -21 +46

Tue Mar 12 14:49:03 GMT 2013  Duncan Coutts <duncan at>
  * Make sure all the server commands that need it have the --static flag
  Ignore-this: bc565314bbc9532bddc8e9cf52aa9421
  It's needed by lots of them now, as several features now load templates.

    M ./Main.hs -48 +75

Tue Mar 12 14:50:10 GMT 2013  Duncan Coutts <duncan at>
  * Fix the importing of maintainer groups
  Ignore-this: 21bbd2389d1a90e13c83ca8d044af31e
  Involves rewriting how the group lookup works.
  For groupResourcesAt we have not a single group but an indexed collection
  of groups, and so we need a way to lookup a group / check if a group exists.
  The previous solution involved the lookup never failing and having a method
  on the group to check if it is actually exists / if it's backed by something.
  Not only is that annoying and backwards but it meant we were doing the wrong
  thing in some cases. For maintainer groups we were checking if the maintainer
  group existed in the db, which meant we could not add members to the group
  if it was initially empty (because it was counted as not existing). That
  showed up as the import client failing to add users to the per-package
  maintainer groups (which all start out empty).
  So we get rid of the groupExists checks and instead allow the group lookup
  function to fail.

    M ./Distribution/Server/Features/BuildReports.hs -3 +3
    M ./Distribution/Server/Features/Distro.hs -1
    M ./Distribution/Server/Features/Html.hs -14 +15
    M ./Distribution/Server/Features/Mirror.hs -1
    M ./Distribution/Server/Features/PackageCandidates.hs -5 +4
    M ./Distribution/Server/Features/Upload.hs -59 +48
    M ./Distribution/Server/Features/Users.hs -41 +41
    M ./Distribution/Server/Users/Group.hs -4
    M ./ImportClient.hs -1 +1

Tue Mar 12 21:58:45 GMT 2013  Duncan Coutts <duncan at>
  * Extend the ErrorResponse type with headers and use it in auth errors
  Ignore-this: 3b7118227e7373a2c90e7053fb8fb7b5
  So we can now use throwError for auth errors. Previously we had to
  use finishWith which would bypass all the custom error page stuff.
  So this will give us pretty pages for auth errors.

    M ./Distribution/Server.hs -3 +4
    M ./Distribution/Server/Features/LegacyPasswds.hs -6 +4
    M ./Distribution/Server/Features/PackageCandidates.hs -2 +2
    M ./Distribution/Server/Features/StaticFiles.hs -10 +22
    M ./Distribution/Server/Features/Upload.hs -2 +2
    M ./Distribution/Server/Features/Users.hs -13 +17
    M ./Distribution/Server/Framework/Auth.hs -18 +23
    M ./Distribution/Server/Framework/Error.hs -12 +24

Tue Mar 12 22:40:05 GMT 2013  Duncan Coutts <duncan at>
  * Improve the pages used in the account upgrade process
  Ignore-this: 83cb10ecd4d779c59b1eaec0b3f7ac03

     ./datafiles/templates/ -> ./datafiles/templates/LegacyPasswds/
    M ./Distribution/Server/Features/LegacyPasswds.hs -11 +34
    M ./Distribution/Server/Framework/Templating.hs -1 +2
    A ./datafiles/templates/LegacyPasswds/
    A ./datafiles/templates/LegacyPasswds/
    M ./datafiles/templates/LegacyPasswds/ -1 +1
    M ./hackage-server.cabal +1

Tue Mar 12 22:41:30 GMT 2013  Duncan Coutts <duncan at>
  * Revert to the previous time format in backup tarballs
  Ignore-this: c0890eafee32c44f99742ace139227c6

    M ./Distribution/Server/Framework/BackupRestore.hs -2 +5

More information about the cabal-devel mailing list