Merge branch 'joeyconfig'

This commit is contained in:
Joey Hess 2014-08-19 14:34:16 -04:00
commit ebeb3cb8fa
7 changed files with 43 additions and 24 deletions

View File

@ -25,6 +25,7 @@ install:
$(CABAL) sdist
cat dist/propellor-*.tar.gz | \
(cd $(DESTDIR)/usr/src/propellor && tar zx --strip-components=1)
cd $(DESTDIR)/usr/src/propellor && git init && git add . && git commit "current version of propellor"
clean:
rm -rf dist Setup tags propellor privdata/local

View File

@ -70,8 +70,8 @@ hosts = -- (o) `
& Docker.docked hosts "i386-git-annex-builder"
& Docker.docked hosts "android-git-annex-builder"
-- not currently working
! Docker.docked hosts "armel-git-annex-builder-companion"
! Docker.docked hosts "armel-git-annex-builder"
& Docker.docked hosts "armel-git-annex-builder-companion"
& Docker.docked hosts "armel-git-annex-builder"
& Docker.garbageCollected `period` Daily
& Apt.buildDep ["git-annex"] `period` Daily
@ -415,14 +415,13 @@ monsters = -- but do want to track their public keys etc.
- /imap server
- /pop server
- /apache
- (need to re-rsync /srv/web to new kite.kitenet.net
- server before decommissioning)
- bitlbee (EOL?)
- prosody (EOL?)
- ftpd (EOL)
-
- Pre-transition:
- - re-rsync /home (skip ~joey and .pine*)
- cd /home && rsync -4 --progress -avz root@wren.kitenet.net:/home/ ./ --exclude='.pine*' --exclude='joey/*' --delete
-
- Transition plan:
- - on darkstar: offlineimap run & disable cron job
@ -436,10 +435,11 @@ monsters = -- but do want to track their public keys etc.
- - point wren.kitenet.net at kite.kitenet.net temporarily
- (make real-wren.kitenet.net alias)
- - reconfigure errol's email client to use new server
- - re-run offlinimap against new server
- - on darkstar: re-run offlinimap against new server
- - test mail
- - test virus filtering
- - test http://kitenet.net/~kyle/ (user home dirs)
- - test mailman
- - migrate user cron jobs
-}
, host "mouse.kitenet.net"

View File

@ -5,3 +5,12 @@ of the source code.
/usr/bin/propellor is a wrapper which will set up a propellor git
repository in ~/.propellor/, and run ~/.propellor/propellor if it exists.
Edit ~/.propellor/config.hs to configure it.
Note that upgrading the propellor package will not update your
~/.propellor/ repository. You can `git pull upstream` in your repository to
update to the current upstream source, as distributed in the Debian
package.
Older versions of propellor set the upstream remote to
point to a repository on github, so if you used one of them, you may want
to change it to point to the new location, /usr/src/propellor/

11
debian/changelog vendored
View File

@ -1,3 +1,14 @@
propellor (0.8.3) UNRELEASED; urgency=medium
* The Debian package now includes a single-revision git repository in
/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.
* Included the config.hs symlink to config-simple.hs in the cabal and Debian
packages.
-- Joey Hess <joeyh@debian.org> Tue, 19 Aug 2014 14:16:32 -0400
propellor (0.8.2) unstable; urgency=medium
* Fix bug in File.containsLines that caused lines that were already in the

1
debian/control vendored
View File

@ -3,6 +3,7 @@ Section: admin
Priority: optional
Build-Depends:
debhelper (>= 9),
git,
ghc (>= 7.4),
cabal-install,
libghc-async-dev,

View File

@ -17,6 +17,7 @@ Extra-Source-Files:
Makefile
config-simple.hs
config-joey.hs
config.hs
debian/changelog
debian/README.Debian
debian/propellor.1

View File

@ -9,8 +9,8 @@
-- uses it to build the real propellor program (if not already built),
-- and runs it.
--
-- The source is either copied from /usr/src/propellor, or is cloned from
-- git over the network.
-- The source is cloned from /usr/src/propellor when available,
-- or is cloned from git over the network.
module Main where
@ -28,13 +28,13 @@ import System.Environment (getArgs)
import System.Exit
import System.Posix.Directory
srcdir :: FilePath
srcdir = "/usr/src/propellor"
localrepo :: FilePath
localrepo = "/usr/src/propellor"
-- Using the github mirror of the main propellor repo because
-- it is accessible over https for better security.
srcrepo :: String
srcrepo = "https://github.com/joeyh/propellor.git"
netrepo :: String
netrepo = "https://github.com/joeyh/propellor.git"
main :: IO ()
main = do
@ -56,29 +56,25 @@ wrapper args propellordir propellorbin = do
makeRepo = do
putStrLn $ "Setting up your propellor repo in " ++ propellordir
putStrLn ""
ifM (doesDirectoryExist srcdir)
ifM (doesDirectoryExist localrepo)
( do
void $ boolSystem "cp" [Param "-a", File srcdir, File propellordir]
changeWorkingDirectory propellordir
void $ boolSystem "git" [Param "init"]
void $ boolSystem "git" [Param "add", Param "."]
setuprepo True
void $ boolSystem "git" [Param "clone", File localrepo, File propellordir]
setuprepo True localrepo
, do
void $ boolSystem "git" [Param "clone", Param srcrepo, File propellordir]
void $ boolSystem "git" [Param "remote", Param "rm", Param "origin"]
setuprepo False
void $ boolSystem "git" [Param "clone", Param netrepo, File propellordir]
setuprepo False netrepo
)
setuprepo fromsrcdir = do
setuprepo fromlocalrepo repolocation = do
changeWorkingDirectory propellordir
whenM (doesDirectoryExist "privdata") $
mapM_ nukeFile =<< dirContents "privdata"
void $ boolSystem "git" [Param "commit", Param "--allow-empty", Param "--quiet", Param "-m", Param "setting up propellor git repository"]
void $ boolSystem "git" [Param "remote", Param "add", Param "upstream", Param srcrepo]
void $ boolSystem "git" [Param "remote", Param "rm", Param "origin"]
void $ boolSystem "git" [Param "remote", Param "add", Param "upstream", Param repolocation]
-- Connect synthetic git repo with upstream history so
-- merging with upstream will work going forward.
-- Note -s ours is used to avoid getting any divergent
-- changes from upstream.
when fromsrcdir $ do
when (not fromlocalrepo) $ do
void $ boolSystem "git" [Param "fetch", Param "upstream"]
version <- readProcess "dpkg-query" ["--showformat", "${Version}", "--show", "propellor"]
void $ boolSystem "git" [Param "merge", Param "-s", Param "ours", Param version]