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

Side by Side Diff: src/scripts/install_packages.sh

Issue 523159: Changes to make the resulting image mostly functional when skipping debootstrap. (Closed)
Patch Set: Added comment. 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 unified diff | Download patch
« no previous file with comments | « src/package_repo/package-list-prod.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Script to install packages into the target root file system. 7 # Script to install packages into the target root file system.
8 # 8 #
9 # NOTE: This script should be called by build_image.sh. Do not run this 9 # NOTE: This script should be called by build_image.sh. Do not run this
10 # on your own unless you know what you are doing. 10 # on your own unless you know what you are doing.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 # The set of required packages before apt can take over. 167 # The set of required packages before apt can take over.
168 PACKAGES="debconf libacl1 libattr1 libc6 libgcc1 libselinux1" 168 PACKAGES="debconf libacl1 libattr1 libc6 libgcc1 libselinux1"
169 169
170 # Set of packages that we need to install early so that other packages 170 # Set of packages that we need to install early so that other packages
171 # maintainer scripts can still basically run. 171 # maintainer scripts can still basically run.
172 # 172 #
173 # login - So that groupadd will work 173 # login - So that groupadd will work
174 # base-passwd/passwd - So that chmod and useradd/groupadd will work 174 # base-passwd/passwd - So that chmod and useradd/groupadd will work
175 # bash - So that scripts can run 175 # bash - So that scripts can run
176 # libpam-runtim/libuuid1 - Not exactly sure why 176 # libpam-runtim/libuuid1 - Not exactly sure why
177 EXTRA_PACKAGES="base-files base-passwd bash libpam-runtime libuuid1 login pass wd" 177 # sysv-rc - So that we can overwrite invoke-rc.d, update-rc.d
178 EXTRA_PACKAGES="base-files base-passwd bash libpam-runtime libuuid1 login pass wd sysv-rc"
178 179
179 # Prep the rootfs to work with dpgk and apt 180 # Prep the rootfs to work with dpgk and apt
180 sudo mkdir -p "${ROOT_FS_DIR}/var/lib/dpkg/info" 181 sudo mkdir -p "${ROOT_FS_DIR}/var/lib/dpkg/info"
181 sudo touch "${ROOT_FS_DIR}/var/lib/dpkg/available" \ 182 sudo touch "${ROOT_FS_DIR}/var/lib/dpkg/available" \
182 "${ROOT_FS_DIR}/var/lib/dpkg/diversions" \ 183 "${ROOT_FS_DIR}/var/lib/dpkg/diversions" \
183 "${ROOT_FS_DIR}/var/lib/dpkg/status" 184 "${ROOT_FS_DIR}/var/lib/dpkg/status"
184 sudo mkdir -p "${ROOT_FS_DIR}/var/lib/apt/lists/partial" \ 185 sudo mkdir -p "${ROOT_FS_DIR}/var/lib/apt/lists/partial" \
185 "${ROOT_FS_DIR}/var/lib/dpkg/updates" 186 "${ROOT_FS_DIR}/var/lib/dpkg/updates"
186 187
187 # Download the initial packages into the apt cache if necessary. 188 # Download the initial packages into the apt cache if necessary.
(...skipping 20 matching lines...) Expand all
208 # to install additional critical packages. If there are any of these, we 209 # to install additional critical packages. If there are any of these, we
209 # disable the maintainer scripts so they install ok. 210 # disable the maintainer scripts so they install ok.
210 TMP_FORCE_NO_SCRIPTS="-o=Dir::Bin::dpkg=${SCRIPTS_DIR}/dpkg_no_scripts.sh" 211 TMP_FORCE_NO_SCRIPTS="-o=Dir::Bin::dpkg=${SCRIPTS_DIR}/dpkg_no_scripts.sh"
211 sudo APT_CONFIG="$APT_CONFIG" DEBIAN_FRONTEND=noninteractive \ 212 sudo APT_CONFIG="$APT_CONFIG" DEBIAN_FRONTEND=noninteractive \
212 apt-get $TMP_FORCE_NO_SCRIPTS --force-yes --fix-broken install 213 apt-get $TMP_FORCE_NO_SCRIPTS --force-yes --fix-broken install
213 214
214 # ----- MAINTAINER SCRIPT FIXUPS ----- 215 # ----- MAINTAINER SCRIPT FIXUPS -----
215 216
216 # TODO: Remove when we stop having maintainer scripts altogether. 217 # TODO: Remove when we stop having maintainer scripts altogether.
217 sudo cp -a /dev/* "${ROOT_FS_DIR}/dev" 218 sudo cp -a /dev/* "${ROOT_FS_DIR}/dev"
219 sudo cp -a /etc/resolv.conf "${ROOT_FS_DIR}/etc/resolv.conf"
220 sudo ln -sf /bin/true "${ROOT_FS_DIR}/usr/sbin/invoke-rc.d"
221 sudo ln -sf /bin/true "${ROOT_FS_DIR}/usr/sbin/update-rc.d"
222
223 # base-files
224 # TODO: Careful audit of the postinst; this isn't all that is there.
225 sudo cp -a "${ROOT_FS_DIR}/usr/share/base-files/networks" \
226 "${ROOT_FS_DIR}/usr/share/base-files/nsswitch.conf" \
227 "${ROOT_FS_DIR}/usr/share/base-files/profile" \
228 "${ROOT_FS_DIR}/etc/"
218 229
219 # base-passwd 230 # base-passwd
220 sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/passwd.master" \ 231 sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/passwd.master" \
221 "${ROOT_FS_DIR}/etc/passwd" 232 "${ROOT_FS_DIR}/etc/passwd"
222 sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/group.master" \ 233 sudo cp "${ROOT_FS_DIR}/usr/share/base-passwd/group.master" \
223 "${ROOT_FS_DIR}/etc/group" 234 "${ROOT_FS_DIR}/etc/group"
224 235
225 # libpam-runtime 236 # libpam-runtime
226 # The postinst script calls pam-auth-update, which is a perl script that 237 # The postinst script calls pam-auth-update, which is a perl script that
227 # expects to run within the targetfs. Until we fix this, we just copy 238 # expects to run within the targetfs. Until we fix this, we just copy
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 apt-get --force-yes install "linux-image-${KERNEL_VERSION}" 286 apt-get --force-yes install "linux-image-${KERNEL_VERSION}"
276 287
277 # List all packages installed so far, since these are what the local 288 # List all packages installed so far, since these are what the local
278 # repository needs to contain. 289 # repository needs to contain.
279 # TODO: Replace with list_installed_packages.sh when it is fixed up. 290 # TODO: Replace with list_installed_packages.sh when it is fixed up.
280 dpkg --root="${ROOT_FS_DIR}" -l > \ 291 dpkg --root="${ROOT_FS_DIR}" -l > \
281 "${OUTPUT_DIR}/package_list_installed.txt" 292 "${OUTPUT_DIR}/package_list_installed.txt"
282 293
283 cleanup_rootfs_mounts 294 cleanup_rootfs_mounts
284 trap - EXIT 295 trap - EXIT
OLDNEW
« no previous file with comments | « src/package_repo/package-list-prod.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698