śĪ!Ÿ/–/”      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ 2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafeh debian-build=Monad type with build base directory and build configuration. debian-buildBuild configuration type debian-buildSpecify build dir debian-buildName of debian directory debian-build-Exclude directories to setup source directory debian-build'Type to specify build working directory debian-build'Type to specify base directory filepath debian-buildAction type with trace flag debian-buildRun  monad  debian-build bracket for  monad  debian-build bracket_ for  monad  debian-build0Command string trace print along with trace flag  debian-build/Output string trace print along with trace flag  debian-buildPut log stinrg with flush. debian-build;Use relative path from base-dir as build workding directory debian-build-Use absolute path as build workding directory” debian-buildFold build dir debian-buildDefault configuration debian-build Lift from  monad into monad with  configuration. debian-buildUnpack  configuration monad into . debian-buildRun  configuration monad debian-build bracket for  monad debian-build bracket_ for  monad debian-buildGet base directory in  monad debian-buildGet build configuration in  monad debian-buildGet build working directory in  monad debian-buildShow  is relative or absolute  2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe1k debian-buildDebian short name generate rule debian-build;Hackage name and version type with debian short name. e.g. src-ext. debian-buildHackage version type  debian-buildMake ! debian-buildMake " debian-build Extract hackage version numbers.# debian-buildMake $ debian-buildGet package name of % debian-buildGet version of & debian-buildGet debian short name of ' debian-build Generate - type from package name and version using ( debian-build/Make debian short name from package name using ) debian-build Package name string with version* debian-buildPackage archive basename+ debian-buildPackage archive pathname, debian-build+Debian library binary package names for GHC- debian-build,Debian library document package name for GHC. debian-build$Debian library package names for GHC' debian-buildRule flag to generate names debian-buildHackage name string debian-buildVersion of hackage debian-buildResult hackage meta info( debian-buildRule flag to generate name debian-build)Debian source name or Hackage name string debian-buildODebian source package name and short name like ("haskell-src-exts", "src-exts") !"#$%&'()*+,-.! "#$%&'()*+,-.2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafeLš4 debian-build&Debian source package type for Haskell5 debian-build"Type for debian control meta-data.: debian-buildDebian package types> debian-build-Debian source package type, name with version? debian-buildVersion type for Debian@ debian-build)Make deebian version from hackage versionA debian-buildVersion without debian revisionB debian-buildIs debian-native or notC debian-build"Try to read debian package versionD debian-buildMake >E debian-buildSource package name of >F debian-buildDebian version of >G debian-buildVersion without debian revisionH debian-buildIs debian-native or notI debian-build Original source archive basenameJ debian-buildDebian native archive basenameK debian-buildSource directory basenameL debian-build Try to make  from >M debian-buildTry to generate > from debian changelog stringN debian-buildTake : from debian .changes file pathO debian-build$Test package type is source package.P debian-build$Test package type is binary package.Q debian-build'Parse an package entry in control file.R debian-build,Parse debian control file into package list.S debian-build meta-info of 4T debian-build#Debian source package meta-info of 4U debian-build Generate 44 type from debian package name and version using V debian-build Generate 4/ with hackage name and debian package meta-infoM debian-build!dpkg-parsechangelog result string debian-buildSource structureU debian-buildHackage name string debian-buildVersion of hackage debian-buildDebian revision String debian-buildResult structureV debian-buildHackage name string debian-buildDebian package meta info debian-buildResult#456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV#?@CAB>DEFGHIJKLM:;<=NOP56789QR4STUV2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafeOG7 !"#$%&'()*+,-.456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafel$_ debian-buildBuild mode, all or binary onlye debian-build9Run command without shell and get standard output string.f debian-buildRun command without shellg debian-buildRun command with shellh debian-buildChange directory actioni debian-build'Action to get current working directoryj debian-buildCreate directory if missingk debian-buildRename directory action. e.g. renameDirectory from tol debian-buildRename file action. e.g. renameFile from tom debian-buildConfirm filepath using ls commandn debian-buildUnpack .tar.gz under directory.o debian-build#Unpack .tar.gz under archive place.p debian-build3Pack directory into .tar.gz under working directoryq debian-buildAPack directory into same location .tar.gz under working directoryr debian-build$Run action under specified directorys debian-build Just call  cabal-debian commandt debian-buildCall  cabal-debian" command under specified directoryu debian-buildQuery debian package versionv debian-build1Read debian changelog file and try to parse into >w debian-buildRead debian control filex debian-buildCall debuild5 under specified directory, with command line optionsy debian-buildJust run debi with root userz debian-build9Install packages under specified source package directory{ debian-buildInstall build-depends| debian-build7Infer all build mode list from debian control file data} debian-buildBuild package using debuild under specified directory~ debian-buildtBuild package with specified mode list. Calculated mode list from control is used when not specified build modes. debian-buildClean and build package using debuild under specified directory€ debian-buildDRemove ghc library packages under specified source package directory"_`abcdefghijklmnopqrstuvwxyz{|}~€"hijklmnopqstuvwxyz{_`abcd|}~€refg2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafeu׆ debian-buildFind .cabal fileˆ debian-build,Call cabal library defaultMain like Setup.hs‰ debian-build0Cabal library defaultMain with sub-command cleanŠ debian-build4Cabal library defaultMain with sub-command configure‹ debian-build0Cabal library defaultMain with sub-command sdistŒ debian-build0Cabal library defaultMain with sub-command build debian-build2Cabal library defaultMain with sub-command installŽ debian-build3Cabal library defaultMain with sub-command register †‡ˆ‰Š‹ŒŽ †‡ˆ‰‹ŠŒŽ2014-2016 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe’č debian-buildRun Bulid" action under specified directory. debian-buildRun  action under base-directory.‘ debian-buildTake build-directory from  action context.’ debian-buildRemove build-directory.¢ debian-build Take debian-directory name from  action context.“ debian-build'Take original source archive name from  action context.” debian-build,Take debian native source archive name from  action context.• debian-buildTake source directory from  action context.– debian-buildMAction to copy debian directory from base-directory into specified directory.— debian-buildXSetup source directory and original source archive under build-directory using rsync.˜ debian-build]Setup native source directory and native source archive under build-directory using rsync.™ debian-build1Setup debian source directory and source archive.š debian-build8Setup original source directory and archive using Cabal.› debian-build/Setup source directory and archive using Cabal.œ debian-build@Setup source directory and archive using Cabal and cabal-debian. debian-buildFind debian .changes filesž debian-build1On the fly setup of source directory and archive.Ÿ debian-build&Probe generated source directory path.  debian-build#Probe generated source informations£ debian-buildMay specify revision string debian-build*Optional arguments of cabal-debian command debian-buildGenerated debian-dir pathœ debian-buildHackge name string debian-buildMay specify revision string debian-build*Optional arguments of cabal-debian command debian-build/Result package informations of generated sourcež debian-buildMay specify revision string debian-build*Optional arguments of cabal-debian command debian-build/Result package informations of generated source‘’“”•–—˜™š›œžŸ “”•‘’–—˜™š›œžŸ 2014-2015 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalportableSafe”·U _`abcdefghijklmnopqrstuvwxyz{|}~€†‡ˆ‰Š‹Ž‘’“”•–—˜™š›œžŸ †‡ˆ‰Š‹Ž¤      !"#$%&'()*+,-./0123456789:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“†”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«+debian-build-0.10.2.0-eVP6hAiIeO3J0sudJ2n0xDebian.Package.Build.MonadDebian.Package.Data.HackageDebian.Package.Data.PackagesDebian.Package.Build.CommandDebian.Package.Build.CabalDebian.Package.Build.SequenceDebian.Package.DataDebian.Package.BuildBuildConfigbuildDir debianDirNamesourceExcludesBuildDirBaseDirTracerunTrace bracketTrace bracketTrace_ traceCommandtraceOutputLogbuildDirRelativebuildDirAbsolute defaultConfig liftTraceunBuildrunBuild bracketBuild bracketBuild_ askBaseDir askConfig askBuildDir$fShowBuildDir $fShowConfigNameRuleSuggestSimpleHackageHackageVersionmkHackageVersion'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 buildPackagebuildrebuildremoveGhcLibrary $fEqBuildMode$fShowBuildMode$fReadBuildMode$fBoundedBuildMode$fEnumBuildModefindDescriptionFile fillSetupHssetupCmdclean configuresdistinstallregisterwithCurrentDirwithBaseCurrentDir getBuildDirremoveBuildDir origArchive nativeArchive sourceDir copyDebianDirrsyncGenOrigSourcesrsyncGenNativeSourcesrsyncGenSourcescabalGenOrigSourcescabalGenSourcescabalAutogenSourcesfindDebianChanges genSourcesfindGeneratedSourceDirfindGeneratedSource unBuildDirdebianDirName'cabalAutogenDebianDir