mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 14:41:31 +02:00
Build image part of http://codereview.chromium.org/913004/show
Review URL: http://codereview.chromium.org/998002
This commit is contained in:
parent
c09b94fda3
commit
4bccd3c54d
54
build_image
54
build_image
@ -37,6 +37,8 @@ DEFINE_integer jobs -1 \
|
|||||||
"How many packages to build in parallel at maximum."
|
"How many packages to build in parallel at maximum."
|
||||||
DEFINE_boolean statefuldev $FLAGS_FALSE \
|
DEFINE_boolean statefuldev $FLAGS_FALSE \
|
||||||
"Install development packages on stateful partition -- still experimental"
|
"Install development packages on stateful partition -- still experimental"
|
||||||
|
DEFINE_boolean withtest $FLAGS_TRUE \
|
||||||
|
"Include packages required for testing and prepare image for testing"
|
||||||
|
|
||||||
# Parse command line.
|
# Parse command line.
|
||||||
FLAGS "$@" || exit 1
|
FLAGS "$@" || exit 1
|
||||||
@ -271,32 +273,42 @@ fi
|
|||||||
sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
|
sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
|
||||||
--root="$ROOT_FS_DIR" --root-deps=rdeps \
|
--root="$ROOT_FS_DIR" --root-deps=rdeps \
|
||||||
--usepkgonly chromeos $EMERGE_JOBS
|
--usepkgonly chromeos $EMERGE_JOBS
|
||||||
if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ; then
|
|
||||||
# Determine the root dir for development packages
|
|
||||||
ROOT_DIR="$ROOT_FS_DIR"
|
|
||||||
[ $FLAGS_statefuldev -eq $FLAGS_TRUE ] && ROOT_DIR="$ROOT_FS_DIR/usr/local"
|
|
||||||
|
|
||||||
|
# Determine the root dir for development packages.
|
||||||
|
ROOT_DEV_DIR="$ROOT_FS_DIR"
|
||||||
|
[ $FLAGS_statefuldev -eq $FLAGS_TRUE ] && ROOT_DEV_DIR="$ROOT_FS_DIR/usr/local"
|
||||||
|
|
||||||
|
# Install development packages.
|
||||||
|
if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ; then
|
||||||
sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
|
sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
|
||||||
--root="$ROOT_DIR" --root-deps=rdeps \
|
--root="$ROOT_DEV_DIR" --root-deps=rdeps \
|
||||||
--usepkgonly chromeos-dev $EMERGE_JOBS
|
--usepkgonly chromeos-dev $EMERGE_JOBS
|
||||||
|
|
||||||
if [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] ; then
|
|
||||||
# Fix symlinks so they work on live system.
|
|
||||||
for path in bin include lib libexec sbin share; do
|
|
||||||
sudo unlink $DEV_IMAGE_ROOT/usr/$path
|
|
||||||
sudo ln -s /usr/local/$path $DEV_IMAGE_ROOT/usr/$path
|
|
||||||
done
|
|
||||||
|
|
||||||
# Fix exceptions.
|
|
||||||
sudo unlink "$DEV_IMAGE_ROOT/usr/lib64"
|
|
||||||
sudo unlink "$DEV_IMAGE_ROOT/usr/local"
|
|
||||||
|
|
||||||
sudo ln -s "/usr/local/lib" "$DEV_IMAGE_ROOT/usr/lib64"
|
|
||||||
sudo ln -s "/usr/local" "$DEV_IMAGE_ROOT/usr/local"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The ldd tool is a useful shell script but lives in glibc; just copy it.
|
# The ldd tool is a useful shell script but lives in glibc; just copy it.
|
||||||
sudo cp -a "$(which ldd)" "${ROOT_FS_DIR}/usr/bin"
|
sudo cp -a "$(which ldd)" "${ROOT_DEV_DIR}/usr/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install packages required for testing.
|
||||||
|
if [[ $FLAGS_withtest -eq $FLAGS_TRUE ]] ; then
|
||||||
|
sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
|
||||||
|
--root="$ROOT_DEV_DIR" --root-deps=rdeps \
|
||||||
|
--usepkgonly chromeos-test $EMERGE_JOBS
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up links setup for stateful install of extra packages.
|
||||||
|
if [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] ; then
|
||||||
|
# Fix symlinks so they work on live system.
|
||||||
|
for path in bin include lib libexec sbin share; do
|
||||||
|
sudo unlink $DEV_IMAGE_ROOT/usr/$path
|
||||||
|
sudo ln -s /usr/local/$path $DEV_IMAGE_ROOT/usr/$path
|
||||||
|
done
|
||||||
|
|
||||||
|
# Fix exceptions.
|
||||||
|
sudo unlink "$DEV_IMAGE_ROOT/usr/lib64"
|
||||||
|
sudo unlink "$DEV_IMAGE_ROOT/usr/local"
|
||||||
|
|
||||||
|
sudo ln -s "/usr/local/lib" "$DEV_IMAGE_ROOT/usr/lib64"
|
||||||
|
sudo ln -s "/usr/local" "$DEV_IMAGE_ROOT/usr/local"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Perform any customizations on the root file system that are needed.
|
# Perform any customizations on the root file system that are needed.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user