poky/scripts/oe-setup-rpmrepo
Paul Eggleton 504ebf0d70 scripts/oe-setup-rpmrepo: use setup_tmpdir from runqemu
Update the internal copy of setup_tmpdir in the oe-setup-rpmrepo script
to be the same as the one in the runqemu script.

(From OE-Core rev: 4a23c4dd5ab31d9642e5e49569d5c7ab77e97adf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00

2.7 KiB
Executable File

#!/bin/bash

This utility setup the necessary metadata for an rpm repo

Copyright (c) 2011 Intel Corp.

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License version 2 as

published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Don't use TMPDIR from the external environment, it may be a distro

variable pointing to /tmp (e.g. within X on OpenSUSE)

Instead, use OE_TMPDIR for passing this in externally.

TMPDIR="$OE_TMPDIR"

function usage() { echo "Usage: $0 " echo " : default is $TMPDIR/deploy/rpm" }

if [ $# -gt 1 ]; then usage exit 1 fi

setup_tmpdir() { if [ -z "$TMPDIR" ]; then # Try to get TMPDIR from bitbake type -P bitbake &>/dev/null || { echo "In order for this script to dynamically infer paths"; echo "to kernels or filesystem images, you either need"; echo "bitbake in your PATH or to source oe-init-build-env"; echo "before running this script" >&2; exit 1; }

    # We have bitbake in PATH, get TMPDIR from bitbake
    TMPDIR=`bitbake -e | grep ^TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2`
    if [ -z "$TMPDIR" ]; then
        echo "Error: this script needs to be run from your build directory,"
        echo "or you need to explicitly set TMPDIR in your environment"
        exit 1
    fi
fi

}

setup_sysroot() { # Toolchain installs set up $OECORE_NATIVE_SYSROOT in their # environment script. If that variable isn't set, we're # either in an in-tree poky scenario or the environment # script wasn't source'd. if [ -z "$OECORE_NATIVE_SYSROOT" ]; then setup_tmpdir BUILD_ARCH=uname -m BUILD_OS=uname | tr '[A-Z]' '[a-z]' BUILD_SYS="$BUILD_ARCH-$BUILD_OS"

	OECORE_NATIVE_SYSROOT=$TMPDIR/sysroots/$BUILD_SYS
fi 

}

setup_tmpdir setup_sysroot

if [ -n "$1" ]; then RPM_DIR="$1" else RPM_DIR="$TMPDIR/deploy/rpm" fi

if [ ! -d "$RPM_DIR" ]; then echo "Error: rpm dir $RPM_DIR doesn't exist" exit 1 fi

CREATEREPO=$OECORE_NATIVE_SYSROOT/usr/bin/createrepo if [ ! -e "$CREATEREPO" ]; then echo "Error: can't find createrepo binary" echo "please run bitbake createrepo-native first" exit 1 fi

$CREATEREPO "$RPM_DIR"

exit 0