diff options
Diffstat (limited to 'freedom-maker/freedombox-customize')
-rwxr-xr-x | freedom-maker/freedombox-customize | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/freedom-maker/freedombox-customize b/freedom-maker/freedombox-customize new file mode 100755 index 0000000..1f3ee69 --- /dev/null +++ b/freedom-maker/freedombox-customize @@ -0,0 +1,49 @@ +#!/usr/bin/python + +import crypt +import os +import subprocess +import sys + + +user = "fbx" +password = "frdm" +rootdir = sys.argv[1] +home = "/home/{0}/".format(user) + + +def runchroot(argv): + return runcmd(["chroot", rootdir] + argv) + +def runcmd(argv, stdin='', ignore_fail=False, **kwargs): + p = subprocess.Popen(argv, stdin=subprocess.PIPE, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + **kwargs) + out, err = p.communicate(stdin) + if p.returncode != 0: + msg = 'command failed: %s\n%s\n%s' % (argv, out, err) + if not ignore_fail: + print (msg) + raise Exception(msg) + return out + +if __name__ == "__main__": + print 'Customizing freedombox' + + # Create a fboxlite account. + runchroot(['adduser', '--gecos', user, '--disabled-password', user]) + encrypted = crypt.crypt(password, '..') + runchroot(['usermod', '-p', encrypted, user]) + + # Create all projects + runchroot(['git', 'clone', 'git://github.com/NickDaly/Plinth.git', + home + 'plinth']) + runchroot(['git', 'clone', 'git://github.com/jvasile/freedombox-privoxy', + home + 'freedombox-privoxy']) + runchroot(['git', 'clone', 'git://github.com/jvasile/withsqlite.git', + home + 'withsqlite']) + runchroot(['hg', 'clone', 'https://hg@bitbucket.org/nickdaly/plugserver', + home + 'plugserver']) + + # change home directory ownership appropriately + runchroot(['chown', '-R', '1000:1000', home]) |