fix(sdk_lib): Delete a pile of dead/pointless code.

For the most part this doesn't influence anything. The one exception is
the custom configuration for using curl is dropped, just rely on the
portage defaults. It appears curl was only used to work around a wget
issue with Google's internal SSL certificates. We care not. :)
This commit is contained in:
Michael Marineau 2014-05-13 15:40:43 -07:00
parent 7d6619df8a
commit a3d3d30b24
2 changed files with 12 additions and 163 deletions

View File

@ -44,8 +44,6 @@ DEFINE_boolean fast "${DEFAULT_FAST}" \
"Use the parallel_emerge wrapper script."
DEFINE_integer jobs "${NUM_JOBS}" \
"How many packages to build in parallel at maximum."
DEFINE_string stage3_date "20130130" \
"Use the stage3 with the given date."
DEFINE_string stage3_path "" \
"Use the stage3 located on this path."
DEFINE_string cache_dir "" "Directory to store caches within."
@ -71,30 +69,9 @@ switch_to_strict_mode
[[ -z "${FLAGS_cache_dir}" ]] && \
die "--cache_dir is required"
. "${SCRIPT_ROOT}"/sdk_lib/make_conf_util.sh
USEPKG=""
if [[ $FLAGS_usepkg -eq $FLAGS_TRUE ]]; then
# Use binary packages. Include all build-time dependencies,
# so as to avoid unnecessary differences between source
# and binary builds.
USEPKG="--usepkg --with-bdeps y"
if [[ $FLAGS_getbinpkg -eq $FLAGS_TRUE ]]; then
USEPKG="$USEPKG --getbinpkg"
fi
fi
# Support faster build if necessary.
EMERGE_CMD="emerge"
if [ "$FLAGS_fast" -eq "${FLAGS_TRUE}" ]; then
CHROOT_CHROMITE_DIR="${CHROOT_TRUNK_DIR}/chromite"
EMERGE_CMD="${CHROOT_CHROMITE_DIR}/bin/parallel_emerge"
fi
ENTER_CHROOT_ARGS=(
CROS_WORKON_SRCROOT="$CHROOT_TRUNK"
PORTAGE_USERNAME="${SUDO_USER}"
IGNORE_PREFLIGHT_BINHOST="$IGNORE_PREFLIGHT_BINHOST"
)
# Invoke enter_chroot. This can only be used after sudo has been installed.
@ -373,22 +350,11 @@ for type in http ftp all; do
fi
done
# Create the base Gentoo stage3 based on last version put in chroot.
STAGE3="${OVERLAY}/coreos/stage3/stage3-amd64-${FLAGS_stage3_date}.tar.bz2"
if [ -f $CHROOT_STATE ] && \
! egrep -q "^STAGE3=$STAGE3" $CHROOT_STATE >/dev/null 2>&1
then
info "STAGE3 version has changed."
delete_existing
fi
if [ -n "${FLAGS_stage3_path}" ]; then
if [ ! -f "${FLAGS_stage3_path}" ]; then
error "Invalid stage3!"
exit 1;
fi
STAGE3="${FLAGS_stage3_path}"
fi
# Create the destination directory.
mkdir -p "$FLAGS_chroot"
@ -407,39 +373,21 @@ else
${DECOMPRESS} -dc "${STAGE3}" | \
tar -xp -C "${FLAGS_chroot}"
rm -f "$FLAGS_chroot/etc/"make.{globals,conf.user}
fi
# Set up users, if needed, before mkdir/mounts below.
[ -f $CHROOT_STATE ] || init_users
init_users
# Reset internal vars to force them to the 'inside the chroot' value;
# since user directories now exist, this can do the upgrade in place.
set_chroot_trunk_dir "${FLAGS_chroot}" poppycock
echo
info "Setting up mounts..."
# Set up necessary mounts and make sure we clean them up on exit.
mkdir -p "${FLAGS_chroot}/${CHROOT_TRUNK_DIR}" \
"${FLAGS_chroot}/${DEPOT_TOOLS_DIR}" "${FLAGS_chroot}/run"
# Create a special /etc/make.conf.host_setup that we use to bootstrap
# the chroot. The regular content for the file will be generated the
# first time we invoke update_chroot (further down in this script).
create_bootstrap_host_setup "${FLAGS_chroot}"
if ! [ -f "$CHROOT_STATE" ];then
INITIALIZE_CHROOT=1
fi
if [ -z "${INITIALIZE_CHROOT}" ];then
info "chroot already initialized. Skipping..."
else
# Run all the init stuff to setup the env.
init_setup
fi
# Add file to indicate that it is a chroot.
# Add version of $STAGE3 for update checks.
echo STAGE3=$STAGE3 > $CHROOT_STATE
# Update chroot.

View File

@ -2,109 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# When bootstrapping the chroot, only wget is available, and we must
# disable certificate checking. Once the chroot is fully
# initialized, we can switch to curl, and re-enable the certificate
# checks. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=409938
#
# Usage:
# $1 - 'wget' requests the bootstrap special content; otherwise
# uses 'curl'.
_make_conf_fetchcommand() {
local cmd options output_opt resume_opt
local fileref='\"\${DISTDIR}/\${FILE}\"'
local uri_ref='\"\${URI}\"'
if [ "$1" = "wget" ] ; then
cmd=/usr/bin/wget
options="-t 5 -T 60 --no-check-certificate --passive-ftp"
resume_opt="-c"
output_opt="-O"
else
cmd=curl
options="-f -y 30 --retry 9 -L"
resume_opt="-C -"
output_opt="--output"
fi
local args="$options $output_opt $fileref $uri_ref"
echo FETCHCOMMAND=\"$cmd $args\"
echo RESUMECOMMAND=\"$cmd $resume_opt $args\"
echo
}
# The default PORTAGE_BINHOST setting selects the preflight
# binhosts. We override the setting if the build environment
# requests it.
_make_conf_prebuilt() {
if [[ -n "$IGNORE_PREFLIGHT_BINHOST" ]]; then
echo 'PORTAGE_BINHOST="$FULL_BINHOST"'
echo
fi
}
# Include configuration settings for building private overlay
# packages, if the overlay is present.
#
# N.B. We explicitly disallow creating content for the private
# overlay during bootstrapping, as it's not currently required,
# and at least a minor nuisance to implement. Note also that the
# use of an inside-the-chroot path is based on the (currently true)
# assumption that bootstrapping use is outside the chroot, and
# non-bootstrapping use is inside the chroot.
_make_conf_private() {
if [ "$1" = "wget" ] ; then
return
fi
local chromeos_overlay="src/private-overlays/coreos-overlay"
chromeos_overlay="$CHROOT_TRUNK_DIR/$chromeos_overlay"
if [ -d "$chromeos_overlay" ]; then
local boto_config="$chromeos_overlay/googlestorage_account.boto"
local gsutil_cmd='gsutil cp \"${URI}\" \"${DISTDIR}/${FILE}\"'
cat <<EOF
source $chromeos_overlay/make.conf
FETCHCOMMAND_GS="bash -c 'BOTO_CONFIG=$boto_config $gsutil_cmd'"
RESUMECOMMAND_GS="$FETCHCOMMAND_GS"
PORTDIR_OVERLAY="\$PORTDIR_OVERLAY $chromeos_overlay"
EOF
fi
}
# Create /etc/make.conf.host_setup according to parameters.
#
# Usage:
# $1 - 'wget' for bootstrapping; 'curl' otherwise.
# $2 - When outside the chroot, path to the chroot. Empty when
# inside the chroot.
_create_host_setup() {
local fetchtype="$1"
create_host_setup() {
local host_setup="$2/etc/portage/make.conf.host_setup"
( echo "# Automatically generated. EDIT THIS AND BE SORRY."
echo
_make_conf_fetchcommand "$fetchtype"
_make_conf_private "$fetchtype"
_make_conf_prebuilt
echo "MAKEOPTS='--jobs=${NUM_JOBS} --load-average=${NUM_JOBS}'"
) | sudo_clobber "$host_setup"
sudo chmod 644 "$host_setup"
}
# Create /etc/make.conf.host_setup for early bootstrapping of the
# chroot. This is done early in make_chroot, and the results are
# overwritten later in the process.
#
# Usage:
# $1 - Path to chroot as seen from outside
create_bootstrap_host_setup() {
_create_host_setup wget "$@"
}
# Create /etc/make.conf.host_setup for normal usage.
create_host_setup() {
_create_host_setup curl ''
}