Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Sep 24, 2019

By blanket passing --disable-dependency-tracking to all depends packages we end up with warnings (i.e in bdb or freetype) like:

configure: WARNING: unrecognized options: --disable-dependency-tracking

Instead, only pass it to packages that actually understand it. Related to #16354.

More info on --disable-dependency-tracking available here.

This PR also adds --enable-option-checking as a configure option to all applicable packages.

@luke-jr
Copy link
Member

luke-jr commented Sep 24, 2019

Why is this a problem?

@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 24, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17165 ([WIP] Remove BIP70 support by fanquake)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@laanwj
Copy link
Member

laanwj commented Sep 26, 2019

Would be nice if there was a way to make it stop instead of warn on unknown configure arguments, This would make it easy to detect when say, a dependency upgrade invalidates some of the configuration.

@dongcarl
Copy link
Contributor

dongcarl commented Oct 1, 2019

I think we want to make sure that given the choice, we supply --disable-dependency-tracking, because the default is to enable it. In the case of an upgrade, I'm more worried about upstream packages enabling the --{dis,en}able-dependency-tracking toggle in a version bump, and us not setting it, than just a pesky warning.

@fanquake
Copy link
Member Author

fanquake commented Oct 2, 2019

@dongcarl Would you rather a comment in funks.mk explaining the blanket passing rationale? I'd like to have it somewhat documented.

@dongcarl
Copy link
Contributor

dongcarl commented Oct 2, 2019

@dongcarl Would you rather a comment in funks.mk explaining the blanket passing rationale? I'd like to have it somewhat documented.

Let's do that!


funks.mk

giphy

@theuni
Copy link
Member

theuni commented Oct 11, 2019

Concept ACK, looks good to me as-is.

Would be nice if there was a way to make it stop instead of warn on unknown configure arguments, This would make it easy to detect when say, a dependency upgrade invalidates some of the configuration.

Great idea, and there is!
--disable-option-checking. +1 for wiring it up where applicable.

Edit: Heh, we'd obviously want to flip this to --enable-option-checking for our use-case.

…stand it

By blanket passing --disable-dependency-tracking to all depends packages
we end up with some warnings like:

configure: WARNING: unrecognized options: --disable-dependency-tracking

So instead, only pass it to packages that understand it.

Related to bitcoin#16354.
@fanquake fanquake force-pushed the no_disable_dependency_tracking branch from 19eb427 to 1ba49bc Compare October 11, 2019 17:32
@fanquake
Copy link
Member Author

fanquake commented Oct 11, 2019

Thanks @theuni. I've left the changes as they are, and added an additional commit that adds --enable-option-checking to the applicable packages. Also updated the PR description and queued up a new gitian build. I have tested a depends build locally on macOS and Debian 10 so far.

@DrahtBot
Copy link
Contributor

Gitian builds for commit f4d9307 (master):

Gitian builds for commit babbe24 (master and this pull):

@laanwj
Copy link
Member

laanwj commented Oct 14, 2019

ACK 1ba49bc

Copy link
Member

@theuni theuni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 1ba49bc

@bitcoin bitcoin deleted a comment from DrahtBot Oct 18, 2019
fanquake added a commit that referenced this pull request Oct 18, 2019
…ges that understand it

1ba49bc build: pass --enable-option-checking to applicable packages (fanquake)
bcff8e2 build: only pass --disable-dependency-tracking to packages that understand it (fanquake)

Pull request description:

  By blanket passing `--disable-dependency-tracking` to all depends packages we end up with warnings (i.e in `bdb` or `freetype`) like:
  ```bash
  configure: WARNING: unrecognized options: --disable-dependency-tracking
  ```
  Instead, only pass it to packages that actually understand it. Related to #16354.

  More info on `--disable-dependency-tracking` available [here](https://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html).

  This PR also adds `--enable-option-checking` as a configure option to all applicable packages.

ACKs for top commit:
  laanwj:
    ACK 1ba49bc
  theuni:
    ACK 1ba49bc

Tree-SHA512: 6d3143ad5f5d1abed5e0a0b2ffbb4323f21c7bf24b0b8df26fb1b3cd16cf5309bbb830aa5aaec99164d5bbe8e9c62b97aa3e97ee1ddc2c7612bf8ff88a63885e
@fanquake fanquake merged commit 1ba49bc into bitcoin:master Oct 18, 2019
@fanquake fanquake deleted the no_disable_dependency_tracking branch October 18, 2019 20:58
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Oct 21, 2019
…o packages that understand it

1ba49bc build: pass --enable-option-checking to applicable packages (fanquake)
bcff8e2 build: only pass --disable-dependency-tracking to packages that understand it (fanquake)

Pull request description:

  By blanket passing `--disable-dependency-tracking` to all depends packages we end up with warnings (i.e in `bdb` or `freetype`) like:
  ```bash
  configure: WARNING: unrecognized options: --disable-dependency-tracking
  ```
  Instead, only pass it to packages that actually understand it. Related to bitcoin#16354.

  More info on `--disable-dependency-tracking` available [here](https://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html).

  This PR also adds `--enable-option-checking` as a configure option to all applicable packages.

ACKs for top commit:
  laanwj:
    ACK 1ba49bc
  theuni:
    ACK 1ba49bc

Tree-SHA512: 6d3143ad5f5d1abed5e0a0b2ffbb4323f21c7bf24b0b8df26fb1b3cd16cf5309bbb830aa5aaec99164d5bbe8e9c62b97aa3e97ee1ddc2c7612bf8ff88a63885e
deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Apr 3, 2020
Summary:
```
By blanket passing --disable-dependency-tracking to all depends packages
we end up with warnings (i.e in bdb or freetype) like:
  configure: WARNING: unrecognized options:
--disable-dependency-tracking
Instead, only pass it to packages that actually understand it.
[...]
This PR also adds --enable-option-checking as a configure option to all
applicable packages.
```

Backport of core [[bitcoin/bitcoin#16949 | PR16949]].

Test Plan: Run the Gitian builds.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5660
@str4d str4d mentioned this pull request Oct 5, 2020
zkbot added a commit to zcash/zcash that referenced this pull request Oct 8, 2020
Update ZeroMQ

Includes changes cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#9254
- bitcoin/bitcoin#13578
- bitcoin/bitcoin#15844
- bitcoin/bitcoin#16370
  - Only the ZeroMQ changes.
- bitcoin/bitcoin#16949
ftrader pushed a commit to bitcoin-cash-node/bitcoin-cash-node that referenced this pull request Aug 13, 2021
Summary:
```
By blanket passing --disable-dependency-tracking to all depends packages
we end up with warnings (i.e in bdb or freetype) like:
  configure: WARNING: unrecognized options:
--disable-dependency-tracking
Instead, only pass it to packages that actually understand it.
[...]
This PR also adds --enable-option-checking as a configure option to all
applicable packages.
```

Backport of core [[bitcoin/bitcoin#16949 | PR16949]].

Test Plan: Run the Gitian builds.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5660
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants