summaryrefslogtreecommitdiff
path: root/src/wrapper.hs
AgeCommit message (Collapse)Author
2016-12-24GHC's fileSystemEncoding is used for all String IO, to avoid ↵Joey Hess
encoding-related crashes in eg, Propellor.Property.File.
2016-11-12check that config.hs mentions "Propellor"Joey Hess
from eg, "import Propellor"
2016-11-12The propellor wrapper checks if ./config.hs exists; if so it runs using the ↵Joey Hess
configuration in the current directory, rather than ~/.propellor/config.hs The config,hs name now seems a bit badly chosen, propellor.hs would be less ambiguous. To avoid accidentially running with a config.hs for something else, the file content has to contain "Propellor". Note that checkRepoUpToDate is only run for ~/.propellor/. I guess propellor configs in other directories won't have been set up that way, and it would take some changes to make that not hardcode use of dotPropellor. There's a new security boundary here, since running propellor looks at the cwd, whose contents might not be user the user's control. The security checks I added for this seem pretty good, but even if they can be bypassed, this is not much different than `make` using the Makefile in cwd. This commit was sponsored by Ole-Morten Duesund on Patreon.
2016-04-28Fix build with directory-1.2.6.2.Joey Hess
It's now exporting a conflicting isSymbolicLink https://github.com/haskell/directory/issues/52 Only a few places in propellor use isSymbolicLink, but to prevent future problems, made as much of it as possible import Utility.Directory, which re-exports System.Directory without the conflicting symbol. (Utility.Tmp and System.Console.Concurrent.Internal cannot import Utility.Directory due to cycles, and don't use isSymbolicLink anyway.)
2016-04-02make sure that the wrapper runs propellor in the foregroundJoey Hess
2016-04-02typoJoey Hess
2016-04-02avoid wrapper building propellor unnessessarilyJoey Hess
2016-04-01separate propellor --initJoey Hess
2016-04-01setup gpg key in initial setup processJoey Hess
2016-04-01fix false positive for out of date message after initial clone from git bundleJoey Hess
2016-04-01Improved propellor's first run experience; the wrapper program will now walk ↵Joey Hess
the user through setting up ~/.propellor with a choice between a clone of propellor's git repository, or a minimal config.
2016-03-30When new dependencies are added to propellor or the propellor config, try ↵Joey Hess
harder to get them installed. In particular, this makes propellor --spin work when the remote host needs to get dependencies installed in order to build the updated config. Fixes http://propellor.branchable.com/todo/problem_with_spin_after_new_dependencies_added/
2015-12-19Clean build with ghc 7.10.Joey Hess
Import Prelude after modules that cause warnings due to AMP change
2015-10-28need withConcurrentOutput to flush any buffered concurrent outputJoey Hess
2015-09-08propellor spinJoey Hess
2015-03-22simplify setup process for minimal config modeJoey Hess
Allow cloning a branch. Updated wrapper to check for propellor.cabal and not try to update if it's not present, to handle this case.
2015-02-28Propellor now builds itself without needing the Makefile.Joey Hess
2014-08-19keep warning of out of date after updating upstream/master, until it gets mergedJoey Hess
2014-08-19remove origin remote after local cloneJoey Hess
It's not useful, since it'll change to something that cannot be directly merged with.
2014-08-19-XJoey Hess
2014-08-19need to -s theirs or the merge is likely to failJoey Hess
2014-08-19simpler mergeJoey Hess
Ah, we've checked out the oldref, so can just merge the newref in and get a branch that is suitable for mergeing into the user's repo. No need for manual diff, which can fail on eg, binaries or no changes.
2014-08-19need to connect up historyJoey Hess
2014-08-19syntaxJoey Hess
2014-08-19syntaxJoey Hess
2014-08-19color messageJoey Hess
2014-08-19fixesJoey Hess
2014-08-19fix ref nameJoey Hess
2014-08-19head file will end with a newlineJoey Hess
2014-08-19ugly workaround for lack of history in repo distributed with debian packageJoey Hess
2014-08-19final fixesJoey Hess
2014-08-19warningsJoey Hess
2014-08-19debian upgrade handlingJoey Hess
The /usr/bin/propellor wrapper will warn when ~/.propellor/ is out of date and a newer version is available from origin.
2014-08-19typoJoey Hess
2014-08-19stop removing privdata, it's no longer in masterJoey Hess
2014-08-19local repo fully working nowJoey Hess
2014-08-19The Debian package now includes a single-revision git repository in ↵Joey Hess
/usr/src/propellor/, and ~/.propellor/ is set up to use this repository as its "upstream" remote. This avoids relying on the security of the github repository when using the Debian package.
2014-06-09cleanupJoey Hess
2014-05-14moved source code to srcJoey Hess
This is to work around OSX's brain-damange regarding filename case insensitivity. Avoided moving config.hs, because it's a config file. Put in a symlink to make build work.