| Age | Commit message (Collapse) | Author |
|
This is a trick I only just learned about, see
https://stackoverflow.com/questions/6711151/how-to-avoid-recompiling-in-this-cabal-file#6711739
Significantly increased propellor build speed when your config.hs is in
a fork of the propellor repository, by avoiding redundant builds of
propellor library.
Also avoids needing to list all the build deps 3 times.
Also avoids cabal 2.x wanting every module to be listed 3 times.
Note that the bulk of wrapper.hs had to move into the propellor library,
since that code depended on stuff not exposed by the library.
This commit was sponsored by Henrik Riomar on Patreon.
|
|
encoding-related crashes in eg, Propellor.Property.File.
|
|
from eg, "import Propellor"
|
|
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.
|
|
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.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the user through setting up ~/.propellor with a choice between a clone of propellor's git repository, or a minimal config.
|
|
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/
|
|
Import Prelude after modules that cause warnings due to AMP change
|
|
|
|
|
|
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.
|
|
|
|
|
|
It's not useful, since it'll change to something that cannot be directly
merged with.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The /usr/bin/propellor wrapper will warn when ~/.propellor/ is out of date
and a newer version is available from origin.
|
|
|
|
|
|
|
|
/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.
|
|
|
|
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.
|