~%      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe=Monad type with build base directory and build configuration.Build configuration typeSpecify build dirName of debian directory-Exclude directories to setup source directory'Type to specify build working directory'Type to specify base directory filepathAction type with trace flagRun  monad  bracket for  monad  bracket_ for  monad 0Command string trace print along with trace flag /Output string trace print along with trace flag Put log stinrg with flush.;Use relative path from base-dir as build workding directory-Use absolute path as build workding directoryFold build dirDefault configuration Lift from  monad into monad with  configuration.Unpack  configuration monad into .Run  configuration monad bracket for  monad bracket_ for  monadGet base directory in  monadGet build configuration in  monadGet build working directory in  monadShow  is relative or absolute!    2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableNoneFind .cabal file,Call cabal library defaultMain like Setup.hs0Cabal library defaultMain with sub-command clean4Cabal library defaultMain with sub-command configure0Cabal library defaultMain with sub-command sdist 0Cabal library defaultMain with sub-command build!2Cabal library defaultMain with sub-command install"3Cabal library defaultMain with sub-command register  !" !" !"  !"2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe#Debian short name generate rule&;Hackage name and version type with debian short name. e.g. src-ext.'Hackage version type(Make ')Make '* Extract hackage version numbers.+Make &,Get package name of &-Get version of &.Get debian short name of &/ Generate &- type from package name and version using #0/Make debian short name from package name using #1 Package name string with version2Package archive basename3Package archive pathname4+Debian library binary package names for GHC5,Debian library document package name for GHC6$Debian library package names for GHC#$%&'()*+,-./Rule flag to generate namesHackage name stringVersion of hackageResult hackage meta info0Rule flag to generate name)Debian source name or Hackage name stringODebian source package name and short name like ("haskell-src-exts", "src-exts")12345678#%$&'()*+,-./0123456')(*&+,-./#$%0123456#$%&'()*+,-./0123456782014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe<&Debian source package type for Haskell="Type for debian control meta-data.BDebian package typesF-Debian source package type, name with versionGVersion type for DebianH)Make deebian version from hackage versionIVersion without debian revisionJIs debian-native or notK"Try to read debian package versionLMake FMSource package name of FNDebian version of FOVersion without debian revisionPIs debian-native or notQ Original source archive basenameRDebian native archive basenameSSource directory basenameT Try to make ' from FUTry to generate F from debian changelog stringVTake B from debian .changes file pathW$Test package type is source package.X$Test package type is binary package.Y'Parse an package entry in control file.Z,Parse debian control file into package list.[& meta-info of <\#Debian source package meta-info of <] Generate <4 type from debian package name and version using #^ Generate </ with hackage name and debian package meta-info=<=>?@ABCDEFGHIJKLMNOPQRSTU!dpkg-parsechangelog result stringSource structureVWXYZ[\]Hackage name stringVersion of hackageDebian revision StringResult structure^Hackage name stringDebian package meta infoResult_`#<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^#GHKIJFLMNOPQRSTUBCDEVWX=>?@AYZ<[\]^2<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe7#%$&'()*+,-./0123456<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafegBuild mode, all or binary onlym9Run command without shell and get standard output string.nRun command without shelloRun command with shellpChange directory actionq'Action to get current working directoryrCreate directory if missingsRename directory action. e.g. renameDirectory from totRename file action. e.g. renameFile from touConfirm filepath using ls commandvUnpack .tar.gz under directory.w#Unpack .tar.gz under archive place.x3Pack directory into .tar.gz under working directoryyAPack directory into same location .tar.gz under working directoryz$Run action under specified directory{ Just call  cabal-debian command|Call  cabal-debian" command under specified directory}Query debian package version~1Read debian changelog file and try to parse into FRead debian control fileCall debuild5 under specified directory, with command line optionsJust run debi with root user9Install packages under specified source package directoryInstall build-depends7Infer all build mode list from debian control file dataBuild package using debuild under specified directorytBuild package with specified mode list. Calculated mode list from control is used when not specified build modes.Clean and build package using debuild under specified directoryDRemove ghc library packages under specified source package directory&ghijklmnopqrstuvwxyz{|}~"ghijklmnopqrstuvwxyz{|}~"pqrstuvwxy{|}~ghijklzmno!ghijklmnopqrstuvwxyz{|}~2014-2016 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableNoneRun Bulid" action under specified directory.Run  action under base-directory.Take build-directory from  action context.Remove build-directory. Take debian-directory name from  action context.'Take original source archive name from  action context.,Take debian native source archive name from  action context.Take source directory from  action context.MAction to copy debian directory from base-directory into specified directory.XSetup source directory and original source archive under build-directory using rsync.]Setup native source directory and native source archive under build-directory using rsync.1Setup debian source directory and source archive.8Setup original source directory and archive using Cabal./Setup source directory and archive using Cabal.@Setup source directory and archive using Cabal and cabal-debian.Find debian .changes files1On the fly setup of source directory and archive.&Probe generated source directory path.#Probe generated source informationsMay specify revision string*Optional arguments of cabal-debian commandGenerated debian-dir pathHackge name stringMay specify revision string*Optional arguments of cabal-debian command/Result package informations of generated sourceMay specify revision string*Optional arguments of cabal-debian command/Result package informations of generated source2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableNoneT !"ghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~) /0EN*debian-build-0.9.2.0-ETo6z9314gJ204DgiowVUDebian.Package.Build.MonadDebian.Package.Build.CabalDebian.Package.Data.HackageDebian.Package.Data.PackagesDebian.Package.Build.CommandDebian.Package.Build.SequenceDebian.Package.DataDebian.Package.BuildBuildConfigbuildDir debianDirNamesourceExcludesBuildDirBaseDirTracerunTrace bracketTrace bracketTrace_ traceCommandtraceOutputLogbuildDirRelativebuildDirAbsolute defaultConfig liftTraceunBuildrunBuild bracketBuild bracketBuild_ askBaseDir askConfig askBuildDir$fShowBuildDir $fShowConfigfindDescriptionFilesetupCmdclean configuresdistbuildinstallregisterNameRuleSuggestSimpleHackageHackageVersionmkHackageVersion'mkHackageVersionhackageVersionNumbers mkHackage hackageNamehackageVersiondebianShortNamemkHackageDefaultdebianNamesFromSourceNamehackageLongNamehackageArchiveNamehackageArchiveghcLibraryBinPackagesghcLibraryDocPackageghcLibraryPackages$fReadHackageVersion$fShowHackageVersion $fShowHackage $fEqNameRule$fShowNameRuleHaskellPackageControl controlSource controlArch controlAll PackageType PackageArch PackageAll PackageSourceSource DebianVersionversionFromHackageVersion origVersion' isNative'readDebianVersionmkSource sourceNameversion origVersionisNativeorigArchiveNamenativeArchiveName sourceDirNamederiveHackageVersionparseChangeLogtakeChangesTypeisSourcePackageisBinaryPackageparseControlEntry parseControlhackagepackagehaskellPackageDefaulthaskellPackageFromPackage$fReadDebianVersion$fShowDebianVersion $fShowSource$fEqPackageType$fShowPackageType $fEqControl $fShowControl$fShowHaskellPackage BuildModeAllBinSrcDepIndep readProcess' rawSystem'system'chdirpwdcreateDirectoryIfMissingrenameDirectory renameFile confirmPath unpackInDirunpack packInDir' packInDirwithCurrentDir' cabalDebian' cabalDebianpackageVersiondpkgParseChangeLogdpkgParseControldebuilddebi'debiaptGetBuildDependsmodeListFromControl buildPackagerebuildremoveGhcLibrary $fEqBuildMode$fShowBuildMode$fReadBuildModewithCurrentDirwithBaseCurrentDir getBuildDirremoveBuildDir origArchive nativeArchive sourceDir copyDebianDirrsyncGenOrigSourcesrsyncGenNativeSourcesrsyncGenSourcescabalGenOrigSourcescabalGenSourcescabalAutogenSourcesfindDebianChanges genSourcesfindGeneratedSourceDirfindGeneratedSource unBuildDir readerBracket toBracket_traceIOtprintsetupdefaultHackageSrcPrefixdistDir DebianNativeDebianNonNativeParsersatisfy_lookeof runParseranyCharcharnotCharspacedigitintstringdebianNativeVersiondebianNonNativeVersion parseVersion'parseDebianVersion_testParseDebianVersion readMaybe'parseColonLinepackagesPartition handleExit renameMsgdebuild'hasBinaryBuildModedebianDirName' withBuildDirrsyncGenOrigSourceDircabalGenArchivecabalGenOrigArchivecabalAutogenDebianDirfindDebianChangeLogfindCabalDescription