Merge branch 'joeyconfig'
This commit is contained in:
commit
77f79fa032
1
Makefile
1
Makefile
|
@ -29,6 +29,7 @@ install:
|
||||||
git add . \
|
git add . \
|
||||||
&& git commit -m "distributed version of propellor" \
|
&& git commit -m "distributed version of propellor" \
|
||||||
&& git bundle create $(DESTDIR)/usr/src/propellor/propellor.git master HEAD
|
&& git bundle create $(DESTDIR)/usr/src/propellor/propellor.git master HEAD
|
||||||
|
&& git show-ref HEAD --hash > $(DESTDIR)/usr/src/propellor/head
|
||||||
rm -rf dist/gittmp
|
rm -rf dist/gittmp
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
@ -11,12 +11,3 @@ Note that upgrading the propellor package will not update your
|
||||||
to the source, or may need to adapt your config.hs to work with the new
|
to the source, or may need to adapt your config.hs to work with the new
|
||||||
version of propellor. Instead, if your ~/.propellor/ is from an older
|
version of propellor. Instead, if your ~/.propellor/ is from an older
|
||||||
version of propellor, /usr/bin/propellor will warn that it's out of date.
|
version of propellor, /usr/bin/propellor will warn that it's out of date.
|
||||||
|
|
||||||
You can `git pull upstream` in your repository to update to the
|
|
||||||
current upstream source, as distributed in the Debian package.
|
|
||||||
|
|
||||||
In older versions of propellor, the upstream remote was pointed at
|
|
||||||
the repository on github, so you may want to change it to point
|
|
||||||
to the repository included in the Debian package:
|
|
||||||
|
|
||||||
git config remote.upstream.url /usr/src/propellor/propellor.git
|
|
||||||
|
|
|
@ -2,8 +2,10 @@ propellor (0.8.3) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
* The Debian package now includes a single-revision git repository in
|
* The Debian package now includes a single-revision git repository in
|
||||||
/usr/src/propellor/, and ~/.propellor/ is set up to use this repository as
|
/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
|
its origin remote. This avoids relying on the security of the github
|
||||||
repository when using the Debian package.
|
repository when using the Debian package.
|
||||||
|
* The /usr/bin/propellor wrapper will warn when ~/.propellor/ is out of date
|
||||||
|
and a newer version is available from origin.
|
||||||
* Included the config.hs symlink to config-simple.hs in the cabal and Debian
|
* Included the config.hs symlink to config-simple.hs in the cabal and Debian
|
||||||
packages.
|
packages.
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ import Utility.Monad
|
||||||
import Utility.Process
|
import Utility.Process
|
||||||
import Utility.SafeCommand
|
import Utility.SafeCommand
|
||||||
import Utility.Directory
|
import Utility.Directory
|
||||||
|
import Utility.Exception
|
||||||
|
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Control.Monad.IfElse
|
import Control.Monad.IfElse
|
||||||
|
@ -27,9 +28,10 @@ import System.FilePath
|
||||||
import System.Environment (getArgs)
|
import System.Environment (getArgs)
|
||||||
import System.Exit
|
import System.Exit
|
||||||
import System.Posix.Directory
|
import System.Posix.Directory
|
||||||
|
import System.IO
|
||||||
|
|
||||||
localrepo :: FilePath
|
distrepo :: FilePath
|
||||||
localrepo = "/usr/src/propellor/propellor.git"
|
distrepo = "/usr/src/propellor/propellor.git"
|
||||||
|
|
||||||
-- Using the github mirror of the main propellor repo because
|
-- Using the github mirror of the main propellor repo because
|
||||||
-- it is accessible over https for better security.
|
-- it is accessible over https for better security.
|
||||||
|
@ -46,19 +48,34 @@ main = do
|
||||||
|
|
||||||
wrapper :: [String] -> FilePath -> FilePath -> IO ()
|
wrapper :: [String] -> FilePath -> FilePath -> IO ()
|
||||||
wrapper args propellordir propellorbin = do
|
wrapper args propellordir propellorbin = do
|
||||||
unlessM (doesDirectoryExist propellordir) $
|
ifM (doesDirectoryExist propellordir)
|
||||||
makeRepo
|
( checkRepo
|
||||||
|
, makeRepo
|
||||||
|
)
|
||||||
buildruncfg
|
buildruncfg
|
||||||
where
|
where
|
||||||
chain = do
|
|
||||||
(_, _, _, pid) <- createProcess (proc propellorbin args)
|
|
||||||
exitWith =<< waitForProcess pid
|
|
||||||
makeRepo = do
|
makeRepo = do
|
||||||
putStrLn $ "Setting up your propellor repo in " ++ propellordir
|
putStrLn $ "Setting up your propellor repo in " ++ propellordir
|
||||||
putStrLn ""
|
putStrLn ""
|
||||||
localexists <- doesFileExist localrepo <||> doesDirectoryExist localrepo
|
distexists <- doesFileExist distrepo <||> doesDirectoryExist distrepo
|
||||||
let repo = if localexists then localrepo else netrepo
|
let repo = if distexists then distrepo else netrepo
|
||||||
void $ boolSystem "git" [Param "clone", File repo, File propellordir]
|
void $ boolSystem "git" [Param "clone", File repo, File propellordir]
|
||||||
|
|
||||||
|
disthead = propellordir </> "head"
|
||||||
|
|
||||||
|
checkRepo = whenM (doesFileExist disthead) $ do
|
||||||
|
head <- readFile disthead
|
||||||
|
changeWorkingDirectory propellordir
|
||||||
|
headknown <- catchMaybeIO $
|
||||||
|
withQuietOutput createProcessSuccess $
|
||||||
|
proc "git" ["log", head]
|
||||||
|
when (headknown == Nothing)
|
||||||
|
warnoutofdate
|
||||||
|
warnoutofdate = do
|
||||||
|
let n = hPutStrLn stderr
|
||||||
|
n ("** Your " ++ propellordir ++ " is out of date..")
|
||||||
|
n (" A newer upstream version is available in " ++ distrepo)
|
||||||
|
n (" To merge it, run eg: git pull origin master")
|
||||||
buildruncfg = do
|
buildruncfg = do
|
||||||
changeWorkingDirectory propellordir
|
changeWorkingDirectory propellordir
|
||||||
ifM (boolSystem "make" [Param "build"])
|
ifM (boolSystem "make" [Param "build"])
|
||||||
|
@ -68,3 +85,7 @@ wrapper args propellordir propellorbin = do
|
||||||
chain
|
chain
|
||||||
, error "Propellor build failed."
|
, error "Propellor build failed."
|
||||||
)
|
)
|
||||||
|
chain = do
|
||||||
|
(_, _, _, pid) <- createProcess (proc propellorbin args)
|
||||||
|
exitWith =<< waitForProcess pid
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue