diff options
| author | Joey Hess <joeyh@joeyh.name> | 2016-12-26 12:07:18 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2016-12-26 12:07:18 -0400 |
| commit | 577ff36472956689ef5bebbefe6770357e2785f4 (patch) | |
| tree | f325c5b532b098d22e49bc27c7f3b8345c84192e | |
| parent | e3dacfc402108d2da408f843542d82dcab58157d (diff) | |
Added --build option, which makes propellor simply build itself.
| -rw-r--r-- | debian/changelog | 6 | ||||
| -rw-r--r-- | doc/usage.mdwn | 8 | ||||
| -rw-r--r-- | src/Propellor/CmdLine.hs | 3 | ||||
| -rw-r--r-- | src/Propellor/Types/CmdLine.hs | 1 |
4 files changed, 18 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index cb313e2f..765f44c0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +propellor (3.2.4) UNRELEASED; urgency=medium + + * Added --build option, which makes propellor simply build itself. + + -- Joey Hess <id@joeyh.name> Mon, 26 Dec 2016 12:03:19 -0400 + propellor (3.2.3) unstable; urgency=medium * Improve extraction of gpg secret key id list, to work with gpg 2.1. diff --git a/doc/usage.mdwn b/doc/usage.mdwn index fc1f8391..3d32538f 100644 --- a/doc/usage.mdwn +++ b/doc/usage.mdwn @@ -55,6 +55,14 @@ and configured in haskell. The hostname given to --spin can be a short name, which is then looked up in the DNS to find the FQDN. +* propellor --build + + Causes propellor to build itself, checking that your config.hs, etc are + valid. + + You do not need to run this as a separate step; propellor automatically + builds itself when using things like --spin. + * propellor --add-key keyid Adds a gpg key, which is used to encrypt the privdata. diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs index 448abf62..7840cc33 100644 --- a/src/Propellor/CmdLine.hs +++ b/src/Propellor/CmdLine.hs @@ -26,6 +26,7 @@ usage h = hPutStrLn h $ unlines , " propellor --init" , " propellor" , " propellor --spin targethost [--via relayhost]" + , " propellor --build" , " propellor --add-key keyid" , " propellor --rm-key keyid" , " propellor --list-fields" @@ -53,6 +54,7 @@ processCmdLine = go =<< getArgs <$> mapM hostname (reverse hs) <*> pure (Just r) _ -> Spin <$> mapM hostname ps <*> pure Nothing + go ("--build":[]) = return Build go ("--add-key":k:[]) = return $ AddKey k go ("--rm-key":k:[]) = return $ RmKey k go ("--set":f:c:[]) = withprivfield f c Set @@ -101,6 +103,7 @@ defaultMain hostlist = withConcurrentOutput $ do where go cr (Serialized cmdline) = go cr cmdline go _ Check = return () + go cr Build = buildFirst Nothing cr Build $ return () go _ (Set field context) = setPrivData field context go _ (Unset field context) = unsetPrivData field context go _ (UnsetUnused) = unsetPrivDataUnused hostlist diff --git a/src/Propellor/Types/CmdLine.hs b/src/Propellor/Types/CmdLine.hs index 558c6e8b..d712a456 100644 --- a/src/Propellor/Types/CmdLine.hs +++ b/src/Propellor/Types/CmdLine.hs @@ -28,4 +28,5 @@ data CmdLine | ChrootChain HostName FilePath Bool Bool | GitPush Fd Fd | Check + | Build deriving (Read, Show, Eq) |
