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

Unified Diff: src/scripts/dpkg_no_scripts.sh

Issue 651083: Get rid of some scripts that are no longer used (Closed)
Patch Set: Created 10 years, 10 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/customize_rootfs.sh ('k') | src/scripts/install_packages.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/dpkg_no_scripts.sh
diff --git a/src/scripts/dpkg_no_scripts.sh b/src/scripts/dpkg_no_scripts.sh
deleted file mode 100755
index 3caa781b8671c99fef1f01909000ee9b81c4d984..0000000000000000000000000000000000000000
--- a/src/scripts/dpkg_no_scripts.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/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.
-
-# This script can be used to replace the "dpkg" binary as far as the
-# "apt-get install" command is concerned. When "apt-get install foo"
-# runs it will make two calls to dpkg like:
-# dpkg --status-fd ## --unpack --auto-deconfigure /path/to/foo.deb
-# dpkg --status-fd ## --configure foo
-# This script will extract the .deb file and make it appear to be installed
-# successfully. It will skip the maintainer scripts and configure steps.
-#
-# As a one-off test, you can run like:
-# apt-get -o="Dir::Bin::dpkg=/path/to/this" install foo
-
-# 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"
-
-# Flags
-DEFINE_string root "" \
- "The target rootfs directory in which to install packages."
-DEFINE_boolean dpkg_fallback $FLAGS_TRUE \
- "Run normal dpkg if maintainer scripts are not whitelisted."
-DEFINE_string status_fd "" \
- "The file descriptor to report status on; ignored."
-DEFINE_string whitelist "${SRC_ROOT}/package_scripts/package.whitelist" \
- "The whitelist file to use."
-DEFINE_boolean unpack $FLAGS_FALSE "Is the action 'unpack'?"
-DEFINE_boolean configure $FLAGS_FALSE "Is the action 'configure'?"
-DEFINE_boolean remove $FLAGS_FALSE "Is the action 'remove'?"
-DEFINE_boolean auto_deconfigure $FLAGS_FALSE "Ignored"
-DEFINE_boolean force_depends $FLAGS_FALSE "Ignored"
-DEFINE_boolean force_remove_essential $FLAGS_FALSE "Ignored"
-
-# Fix up the command line and parse with shflags.
-FIXED_FLAGS="$@"
-FIXED_FLAGS=${FIXED_FLAGS/status-fd/status_fd}
-FIXED_FLAGS=${FIXED_FLAGS/auto-deconfigure/auto_deconfigure}
-FIXED_FLAGS=${FIXED_FLAGS/force-depends/force_depends}
-FIXED_FLAGS=${FIXED_FLAGS/force-remove-essential/force_remove_essential}
-FLAGS $FIXED_FLAGS || exit 1
-eval set -- "${FLAGS_ARGV}"
-
-# Die on any errors.
-set -e
-
-# Returns true if either of the two given files exist and are not whitelisted.
-#
-# $1 - The package name.
-# $2 - The path to the preinst file if it were to exist.
-# $3 - The path to the postinst file if it were to exist.
-has_missing_whitelist() {
- local package=$1
- local preinst=$2
- local postinst=$3
- local missing_whitelist=0
-
- if [ -f "$preinst" ]; then
- if ! is_whitelisted "$preinst"; then
- missing_whitelist=1
- echo "Warning: Missing whitelist entry for ${package}.preinst"
- fi
- fi
- if [ -f "$postinst" ]; then
- if ! is_whitelisted "$postinst"; then
- missing_whitelist=1
- echo "Warning: Missing whitelist entry for ${package}.postinst"
- fi
- fi
- test $missing_whitelist -ne 0
-}
-
-do_configure() {
- local dpkg_info="$FLAGS_root/var/lib/dpkg/info/"
- local fallback_packages=""
-
- for p in "$@"; do
- echo "Configuring: $p"
-
- # Make sure that any .preinst or .postinst files are whitelisted.
- local preinst="${dpkg_info}/${p}.preinst"
- local postinst="${dpkg_info}/${p}.postinst"
- if has_missing_whitelist "$p" "$preinst" "$postinst"; then
- if [ $FLAGS_dpkg_fallback -eq $FLAGS_TRUE ]; then
- echo "** Warning: Will run full maintainer scripts for ${p}."
- fallback_packages="$fallback_packages $p"
- continue
- else
- # TODO: Eventually should be upgraded to a full error.
- echo "** Warning: Ignoring missing whitelist for ${p}."
- fi
- fi
-
- # Run our maintainer script for this package if we have one.
- local chromium_postinst="${SRC_ROOT}/package_scripts/${p}.postinst"
- if [ -f "$chromium_postinst" ]; then
- echo "Running: $chromium_postinst"
- ROOT="$FLAGS_root" SRC_ROOT="$SRC_ROOT" $chromium_postinst
- fi
- done
-
- if [ -n "$fallback_packages" ]; then
- dpkg --root="$FLAGS_root" --configure $fallback_packages
- fi
-}
-
-do_unpack() {
- local dpkg_status="$FLAGS_root/var/lib/dpkg/status"
- local dpkg_info="$FLAGS_root/var/lib/dpkg/info/"
-
- if [ ! -d "$dpkg_info" ]
- then
- mkdir -p "$dpkg_info"
- fi
-
- for p in "$@"; do
- local package=$(dpkg-deb --field "$p" Package)
- local tmpdir=$(mktemp -d)
-
- dpkg-deb --control "$p" "$tmpdir"
-
- local preinst="${tmpdir}/preinst"
- local postinst="${tmpdir}/postinst"
- if has_missing_whitelist "$package" "$preinst" "$postinst"; then
- if [ $FLAGS_dpkg_fallback -eq $FLAGS_TRUE ]; then
- echo "** Warning: Running full maintainer scripts for ${package}."
- dpkg --root="$FLAGS_root" --unpack --auto-deconfigure "$p"
- rm -rf "$tmpdir"
- continue
- else
- # TODO: Eventually should be upgraded to a full error.
- echo "** Warning: Ignoring missing whitelist for ${p}."
- fi
- fi
-
- # Copy the info files
- local files=$(ls "$tmpdir" | grep -v control)
- for f in $files; do
- cp "${tmpdir}/${f}" "${dpkg_info}/${package}.${f}"
- done
- dpkg -c "$p" | sed 's,.* \.\/,/,; s/ -> .*//; s,^/$,/.,; s,/$,,' > \
- "${dpkg_info}/${package}.list"
-
- # Mark the package as installed successfully.
- echo "Status: install ok installed" >> "$dpkg_status"
- cat "${tmpdir}/control" >> "$dpkg_status"
- echo "" >> "$dpkg_status"
-
- rm -rf "$tmpdir"
-
- # Run our maintainer script for this package if we have one.
- local chromium_preinst="${SRC_ROOT}/package_scripts/${package}.preinst"
- if [ -f "$chromium_preinst" ]; then
- echo "Running: ${chromium_preinst}"
- ROOT="$FLAGS_root" SRC_ROOT="$SRC_ROOT" $chromium_preinst
- fi
-
- echo "Unpacking: $p"
- dpkg-deb --extract "$p" "$FLAGS_root"
- done
-}
-
-# This script requires at least "--root="
-if [ -z "$FLAGS_root" ]; then
- echo "dpkg_no_scripts: Missing root directory."
- exit 1
-fi
-
-if [ $FLAGS_configure -eq $FLAGS_TRUE ]; then
- do_configure $@
-elif [ $FLAGS_unpack -eq $FLAGS_TRUE ]; then
- do_unpack $@
-elif [ $FLAGS_remove -eq $FLAGS_TRUE ]; then
- # We log but ignore remove requests.
- echo "Ignoring remove: $@"
-else
- echo "dpkg_no_scripts.sh: Unknown or missing command."
- exit 1
-fi
-
-exit 0
« no previous file with comments | « src/scripts/customize_rootfs.sh ('k') | src/scripts/install_packages.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698