From bfd3c3ba95f992c83c8c0dbf9df2856dee58bd79 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 1 Jul 2004 23:29:02 +0000 Subject: [PATCH] Delete: bin/oeinstall --- bin/oeinstall | 205 ---------------------------------------------------------- 1 file changed, 205 deletions(-) delete mode 100644 bin/oeinstall diff --git a/bin/oeinstall b/bin/oeinstall deleted file mode 100644 index e584a11..0000000 --- a/bin/oeinstall +++ /dev/null @@ -1,205 +0,0 @@ -#!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- - -import sys, os, oe -from oe import * - -__version__ = 1.0 -cfg_oe = data.init() - -def usage(): - print - print "Usage: oeinstall [options ...]" - print - print "Installs specified files of supported types into a root filesystem." - print "Currently only supports installing OEFILES into the rootfs directly" - print "using their do_install target." - print - print "Options:" - print " %s\t\t%s" % ("-r [arg], --root [arg]", "root directory (default=${IMAGE_ROOTFS})") - print " %s\t\t%s" % ("-f [arg], --files [arg]", ".oe files available (default=${OEFILES})") - print " %s\t\t%s" % ("-t [arg], --type [arg]", "installation type (direct, and any for which package_[type].oeclass exists)") - print " %s\t\t%s" % ("-V, --version", "output version information and exit") - print - sys.exit(0) - -def version(): - print "OpenEmbedded Build Infrastructure Core version %s" % oe.__version__ - print "OEInstall version %s" % __version__ - -def getopthash(l): - h = {} - for (opt, val) in l: - h[opt] = val - return h - -import getopt -try: - (opts, args) = getopt.getopt(sys.argv[1:], 'Vr:f:t:', [ 'version', 'root=', 'files=', 'type=' ]) -except getopt.GetoptError: - usage() - -# handle opts -opthash = getopthash(opts) - -if '--version' in opthash or '-V' in opthash: - version() - sys.exit(0) - -try: - cfg_oe = parse.handle("conf/oe.conf", cfg_oe) -except Exception, e: - fatal("Unable to open oe.conf: %s" % e) - -# sanity check -if cfg_oe is None: - fatal("Unable to open/parse conf/oe.conf") - usage(1) - -rootfs = data.getVar('IMAGE_ROOTFS', cfg_oe, 1) - -if '--root' in opthash: - rootfs = opthash['--root'] -if '-r' in opthash: - rootfs = opthash['-r'] - -if not rootfs: - oe.fatal("root filesystem not specified") - -data.setVar('IMAGE_ROOTFS', rootfs, cfg_oe) - -#type = 'direct' -type = 'tar' - -if '--type' in opthash: - type = opthash['--type'] -if '-t' in opthash: - type = opthash['-t'] - -topdir = data.getVar('TOPDIR', cfg_oe, 1) or os.getcwd() - -# Iterate through .oe files -files = (data.getVar("OEFILES", cfg_oe, 1) or "").split() -if '-f' in opthash: - files.extend(opthash['-f']) -if '--files' in opthash: - files.extend(opthash['--files']) -data.setVar("OEFILES", ''.join(files), cfg_oe) - -def get_oefiles(): - """Get default oefiles""" - dirs = os.listdir(os.getcwd()) - oefiles = [] - for f in dirs: - (root, ext) = os.path.splitext(f) - if ext == ".oe": - oefiles.append(os.path.abspath(os.path.join(os.getcwd(),f))) - return oefiles - -if not len(files): - files = get_oefiles() - -if not len(files): - usage() - -def inst_pkg(d): - from oe import data, build, error - if data.getVar('pkg_preinst', d): - try: - build.exec_func('pkg_preinst', d) - except build.FuncFailed: - oe.note("preinst execution failure") - return 0 - if type is not 'direct': - try: - build.exec_func('package_%s_fn' % type, d) - except build.FuncFailed: - oe.error("failed obtaining the filename of the outputted package for %s" % type) - return 0 - if data.getVar('package_%s_install' % type, d): - try: - build.exec_func('package_%s_install' % type, d) - print "package %s (%s) installed." % (p, data.getVar('PN', d, 1)) - except build.FuncFailed: - return 0 - else: - oe.error("no package_%s_install function to execute. skipping." % type) - return 0 - if data.getVar('pkg_postinst', d): - try: - build.exec_func('pkg_postinst', d) - except build.FuncFailed: - oe.note("postinst execution failure") - pass - return 1 - - -# if type is not direct, add 'package_[type]' to INHERIT -if type is not 'direct': - inherit = data.getVar('INHERIT', cfg_oe, 1) or "" - inherit += " base package_%s" % type - data.setVarFlag('INHERIT', 'export', 1, cfg_oe) - data.setVar('INHERIT', inherit, cfg_oe) - -pkgs_to_install = None -if args: - if not pkgs_to_install: - pkgs_to_install = [] - pkgs_to_install.extend(args) -if not pkgs_to_install: - inst_oepkgs = data.getVar('INST_OEPKGS', cfg_oe, 1) - if inst_oepkgs: - pkgs_to_install = inst_oepkgs.split() -debug(1, "installing: %s" % pkgs_to_install) - -import glob -for f in files: - if pkgs_to_install is not None and len(pkgs_to_install) == 0: -# # done! - break - globbed = glob.glob(f) or [ f ] - if globbed: - if [ f ] != globbed: - files += globbed - continue - from copy import deepcopy - fdata = deepcopy(cfg_oe) - try: - parse.handle(f, fdata) - except Exception, e: - error("%s" % e) - fdata = None - if fdata is None: - continue -# # allow metadata files to add items to OEFILES - data.update_data(fdata) - addoefiles = data.getVar('OEFILES', fdata) or None - if addoefiles: - for aof in addoefiles.split(): - if not files.count(aof): - if not os.path.isabs(aof): - aof = os.path.join(os.path.dirname(f),aof) - files.append(aof) - pkgs = (data.getVar('PACKAGES', fdata, 1) or "").split() -# # Iterate through PACKAGES - for p in pkgs: - if pkgs_to_install is not None: - if not p in pkgs_to_install: - continue - d = deepcopy(fdata) - data.setVar('PKG', p, d) -# # Add package to overrides, collapse the metadata - overrides = data.getVar('OVERRIDES', d, 1) or "" - overrides += ":%s" % p - data.setVar('OVERRIDES', overrides, d) - data.update_data(d) - data.setVarFlag('INHERIT', 'export', 1, d) -# # Look at vars to determine the file names for the package type in question -# # Call installer for a given package type as pulled from the metadata with INHERIT set properly - data.setVar('D', rootfs, d) - if inst_pkg(d): - if pkgs_to_install is not None: - del pkgs_to_install[pkgs_to_install.index(p)] - if pkgs_to_install is not None and len(pkgs_to_install) == 0: - break -- 2.7.4