support for user-specified build.ini. untested. should probably then modify te config parser to search for a config if this is set to None, not to /etc/bdisk/build.ini.
This commit is contained in:
parent
167cd342fa
commit
c10ceaa225
@ -1,4 +1,6 @@
|
|||||||
#!/bin/env python3
|
#!/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
import host
|
import host
|
||||||
import prep
|
import prep
|
||||||
import bchroot
|
import bchroot
|
||||||
@ -10,15 +12,15 @@ import bsync
|
|||||||
import bGPG
|
import bGPG
|
||||||
import os
|
import os
|
||||||
|
|
||||||
# we need to:
|
|
||||||
# we also need to figure out how to implement "mentos" (old bdisk) like functionality, letting us reuse an existing chroot install if possible to save time for future builds.
|
def bdisk(args):
|
||||||
|
# we also need to figure out how to implement "mentos" (old bdisk) like functionality, letting us reuse an
|
||||||
|
# existing chroot install if possible to save time for future builds.
|
||||||
# if not, though, it's no big deal.
|
# if not, though, it's no big deal.
|
||||||
# still on the todo: iPXE
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if os.getuid() != 0:
|
if os.getuid() != 0:
|
||||||
exit('{0}: ERROR: BDisk *must* be run as the root user or with sudo!'.format(datetime.datetime.now()))
|
exit('{0}: ERROR: BDisk *must* be run as the root user or with sudo!'.format(datetime.datetime.now()))
|
||||||
print('{0}: Starting.'.format(datetime.datetime.now()))
|
print('{0}: Starting.'.format(datetime.datetime.now()))
|
||||||
conf = host.parseConfig(host.getConfig())[1]
|
conf = host.parseConfig(host.getConfig(conf_file = args['buildini']))[1]
|
||||||
prep.dirChk(conf)
|
prep.dirChk(conf)
|
||||||
conf['gpgobj'] = bGPG.genGPG(conf)
|
conf['gpgobj'] = bGPG.genGPG(conf)
|
||||||
prep.buildChroot(conf, keep = False)
|
prep.buildChroot(conf, keep = False)
|
||||||
@ -50,3 +52,20 @@ if __name__ == '__main__':
|
|||||||
bsync.git(conf)
|
bsync.git(conf)
|
||||||
bsync.rsync(conf)
|
bsync.rsync(conf)
|
||||||
print('{0}: Finish.'.format(datetime.datetime.now()))
|
print('{0}: Finish.'.format(datetime.datetime.now()))
|
||||||
|
|
||||||
|
def parseArgs():
|
||||||
|
args = argparse.ArgumentParser(description = 'BDisk - a tool for building live/rescue media.',
|
||||||
|
epilog = 'brent s. || 2017 || https://bdisk.square-r00t.net')
|
||||||
|
args.add_argument('buildini',
|
||||||
|
metavar = '/path/to/build.ini',
|
||||||
|
default = '/etc/bdisk/build.ini',
|
||||||
|
nargs = '?',
|
||||||
|
help = 'The full/absolute path to the build.ini to use for this run. The default is /etc/bdisk/build.ini, but see https://bdisk.square-r00t.net/#the_code_build_ini_code_file.')
|
||||||
|
return(args)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = vars(parseArgs().parse_args())
|
||||||
|
bdisk(args)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user