From 2c47b700bee9c337e1d66f87e97dc136b38a4fdd Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Wed, 19 Jun 2013 21:26:29 +1200 Subject: [PATCH] Reduce duplication between ramdisk and disk image codepaths. Change-Id: Ie9e2d60ffe94f971953d52b7b5bce9c1a86fb1b5 --- bin/ramdisk-image-create | 19 ++++++++++--------- lib/common-defaults | 41 ++++++++++++++++++++++++++++++++++++++++ lib/img-defaults | 25 +----------------------- lib/ramdisk-defaults | 6 ++---- 4 files changed, 54 insertions(+), 37 deletions(-) create mode 100644 lib/common-defaults diff --git a/bin/ramdisk-image-create b/bin/ramdisk-image-create index 622734725..4ded447c2 100755 --- a/bin/ramdisk-image-create +++ b/bin/ramdisk-image-create @@ -1,8 +1,7 @@ #!/bin/bash -# XXX: Only portions of this are the NTT original, much is now HP work - # Copyright (c) 2012 NTT DOCOMO, INC. +# Copyright 2013 Hewlett-Packard Development Company, L.P. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -26,13 +25,15 @@ export _LIB=${_DIR}/../lib source $_LIB/die function show_options () { - echo "Options:" - echo " -m PATH -- Path to find lib/modules. Default /" - echo " -k VERSION -- Kernel version. Default $(uname -r)" - echo " -h -- This help" - echo " -o FILENAME -- Output file" - echo " -x -- turn on tracing" - exit 0 + echo "Options:" + echo " -m PATH -- Path to find lib/modules. Default /" + echo " -k VERSION -- Kernel version. Default $(uname -r)" + echo " -h -- This help" + echo " -o FILENAME -- Output file" + echo " -x -- turn on tracing" + echo + echo "ELEMENTS_PATH will allow you to specify multiple locations for the elements." + exit 0 } TEMP=$(getopt -o m:k:ho:x -n $SCRIPTNAME -- "$@") diff --git a/lib/common-defaults b/lib/common-defaults new file mode 100644 index 000000000..dc9550008 --- /dev/null +++ b/lib/common-defaults @@ -0,0 +1,41 @@ +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# options for create-baremetal-image.sh +if [ -f /etc/debian_version ]; then + _ARCH=$(dpkg --print-architecture) +else + _ARCH=$(uname -m) + case $_ARCH in + "x86_64") + _ARCH="amd64" + ;; + "armv"*) + _ARCH="armhf" + ;; + *) + echo "WARNING: Unknown architecture: $_ARCH" + ;; + esac +fi +ARCH=${ARCH:-$_ARCH} +export ARCH + +export DIB_NO_TMPFS=${DIB_NO_TMPFS:-0} +# Set via the CLI normally. +# IMAGE_ELEMENT= +_BASE_ELEMENT_DIR=$(dirname $0)/../elements +ELEMENTS_PATH=${ELEMENTS_PATH:+"$ELEMENTS_PATH:$_BASE_ELEMENT_DIR"} +export ELEMENTS_PATH=${ELEMENTS_PATH:-$_BASE_ELEMENT_DIR} diff --git a/lib/img-defaults b/lib/img-defaults index e964df576..314195153 100644 --- a/lib/img-defaults +++ b/lib/img-defaults @@ -13,33 +13,10 @@ # License for the specific language governing permissions and limitations # under the License. +source $_LIB/common-defaults # options for create-baremetal-image.sh -if [ -f /etc/debian_version ]; then - _ARCH=$(dpkg --print-architecture) -else - _ARCH=$(uname -m) - case $_ARCH in - "x86_64") - _ARCH="amd64" - ;; - "armv"*) - _ARCH="armhf" - ;; - *) - echo "WARNING: Unknown architecture: $_ARCH" - ;; - esac -fi -ARCH=${ARCH:-$_ARCH} -export ARCH FS_TYPE=${FS_TYPE:-ext4} # Used to set the file extension only at this stage. IMAGE_TYPE=${IMAGE_TYPE:-qcow2} IMAGE_NAME=${IMAGE_NAME:-image} -export DIB_NO_TMPFS=${DIB_NO_TMPFS:-0} -# Set via the CLI normally. -# IMAGE_ELEMENT= -_BASE_ELEMENT_DIR=$(dirname $0)/../elements -ELEMENTS_PATH=${ELEMENTS_PATH:+"$ELEMENTS_PATH:$_BASE_ELEMENT_DIR"} -export ELEMENTS_PATH=${ELEMENTS_PATH:-$_BASE_ELEMENT_DIR} diff --git a/lib/ramdisk-defaults b/lib/ramdisk-defaults index 1e9db6565..d6fc8b238 100644 --- a/lib/ramdisk-defaults +++ b/lib/ramdisk-defaults @@ -16,12 +16,10 @@ # under the License. # options for ramdisk-image-create +export DIB_NO_TMPFS=${DIB_NO_TMPFS:-1} +source $_LIB/common-defaults KERNEL_VERSION=${KERNEL_VERSION:-$(uname -r)} MODULE_ROOT=${MODULE_ROOT:-""} LIB_UDEV_ROOT=${LIB_UDEV_ROOT:-""} BUSYBOX=${BUSYBOX:-$(which busybox)} IMAGE_NAME=${IMAGE_NAME:-"ramdisk"} -_BASE_ELEMENT_DIR=$(dirname $0)/../elements -ELEMENTS_PATH=${ELEMENTS_PATH:+"$ELEMENTS_PATH:$_BASE_ELEMENT_DIR"} -export ELEMENTS_PATH=${ELEMENTS_PATH:-$_BASE_ELEMENT_DIR} -export DIB_NO_TMPFS=${DIB_NO_TMPFS:-1}