Make cros_list_modified_packages add all reverse DEPEND of modified packages to list |
|||
Issue descriptionOn https://bugs.chromium.org/p/chromium/issues/detail?id=732536 , there is a desire that when working on a package that affects the build output of reverse dependencies, the reverse dependencies are automatically rebuilt. Currently, build_packages calls Chromite's cros_list_modified_packages to derive the list of packages to explicitly add to the list of emerge'd packages. This list causes Portage to mark those explicitly added packages as 'reinstall'. After completing this feature, all of the reverse dependencies would also be marked 'reinstall'. We should only do this for DEPEND, not runtime depend/RDEPEND. As an example from that bug, these 16 package would be reinstalled when cros-workon'd chromeos-config-bsp: $ equery-reef-uni depends -D chromeos-config-bsp | awk '{print $1}' | grep -v virtual | sort -u chromeos-base/bootcomplete-login-0.0.1-r3 chromeos-base/chromeos-config-0.0.1-r1 chromeos-base/chromeos-dev-root-0.0.1-r3 chromeos-base/chromeos-firewall-init-0.0.1-r7 chromeos-base/chromeos-firmware-reef-0.0.1-r78 chromeos-base/chromeos-init-0.0.25-r3034 chromeos-base/chromeos-installshim-0.0.1-r15 chromeos-base/chromeos-login-0.0.2-r3031 chromeos-base/chromeos-trim-0.0.1-r828 chromeos-base/debugd-0.0.1-r1949 chromeos-base/factory_installer-0.0.1-r35 chromeos-base/openssh-server-init-0.0.1-r25 chromeos-base/power_manager-0.0.2-r2100 chromeos-base/recover-duts-0.0.1-r274 chromeos-base/update_engine-0.0.3-r2604 chromeos-base/userfeedback-0.0.1-r2338
,
Aug 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/crosutils/+/321e2f8277a22118ca2b6d6550da658535bb611f commit 321e2f8277a22118ca2b6d6550da658535bb611f Author: Jason D. Clinton <jclinton@chromium.org> Date: Sat Aug 12 19:56:51 2017 build_packages: Also rebuild reverse deps of cros_workon'd pkgs See linked bugs for motivation. Sample output: INFO : Selecting profile: /mnt/host/source/src/private-overlays/overlay-reef-uni-private/profiles/base for /build/reef-uni INFO : Cross toolchain already up to date. Nothing to do. INFO : Clearing shadow utils lockfiles under /build/reef-uni INFO : Checking package dependencies are correct: virtual/target-os virtual/target-os-dev virtual/target-os-factory virtual/target-os-factory-shim virtual/target-os-test chromeos-base/autotest-all INFO : cros_workon modified packages 'chromeos-base/chromeos-config-bsp' detected INFO : Computing reverse dependencies to rebuild INFO : These affected packages will be rebuilt: chromeos-base/chromeos-config-bsp chromeos-base/bootcomplete-login chromeos-base/chromeos-config chromeos-base/chromeos-dev-root chromeos-base/chromeos-firewall-init chromeos-base/chromeos-firmware-reef chromeos-base/chromeos-init chromeos-base/chromeos-installshim chromeos-base/chromeos-login chromeos-base/chromeos-trim chromeos-base/debugd chromeos-base/factory_installer chromeos-base/openssh-server-init chromeos-base/power_manager chromeos-base/recover-duts chromeos-base/update_engine chromeos-base/userfeedback INFO : Merging board packages now ... BUG=chromium:732536, chromium:753915 TEST=cros_workon a package; confirm reverse deps reinstalled. After, stop cros_workon the package and confirm that build is now a noop. Change-Id: I7071cc054b0ee3f9be14fc1ff779d4c5c53e7b23 Reviewed-on: https://chromium-review.googlesource.com/609232 Commit-Ready: Jason Clinton <jclinton@chromium.org> Tested-by: Jason Clinton <jclinton@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> [modify] https://crrev.com/321e2f8277a22118ca2b6d6550da658535bb611f/build_packages
,
Aug 12 2017
,
Sep 16 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by jclinton@chromium.org
, Aug 9 2017