diff options
Diffstat (limited to 'components/binary-includes')
-rwxr-xr-x | components/binary-includes | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/components/binary-includes b/components/binary-includes deleted file mode 100755 index 5b829aeba..000000000 --- a/components/binary-includes +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/python3 - -## live-build(7) - Live System Build Components -## Copyright (C) 2006-2014 Daniel Baumann <mail@daniel-baumann.ch> -## -## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. -## This is free software, and you are welcome to redistribute it -## under certain conditions; see COPYING for details. - - -import argparse -import configparser -import glob -import os -import shutil -import subprocess -import sys - - -# TODO: -# * logfile output -# * lockfile handling -# * use gettext for i18n -# * derefence or remove symlinks if binary filesystem does not support them - -def main(): - ## Parsing Arguments - arguments = argparse.ArgumentParser( - prog = 'lb binary-includes', - usage = '%(prog)s [arguments]', - description = '''live-build contains the components to build a live system from a configuration directory. - The binary-includes command copies include files into the binary stage.''', - epilog = 'See \'man lb-binary-includes\' for more information.', - formatter_class = argparse.ArgumentDefaultsHelpFormatter - ) - - arguments.add_argument('--version', help='show program\'s version number and exit', action='version', version='live-build 4') - arguments.add_argument('--verbose', help='set verbose option', action='store_true') - - args = arguments.parse_args() - - # --verbose - verbose = args.verbose - - ## Copying binary includes - - # stagefile - if os.path.isfile('.build/binary-includes'): - if verbose: - print('I: binary-includes already done - nothing to do') - - sys.exit(0) - - # dependencies - if not os.path.isfile('.build/bootstrap'): - print('E: bootstrap stage missing - aborting', file=sys.stderr) - - if verbose: - print('I: use \'lb bootstrap\' to bootstrap system') - - sys.exit(1) - - if not os.path.isfile('/bin/cpio'): - print('E: /bin/cpio - no such file', file=sys.stderr) - - if verbose: - print('I: cpio can be obtained from:\n' - 'I: http://www.gnu.org/software/cpio/\n' - 'I: http://ftp.gnu.org/gnu/cpio/\n' - 'I: On Debian based systems, cpio can be installed with:\n' - 'I: # sudo apt-get install cpio') - - sys.exit(1) - - # includes - if not glob.glob('config/includes/*') and not glob.glob('config/includes/.*') and not glob.glob('config/includes.binary/*') and not glob.glob('config/includes.binary/.*'): - if verbose: - print ('I: no binary includes found at config/includes{,.binary} - nothing to do') - - sys.exit(0) - - # process includes - if glob.glob('config/includes/*') or glob.glob('config/includes/.*'): - if verbose: - print('I: Copying config/includes to binary') - - cpio = subprocess.check_call('cd config/includes && find . | cpio -dmpu --no-preserve-owner ../../binary', shell=True) - - if glob.glob('config/includes.binary/*') or glob.glob('config/includes.binary/.*'): - if verbose: - print('I: Copying config/includes.binary to binary') - - cpio = subprocess.check_call('cd config/includes.binary && find . | cpio -dmpu --no-preserve-owner ../../binary', shell=True) - - # stagefile - os.makedirs('.build', exist_ok=True) - open('.build/binary-includes', 'w').close() - - -if __name__ == '__main__': - main() |