Remove offline mode for installer

Make offline mode default.  We always want to
install the packages required to run the installer in the
image we generate.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
This commit is contained in:
Ryan Harper 2015-09-30 12:58:11 -05:00
parent 1ec30081f7
commit ac3fd86bb5
2 changed files with 35 additions and 42 deletions

View File

@ -12,7 +12,6 @@ STREAM=daily
RELEASE=wily
ARCH=amd64
BOOTLOADER=grub2
OFFLINE=-o
INSTALLIMG=ubuntu-server-${STREAM}-${RELEASE}-${ARCH}-installer.img
INSTALLER_RESOURCES += $(shell find installer/resources -type f)
PROBERTDIR=./probert
@ -59,7 +58,7 @@ unit:
python3 -m "nose" -v --nologcapture --with-coverage ${TOPDIR}/tests/
installer/$(INSTALLIMG): installer/geninstaller installer/runinstaller $(INSTALLER_RESOURCES) probert
(cd installer && TOPDIR=$(TOPDIR)/installer ./geninstaller -v $(OFFLINE) -r $(RELEASE) -a $(ARCH) -s $(STREAM) -b $(BOOTLOADER))
(cd installer && TOPDIR=$(TOPDIR)/installer ./geninstaller -v -r $(RELEASE) -a $(ARCH) -s $(STREAM) -b $(BOOTLOADER))
echo $(INSTALLER_RESOURCES)
installer: installer/$(INSTALLIMG)

View File

@ -126,7 +126,6 @@ usage: $PROG [PARAMS] [ARGS]
-a, --arch=ARCH For ARCH in [i386, amd64, ppc64el, armf, arm64]
-b, --bootloader=TYPE For TYPE in [syslinux, grub2, uboot]
-h, --help This output.
-o, --offline Offline installer img.
-r, --release=RELEASE For RELEASE in [trusty, utopic, vivid, wily]
-s, --stream=STREAM For STREAM in [daily, released]
-V, --version=VERSION VERSION=YYYYMMDD , 20150623
@ -334,7 +333,7 @@ acquire_image() {
generate_seed() {
_RETVAL=""
[ $# -lt 3 ] && {
[ $# -lt 2 ] && {
log "ERROR: not enough arguments passed to $FUNCNAME";
return 1;
}
@ -407,7 +406,7 @@ generate_seed() {
generate_img() {
_RETVAL=""
[ $# -lt 4 ] && {
[ $# -lt 3 ] && {
log "ERROR: not enough arguments passed to $FUNCNAME";
return 1;
}
@ -415,7 +414,6 @@ generate_img() {
local dldir=${1};
local cachedir=${2};
local bootloader=${3};
local offline=${4};
local extlinux_conf=${TOPDIR}/resources/menu/extlinux-menu.conf
local overlay_path=${TOPDIR}/resources/overlay
local grub_efi_core=${TOPDIR}/resources/grub/bootx64.efi # FIXME, ARCH
@ -542,41 +540,39 @@ generate_img() {
return 1;
}
if [ "${offline}" == "yes" ]; then
log "Setting up for offline use"
local resolvconf=${mnt}/etc/resolv.conf
local packages=""
for installer_package in "${INSTALLER_DEPS[@]}"; do
packages="$packages $installer_package"
done
sudo mv ${resolvconf} ${resolvconf}.old &&
sudo cp /etc/resolv.conf ${resolvconf} &&
log "Installing subiquity package dependencies"
local resolvconf=${mnt}/etc/resolv.conf
local packages=""
for installer_package in "${INSTALLER_DEPS[@]}"; do
packages="$packages $installer_package"
done
sudo mv ${resolvconf} ${resolvconf}.old &&
sudo cp /etc/resolv.conf ${resolvconf} &&
log "Installing ppas in rootfs"
# export existing install_ppa and run it in the chroot
install_ppas_cmds="$(install_ppas ${PPAS[@]})"
sudo chroot ${mnt} /bin/bash -c "${install_ppas_cmds}" || {
log "Failed to add installer ppas to chroot";
return 1;
}
log "Installing ppas in rootfs"
# export existing install_ppa and run it in the chroot
install_ppas_cmds="$(install_ppas ${PPAS[@]})"
sudo chroot ${mnt} /bin/bash -c "${install_ppas_cmds}" || {
log "Failed to add installer ppas to chroot";
return 1;
}
log "Installing on rootfs: $packages"
sudo chroot ${mnt} apt-get update &&
sudo chroot ${mnt} apt-get -y install $packages || {
log "Failed to install packages on rootfs";
return 1;
}
log "Installing on rootfs: $packages"
sudo chroot ${mnt} apt-get update &&
sudo chroot ${mnt} apt-get -y install $packages || {
log "Failed to install packages on rootfs";
return 1;
}
log "Removing ppas in rootfs"
remove_ppas_cmds="$(remove_ppas ${PPAS[@]})"
sudo chroot ${mnt} /bin/bash -c "${remove_ppas_cmds}" || {
log "Failed to remove installer ppas from chroot";
return 1;
}
log "Removing ppas in rootfs"
remove_ppas_cmds="$(remove_ppas ${PPAS[@]})"
sudo chroot ${mnt} /bin/bash -c "${remove_ppas_cmds}" || {
log "Failed to remove installer ppas from chroot";
return 1;
}
sudo rm ${resolvconf}
sudo mv ${resolvconf}.old ${resolvconf}
fi
sudo rm ${resolvconf}
sudo mv ${resolvconf}.old ${resolvconf}
if [ "${bootloader}" == "syslinux" ]; then
sudo mkdir -p ${mnt}/boot/extlinux &&
@ -616,7 +612,7 @@ parse_args() {
# args:
[ $# -lt 1 ] && { usage; exit 0; }
OPTS_LONG="arch:,bootloader:,download:,help,offline,release:,stream:,verbose,version:"
OPTS_LONG="arch:,bootloader:,download:,help,release:,stream:,verbose,version:"
OPTS="a:b:d:hor:s:vV:"
ARGS=`getopt --name "$PROG" --long $OPTS_LONG --options $OPTS -- "$@"`
if [ $? -ne 0 ]; then
@ -628,7 +624,6 @@ parse_args() {
ARCH="amd64"
BOOTLOADER="syslinux"
DLDIR=~/download
OFFLINE="no"
RELEASE="wily"
STREAM="daily"
VERBOSE="no"
@ -639,7 +634,6 @@ parse_args() {
-b | --bootloader) BOOTLOADER="$2"; shift;;
-d | --download) DLDIR="$2"; shift;;
-h | --help) usage; exit 0;;
-o | --offline) OFFLINE="yes";;
-r | --release) RELEASE="$2"; shift;;
-s | --stream) STREAM="$2"; shift;;
-V | --version) VERSION="$2"; shift;;
@ -677,11 +671,11 @@ main() {
CACHEDIR=${_RETVAL}
log "CACHEDIR=$CACHEDIR"
generate_seed ${DLDIR} $CACHEDIR $OFFLINE || {
generate_seed ${DLDIR} $CACHEDIR || {
return 1;
}
generate_img ${DLDIR} $CACHEDIR $BOOTLOADER $OFFLINE || {
generate_img ${DLDIR} $CACHEDIR $BOOTLOADER || {
return 1;
}
INSTALLIMG=${_RETVAL}