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

Unified Diff: src/scripts/install_packages.sh

Issue 549017: Always use our dpkg wrapper when mastering an image. (Closed)
Patch Set: Whitespace fix. 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/dpkg_no_scripts.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/install_packages.sh
diff --git a/src/scripts/install_packages.sh b/src/scripts/install_packages.sh
index 341a1f2a9c6754868b1248ffcb44587a9fc5e6d4..b9c9d957d2b64d1cf7298fd52be0b911e052980d 100755
--- a/src/scripts/install_packages.sh
+++ b/src/scripts/install_packages.sh
@@ -101,10 +101,6 @@ APT_CACHE_DIR="${FLAGS_build_root}/apt_cache-${FLAGS_target}/"
mkdir -p "${APT_CACHE_DIR}/archives/partial"
# Create the apt configuration file. See "man apt.conf"
-NO_MAINTAINER_SCRIPTS=""
-if [ -n "$EXPERIMENTAL_NO_MAINTAINER_SCRIPTS" ]; then
- NO_MAINTAINER_SCRIPTS="Bin { dpkg \"${SCRIPTS_DIR}/dpkg_no_scripts.sh\"; };"
-fi
APT_PARTS="${OUTPUT_DIR}/apt.conf.d"
mkdir -p "$APT_PARTS" # An empty apt.conf.d to avoid other configs.
export APT_CONFIG="${OUTPUT_DIR}/apt.conf"
@@ -121,7 +117,9 @@ APT
};
Dir
{
- $NO_MAINTAINER_SCRIPTS
+ Bin {
+ dpkg "${SCRIPTS_DIR}/dpkg_no_scripts.sh";
+ };
Cache "$APT_CACHE_DIR";
Cache {
archives "${APT_CACHE_DIR}/archives";
@@ -185,59 +183,24 @@ for p in $PACKAGES $EXTRA_PACKAGES; do
PKG=$(ls "${REPO}"/${p}_*_all.deb)
fi
sudo "${SCRIPTS_DIR}"/dpkg_no_scripts.sh \
- --root="$ROOT_FS_DIR" --unpack "$PKG"
+ --root="$ROOT_FS_DIR" --nodpkg_fallback --unpack "$PKG"
+ sudo "${SCRIPTS_DIR}"/dpkg_no_scripts.sh \
+ --root="$ROOT_FS_DIR" --nodpkg_fallback --configure "$p"
done
# Make sure that apt is ready to work. We use --fix-broken to trigger apt
# to install additional critical packages. If there are any of these, we
# disable the maintainer scripts so they install ok.
-TMP_FORCE_NO_SCRIPTS="-o=Dir::Bin::dpkg=${SCRIPTS_DIR}/dpkg_no_scripts.sh"
+TMP_FORCE_NO_SCRIPTS="-o=DPkg::options::=--nodpkg_fallback"
sudo APT_CONFIG="$APT_CONFIG" DEBIAN_FRONTEND=noninteractive \
apt-get $TMP_FORCE_NO_SCRIPTS --force-yes --fix-broken install
-# ----- MAINTAINER SCRIPT FIXUPS -----
-
-# TODO: Remove when we stop having maintainer scripts altogether.
+# TODO: Remove these hacks when we stop having maintainer scripts altogether.
sudo cp -a /dev/* "${ROOT_FS_DIR}/dev"
sudo cp -a /etc/resolv.conf "${ROOT_FS_DIR}/etc/resolv.conf"
sudo ln -sf /bin/true "${ROOT_FS_DIR}/usr/sbin/invoke-rc.d"
sudo ln -sf /bin/true "${ROOT_FS_DIR}/usr/sbin/update-rc.d"
-# base-files
-# TODO: Careful audit of the postinst; this isn't all that is there.
-sudo cp -a "${ROOT_FS_DIR}/usr/share/base-files/networks" \
- "${ROOT_FS_DIR}/usr/share/base-files/nsswitch.conf" \
- "${ROOT_FS_DIR}/usr/share/base-files/profile" \
- "${ROOT_FS_DIR}/etc/"
-
-# base-passwd
-sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/passwd.master" \
- "${ROOT_FS_DIR}/etc/passwd"
-sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/group.master" \
- "${ROOT_FS_DIR}/etc/group"
-
-# libpam-runtime
-# The postinst script calls pam-auth-update, which is a perl script that
-# expects to run within the targetfs. Until we fix this, we just copy
-# from the build chroot.
-sudo cp -a /etc/pam.d/common-* \
- /etc/pam.d/login \
- /etc/pam.d/newusers \
- /etc/pam.d/su \
- /etc/pam.d/sudo \
- "${ROOT_FS_DIR}/etc/pam.d/"
-
-# mawk
-sudo ln -s mawk "${ROOT_FS_DIR}/usr/bin/awk"
-
-# base-files?
-sudo touch "${ROOT_FS_DIR}/etc/fstab"
-
-# sysv-rc needs this
-sudo mkdir -p "${ROOT_FS_DIR}/etc/init.d"
-
-# ----- END MAINTAINER SCRIPT FIXUPS -----
-
# Set up mounts for working within the rootfs. We copy some basic
# network information from the host so that maintainer scripts can
# access the network as needed.
« no previous file with comments | « src/scripts/dpkg_no_scripts.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698