New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 753915 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 765897

Blocking:
issue 732536



Sign in to add a comment

Make cros_list_modified_packages add all reverse DEPEND of modified packages to list

Project Member Reported by jclinton@chromium.org, Aug 9 2017

Issue description

On 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

 
Blocking: 732536
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Comment 4 by vapier@chromium.org, Sep 16 2017

Blockedon: 765897

Sign in to add a comment