| Age | Commit message (Collapse) | Author |
|
|
|
Made some code a little faster..
|
|
for some reason I asked the author to put the copyright in there, but
Propellor doesn't do per-file copyrights; it's all BSD. Also, make the
maintainer show up in haddock.
|
|
This is so, when a user adds a new OS, ghc tells them everywhere they
need to look to add it.
Also, avoid throwing error from pure function..
|
|
Rather than having the property fail when the Host has no OS defined,
I made bootstrapPropellorCommand not install deps in this situation.
The cron job will (probably) still work, unless a system upgrade causes
deps to be removed.
|
|
|
|
|
|
|
|
|
|
The freebsd branch made it run ./propellor --check after verifying
that command fails, which is clearly wrong.
|
|
|
|
|
|
(cherry picked from commit df40046fd65bc07eced41adb73c7e227d2b54cd1)
|
|
(cherry picked from commit 0207c5ab585f41877c1b9f9674a25941cffd2ac7)
|
|
(cherry picked from commit c3a23f89092d1ef8367c37ab8993ea7031124f4b)
|
|
- Propellor bootstrapping
- Basic pkg
- Basic ZFS datasets and properties
- Simple Poudriere configuration (regular and ZFS)
- Poudriere jail creation
FIXME:
- Cron.hs: runPropellor needs the System, but hasn't yet gotten it.
Reorganizing:
- Remove FreeBSD.Process
- Move ZFS up to Property
- Add Info for Pkg.update/Pkg.upgrade
- Move FreeBSD.md to doc so it'll show up automatically.
- Merge the FreeBSD config with the other sample config.
- Use Info to check Pkg updated/upgraded and Poudriere configured.
- Warnings clean-up, move ZFS types to Propellor.Types.
- Maintainer and license statements.
|
|
|
|
(cherry picked from commit 125135ea5d42d623346a385faf7ed404f8878891)
|
|
Before, they could run in the background if another process was running,
and so their output wouldn't immediately be visible.
With this change, the concurrent-output layer is not used for these
interactive commands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When spinning a remote host, we do want to rebuild propellor on it,
and this use of --continue that did a rebuild was different from all the
other uses of --continue that avoided a rebuild.
This fixes a build loop involving that special case. When --continue
SimpleRun ran a rebuild, it re-execed propellor with --continue SimpleRun,
and so would rebuild again, and re-exec again if the binary kept changing.
Backwards compatability should be ok; old versions of propellor,
when run with --serialized SimpleRun by the new version, do a buildFirst,
followed by another (redundant) buildFirst, and then run. The one redundant
buildFirst is not a problem in the upgrade scenario.
(Unfortunately, I can't rename SimpleRun to something nicer despite only
spin using it; backwards compatability does prevent that.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
modified the locale.gen file and sometimes caused the property to need to make changes every time.
|
|
|
|
|
|
|
|
(cherry picked from commit 313a94cd87cd0f977310a6eada559dd383f6e9f0)
|
|
(cherry picked from commit 1a485202eeab60d9d677576278480a4109db72fb)
|
|
|
|
(cherry picked from commit 4705d6be44d1ce6ff5eb0c7b8bc3a904b6e8d220)
|
|
|
|
(cherry picked from commit 864bff7743bd3a77f1bfdb37bdeeea49e31e1f52)
|
|
(cherry picked from commit f16e0e4f632032c70adcb9ba9f108e87a6ae4321)
|
|
(cherry picked from commit 26fd68a9cda543e74492dc71680d10eaa881f351)
|
|
(cherry picked from commit 2214aca8f3ca92b9739b2884cb59274edad9170e)
|
|
(cherry picked from commit c97f1308739aa7877aac2f3c949c4aadf2266775)
|
|
There may not be changes from the origin repo, so fetchFirst wouldn't
build, but changes are pushed by spin, so it always needs to build.
|
|
buildFirst re-runs propellor with --continue, which is supposed to
make defaultMain bypass subsequent calls to buildFirst. But, use of a Bool
to do that caused the code to be unclear, and some of the cases lost track
of that.
--continue SimpleRun would buildFirst, and if the binary changed, would
--continue SimpleRun. This could loop repatedly, on systems such as FreeBSD
where building re-links the binary even when there are no changes. As
discussed in github pull #11
Fixed by introducing a CanRebuild data type, which buildFirst and updateFirst
require in order to do any work makes it more clear what's going on.
It's not a type-level proof that propellor won't rebuild repeatedly,
but gets closer to one.
(Only remaining way such a bug could slip in is if the CanRebuild
value was reused in a call to buildFirst and also inside the IO action
passed to it.)
There were some other weirdnesses around repeated builds. In particular,
Run as non-root did an updateFirst, followed by a buildFirst. I think this
redundant build was an accident, and have removed it.
|
|
|
|
(cherry picked from commit 3682285c696ff24169f2bdaad6fbbea6a561b560)
|