Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Unified Diff: src/scripts/make_local_repo.sh

Issue 548083: Rewrite make_chroot.sh to use local mirrors directly. (Closed)
Patch Set: add back stub make_local_repo.sh Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/scripts/make_chroot.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/make_local_repo.sh
diff --git a/src/scripts/make_local_repo.sh b/src/scripts/make_local_repo.sh
index f0cbd76f21e0731d4c4d7934d61d7805a9ec1dd8..f894c629fcadaad3c44d64a77058a528625ba2c7 100755
--- a/src/scripts/make_local_repo.sh
+++ b/src/scripts/make_local_repo.sh
@@ -1,230 +1,4 @@
#!/bin/bash
-
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Load common constants. This should be the first executable line.
-# The path to common.sh should be relative to your script's location.
-. "$(dirname "$0")/common.sh"
-
-# Script must be run outside the chroot and as a regular user.
-assert_outside_chroot
-assert_not_root_user
-
-DEFAULT_DEST="$GCLIENT_ROOT/repo"
-DEFAULT_DEV_PKGLIST="$SRC_ROOT/package_repo/repo_list_dev.txt"
-DEFAULT_IMG_PKGLIST="$SRC_ROOT/package_repo/repo_list_image.txt"
-
-# Command line options
-DEFINE_string suite "$DEFAULT_EXT_SUITE" "Ubuntu suite to pull packages from."
-DEFINE_string mirror "$DEFAULT_EXT_MIRROR" "Ubuntu repository mirror to use."
-DEFINE_string mirror2 "" "Optional Chromium repository mirror to use."
-DEFINE_string dest "$DEFAULT_DEST" "Destination directory for repository."
-DEFINE_string devlist "$DEFAULT_DEV_PKGLIST" \
- "File listing packages to use for development."
-DEFINE_string imglist "$DEFAULT_IMG_PKGLIST" \
- "File listing packages to use for image."
-DEFINE_string devsuite "$DEFAULT_DEV_SUITE" "Dev suite to update."
-DEFINE_string imgsuite "$DEFAULT_IMG_SUITE" "Image suite to update."
-DEFINE_boolean updev $FLAGS_TRUE "Update development repository."
-DEFINE_boolean upimg $FLAGS_TRUE "Update image repository."
-
-# Parse command line flags
-FLAGS "$@" || exit 1
-eval set -- "${FLAGS_ARGV}"
-
-# Die on error
-set -e
-
-# Architectures and sections to support in local mirror
-REPO_ARCH="i386 armel"
-REPO_SECTIONS="main restricted multiverse universe"
-
-# Where to store packages downloaded from external repository, inside the
-# chroot.
-DEB_CACHE_DIR="/var/cache/make_local_repo"
-
-CHROOT=`readlink -f $FLAGS_dest`
-REPO_SUBDIR="apt"
-REPO="$CHROOT/$REPO_SUBDIR"
-
-#------------------------------------------------------------------------------
-# Functions
-
-# Run a command in the chroot
-function in_chroot {
- sudo chroot "$CHROOT" "$@"
-}
-
-# Run a bash command line in the chroot
-function bash_chroot {
- # Use $* not $@ since 'bash -c' needs a single arg
- sudo chroot "$CHROOT" bash -c "$*"
-}
-
-# Clean up chroot mount points
-function cleanup_chroot_mounts {
- # Clear the trap from setup_chroot_mounts, now that we're unmounting.
- trap - EXIT
-
- mount | grep "on $(readlink -f "$CHROOT")" | awk '{print $3}' \
- | xargs -r -L1 sudo umount
-}
-
-# Set up chroot mount points
-function setup_chroot_mounts {
- if [ ! -e "$CHROOT/proc" ]; then mkdir -p "$CHROOT/proc"; fi
- sudo mount none -t proc "$CHROOT/proc"
- if [ ! -e "$CHROOT/dev/pts" ]; then mkdir -p "$CHROOT/dev/pts"; fi
- sudo mount none -t devpts "$CHROOT/dev/pts"
-
- # Make sure we clean up the mounts on exit
- trap cleanup_chroot_mounts EXIT
-}
-
-# Make a minimal chroot
-function make_chroot {
- echo "Creating chroot to build local package repository..."
- mkdir -p "$CHROOT"
-
- # Install packages which may not be installed on the local system
- install_if_missing debootstrap
-
- # Add debootstrap link for the suite, if it doesn't exist.
- if [ ! -e "/usr/share/debootstrap/scripts/$FLAGS_suite" ]
- then
- sudo ln -s /usr/share/debootstrap/scripts/gutsy \
- "/usr/share/debootstrap/scripts/$FLAGS_suite"
- fi
-
- # Run debootstrap
- sudo debootstrap --arch=i386 --variant=minbase \
- --include=gnupg \
- "$FLAGS_suite" "$CHROOT" "$FLAGS_mirror"
-
- # Set up chroot mounts, since the package installs below need them
- setup_chroot_mounts
-
- # Install packages into chroot
- bash_chroot "echo deb $FLAGS_mirror $FLAGS_suite $REPO_SECTIONS \
- > /etc/apt/sources.list"
- in_chroot apt-get update
- in_chroot apt-get --yes --force-yes install reprepro wget
-
- # Clean up chroot mounts
- cleanup_chroot_mounts
-}
-
-# Create reprepro repository
-function make_repo {
- echo "Creating repository directory..."
- sudo rm -rf "$REPO"
- sudo mkdir -p "$REPO"
- sudo chown $USER "$REPO"
- mkdir -p "$REPO/conf"
- mkdir -p "$REPO/incoming"
-
- # Create the distributions conf file
- CONF="$REPO/conf/distributions"
- rm -f "$CONF"
- cat <<EOF > $CONF
-Origin: $FLAGS_mirror
-Label: Chrome OS Dev
-Suite: stable
-Codename: $FLAGS_devsuite
-Version: 3.1
-Architectures: $REPO_ARCH
-Components: $REPO_SECTIONS
-Description: Chrome OS Development
-
-Origin: $FLAGS_mirror
-Label: Chrome OS
-Suite: stable
-Codename: $FLAGS_imgsuite
-Version: 3.1
-Architectures: $REPO_ARCH
-Components: $REPO_SECTIONS
-Description: Chrome OS Image
-EOF
-}
-
-# Update a suite in the repository from a list of packages
-function update_suite {
- SUITE="${1:?}"
- PKGLIST="${2:?}"
-
- echo "Updating $SUITE from $PKGLIST..."
-
- # Clear the suite first
- # Since packages are either source or not, this removes all of them.
- in_chroot reprepro -b "$REPO_SUBDIR" removefilter "$SUITE" "!Source"
- in_chroot reprepro -b "$REPO_SUBDIR" removefilter "$SUITE" "Source"
-
- # Add packages to the suite
- echo "Downloading packages..."
- grep -v '^#' < $PKGLIST | while read DEB DEB_VER DEB_PRIO DEB_SECTION DEB_PATH
- do
- [ -z "$DEB" ] && continue
- echo "Adding $DEB..."
-
- DEB_FILE=$DEB_CACHE_DIR/${DEB_PATH##*/}
-
- # Download the package if necessary
- if [ ! -s "$CHROOT/$DEB_FILE" ]
- then
- if [ -n "FLAGS_mirror2" ]; then
- in_chroot wget --no-verbose "$FLAGS_mirror/${DEB_PATH}" -O "$DEB_FILE" || \
- in_chroot wget --no-verbose "$FLAGS_mirror2/${DEB_PATH}" -O "$DEB_FILE"
- else
- in_chroot wget --no-verbose "$FLAGS_mirror/${DEB_PATH}" -O "$DEB_FILE"
- fi
- fi
-
- # Copy the file into the target suite with the correct priority
- in_chroot reprepro -b "$REPO_SUBDIR" -P "$DEB_PRIO" -S "$DEB_SECTION" \
- includedeb "$SUITE" "$DEB_FILE"
- done
-}
-
-#------------------------------------------------------------------------------
-
-# Create a minimal chroot in which we can run reprepro, if one doesn't
-# already exist. Necessary since the version of reprepro available on
-# older systems is buggy.
-if [ ! -e "$CHROOT" ]
-then
- make_chroot
-fi
-
-# Set up chroot mounts
-setup_chroot_mounts
-
-# Create/update repo. Need to run this every time so we rebuild the
-# distributions file.
-make_repo
-
-# Create cache directory for downloaded .debs. This needs to be outside the
-# repository so we can delete and rebuild the repository without needing to
-# re-download all the .debs.
-if [ ! -e "$CHROOT/$DEB_CACHE_DIR" ]
-then
- sudo mkdir -p "$CHROOT/$DEB_CACHE_DIR"
- sudo chown $USER "$CHROOT/$DEB_CACHE_DIR"
-fi
-
-# Update the development and image suites
-if [ $FLAGS_updev -eq $FLAGS_TRUE ]
-then
- update_suite $FLAGS_devsuite $FLAGS_devlist
-fi
-
-if [ $FLAGS_upimg -eq $FLAGS_TRUE ]
-then
- update_suite $FLAGS_imgsuite $FLAGS_imglist
-fi
-
-# Clean up the chroot mounts
-cleanup_chroot_mounts
-
-echo "Done."
+# This script is no longer needed. This stub is here to avoid immediate
+# buildbot breakage and will be removed soon.
+exit 0
« no previous file with comments | « src/scripts/make_chroot.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698