bugmake - Bugs: bug #62809, Make grouped targets not evaluated...


bug #62809: Make grouped targets not evaluated as single logical file

Submitter:  Jonathan Gravel <jogravel>
Submitted:  Mon 25 Jul 2022 03:01:35 PM UTC
Severity:  3 - Normal Item Group:  Bug
Status:  Fixed Privacy:  Public
Assigned to:  psmith Open/Closed:  Closed
Component Version:  4.3 Operating System:  Any
Fixed Release:  4.4 Triage Status:  Medium Effort
* Mandatory Fields

Add a New Comment Rich Markup

Tue 20 Sep 2022 12:57:50 PM UTC, comment #1: 

Thanks for the patch!  I ended up using a different implementation, that also works for pattern rules.  I also checked for an "old" peer target, not just a missing peer target and added a few more tests.

Paul D. Smith <psmith>
Group administrator
Mon 25 Jul 2022 03:01:35 PM UTC, original submission:  

The presence of the grouped target's peers are not considered when checking if the target needs to be rebuilt.

For example, if `a` and `b` are grouped target peers (`a b &:`), and only `a` is explicitly referenced in the DAG, the presence of `b` isn't considered. `b` missing would not trigger the rule.

This is inconsistent with how the dependencies of `a` and `b` are treated. In the example above, if `b`'s dependencies were newer than `a`, out-of-date, or missing, `a` and `b` would ultimately be rebuilt as a consequence, even though `b` isn't referenced in the DAG.

For better consistency, it is appropriate to rebuild `a` whenever any of its peers are missing.

This would additionally solve a scenario where `c` depends on `a`, and `d` depends on `b`, and both `c` and `d` are goal targets. If only `a` is considered out of date, `c` is rebuilt, but not `d`. However, `b` is rebuilt, so on the next invocation of make (with no changes), `d` will be rebuilt due to it being older than `b`.

See attachment "0001-Fix-grouped-targets-consistency.patch" for proposed set of changes.

Jonathan Gravel <jogravel>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #53471:  0001-Fix-grouped-targets-consistency.patch added by jogravel (4KiB - application/octet-stream)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by psmith (Posted a comment)
  • -email is unavailable- added by jogravel (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-09-20 psmith StatusNone Fixed
        Assigned toNone psmith
        Open/ClosedOpen Closed
        Fixed ReleaseNone 4.4
        Triage StatusNone Medium Effort
    2022-07-25 jogravel Attached File- Added 0001-Fix-grouped-targets-consistency.patch, #53471

    Back to the top

    Powered by Savane 3.12.
    Corresponding source code