From 60ea130321e23dd7b36337388d6627661c116548 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 24 May 2014 00:05:47 -0400 Subject: propellor spin --- config-joey.hs | 2 ++ src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/config-joey.hs b/config-joey.hs index 2f84fbb0..1f5ce0dc 100644 --- a/config-joey.hs +++ b/config-joey.hs @@ -98,6 +98,7 @@ hosts = -- (o) ` & Docker.docked hosts "i386-git-annex-builder" & Docker.docked hosts "armel-git-annex-builder-companion" & Docker.docked hosts "armel-git-annex-builder" + & Docker.docked hosts "android-git-annex-builder" & Docker.garbageCollected `period` Daily & Apt.buildDep ["git-annex"] `period` Daily @@ -196,6 +197,7 @@ hosts = -- (o) ` , GitAnnexBuilder.standardContainer dockerImage "i386" 45 "2h" , GitAnnexBuilder.armelCompanionContainer dockerImage , GitAnnexBuilder.armelContainer dockerImage "1 3 * * *" "5h" + , GitAnnexBuilder.androidContainer dockerImage "1 1 * * *" "3h" ] ++ monsters -- This is my standard system setup. diff --git a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs index 8055a608..13f1ac12 100644 --- a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs +++ b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs @@ -103,6 +103,24 @@ standardContainer dockerImage arch buildminute timeout = Docker.container (arch & Apt.unattendedUpgrades & builder arch (show buildminute ++ " * * * *") timeout True +-- Android is cross-built in a Debian i386 container, using the Android NDK. +androidContainer :: (System -> Docker.Image) -> Cron.CronTimes -> TimeOut -> Host +androidContainer dockerImage crontimes timeout = Docker.container "android-git-annex-builder" + (dockerImage $ System (Debian Stable) "i386") + & Apt.stdSourcesList Stable + & Apt.unattendedUpgrades + & builder "android" crontimes timeout True + -- Use git-annex's android chroot setup script, which will install + -- ghc-android and the NDK, etc, in the home directory of the + -- builder user. + & scriptProperty + [ "cd " ++ builddir ++ " && ./standalone/android/buildchroot-inchroot" + ] + -- TODO: automate installing haskell libs + -- (Currently have to run + -- git-annex/standalone/android/install-haskell-packages + -- which is not fully automated.) + -- armel builder has a companion container using amd64 that -- runs the build first to get TH splices. They need -- to have the same versions of all haskell libraries installed. -- cgit v1.2.3