Skip to content

Conversation

@jarolrod
Copy link
Contributor

@jarolrod jarolrod commented Dec 10, 2020

The NetBSD build documentation has not seen any meaningful contribution since 2018. This PR intends
to update the documentation to be more informative and up to date. The main changes include:

  • Updated configuration instructions that now allow someone to successfully build
  • New instructions on building the GUI
  • New instructions on how to support descriptor wallets
  • A table which shows dependency information

Before/Master: render

After/PR: render

@DrahtBot DrahtBot added the Docs label Dec 10, 2020
@laanwj
Copy link
Member

laanwj commented Dec 10, 2020

Concept ACK, I cannot test this but this is a great first contribution.

@RandyMcMillan
Copy link
Contributor

Currently testing...

@DrahtBot
Copy link
Contributor

🕵️ @harding @fanquake have been requested to review this pull request as specified in the REVIEWERS file.

@RandyMcMillan
Copy link
Contributor

Just as above the config.log is being flagged as a directory

Screen Shot 2020-12-14 at 5 59 06 PM

@RandyMcMillan
Copy link
Contributor

I think it is better if this doc:

  • Assumes that it is a basic system - that has no prior configs or packages such as pkgin
  • From that assumption - it addresses the git install issue related to
  • pkg_add -v mozilla-rootcerts (ssl certs)
  • mozilla-rootcerts install
  • Not dependent on outside documentation
  • Assumes only a basic level of understanding of the user

With these assumptions - I believe Issues will be minimized - less support workload by community

Related walk thru for git install issue:
https://troglobit.com/howto/netbsd-pkgsrc/

@jarolrod
Copy link
Contributor Author

updated 6ac875c -> 1e88f35

  • Addressed @RandyMcMillan's suggestion of prepending code blocks with an empty line.
  • Made it clear that the example commands use pkgin as it is the recommended tool for installing binary/pre-built packages

In regards to this comment:

  • NetBSD docs recommend to use pkgin, this git issue only occurs when using pkg_add. The walk-through for the issue that is linked mentions that modern versions of NetBSD include pkgin and that the walkthrough is for bootstrapping pkgin

@RandyMcMillan
Copy link
Contributor

Looks good - thanks for the clarification and extra attention to detail. :)
ACK 1e88f35

fanquake added a commit to bitcoin-core/gui that referenced this pull request Mar 18, 2021
c180c91 doc: revamp macOS build doc (Jarol Rodriguez)

Pull request description:

  This PR makes the macOS build-docs more informative and adds in the following information:
  - Proper descriptions and delineation of required/optional dependencies
  - walk-through of optional dependencies
  - configuration walk-through
  - various other tidbits of information

  This is a part of the efforts done in bitcoin/bitcoin#20601 and bitcoin/bitcoin#20610 to update the docs and introduce some consistency between them.

  This update does not add instructions for arm-based M1 Macbooks as I do not have one to test with. It would be nice to have someone follow up with an update containing instructions for arm-based Macs.

  **Before/Master:** [render](https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md)
  **After/PR:** [render](https://github.com/bitcoin/bitcoin/blob/c180c911b88b2bd2baf2c9c2b24e276787ffb69b/doc/build-osx.md)

ACKs for top commit:
  fanquake:
    ACK c180c91 - I still think these are getting too verbose and we're duplicating information all over the place; dependencies, configure options, combinations of options etc. However if people are happy to maintain them, I guess it's fine for now, and this revamping has already happened for some of the other build READMEs.

Tree-SHA512: 1440046c723fe80d4158e4a429e3aa8bd93570acb84ad202d5d24c749ab9a89a3aca8b61b49e75e042a4bf4317acd632d3906e1b5808a9052e74209256528b45
@DrahtBot
Copy link
Contributor

DrahtBot commented May 13, 2021

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #24524 (doc: remove Boost LDFLAGS from netBSD build docs 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.

@jarolrod
Copy link
Contributor Author

updated from 1e88f35 -> 368c771 (pr20610.02 -> pr20610.03)

Changes:

Copy link
Member

@jonatack jonatack left a comment

Choose a reason for hiding this comment

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

Approach ACK/almost ACK. Suggestions follow, feel free to pick/choose/ignore.

[qrencode](https://pkgsrc.se/converters/qrencode) | QR codes in GUI | Generating QR codes (only needed when GUI enabled)
[zeromq](https://pkgsrc.se/net/zeromq) | ZMQ notification | Allows generating ZMQ notifications (requires ZMQ version >= 4.0.0)
[sqlite3](https://pkgsrc.se/databases/sqlite3) | SQLite DB | Wallet storage (only needed when wallet enabled)
[python37](https://pkgsrc.se/lang/python37) | Testing | Python Interpreter (only needed when running the test suite)
Copy link
Member

Choose a reason for hiding this comment

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

According to doc/dependencies.md, the minimum required Python version is currently 3.6; if we can get away with specifying Python 3.6 and up, that might allow this doc to stay current longer.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

lets leave this like this for now, when the minimum supported is 3.8, we can update it. What do you think?

Should be a while before the minimum is 3.8, right?

Copy link
Member

Choose a reason for hiding this comment

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

I don't have a strong opinion.

@bitcoin bitcoin deleted a comment Jun 23, 2021
@bitcoin bitcoin deleted a comment Jun 23, 2021
NetBSD doc has not seen any meaningful contribution since 2018. This PR intends
to update the docs so that one can successfully build on the latest NetBSD release. It also adds
dependency information and instructions to build the GUI.
@jarolrod
Copy link
Contributor Author

jarolrod commented Jul 20, 2021

Updated from 368c771 to 2d7a754 (pr20610.03 -> pr20610.04

Changes: Address @jonatack comments, thanks for the review!

Copy link
Member

@jonatack jonatack left a comment

Choose a reason for hiding this comment

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

utACK 368c771 with a few suggestions

# NetBSD Build Guide

This guide describes how to build bitcoind and command-line utilities on NetBSD.
Updated for NetBSD [9.1](https://netbsd.org/releases/formal-9/NetBSD-9.1.html)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Updated for NetBSD [9.1](https://netbsd.org/releases/formal-9/NetBSD-9.1.html)
Updated for NetBSD [9.1](https://netbsd.org/releases/formal-9/NetBSD-9.1.html).


### 1. Install Required Dependencies

Install the required dependencies the usual way you [install software on NetBSD](https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-pkgsrc) -- either with `pkg_add` or `pkgin`. The example commands below use `pkgin` which is the [recommended](https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-pkgsrc) way to install binary packages.
Copy link
Member

Choose a reason for hiding this comment

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

Two identical links is a bit noisy/confusing; would drop one the first one.

```bash
gmake # use "-j N" here for N parallel jobs
gmake check
gmake check # Run tests if Python 3 is available
Copy link
Member

Choose a reason for hiding this comment

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

s/Run/run/ or s/use/Use/


#### Wallet Dependencies

It is not necessary to build wallet functionality to run bitcoind or the GUI. To enable legacy wallets, you must install Berkeley DB, aka BDB or `db4`. To enable [descriptor wallets](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md), SQLite (`sqlite3`) is required. Skip `db4` if you intend to *exclusively* use descriptor wallets.
Copy link
Member

Choose a reason for hiding this comment

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

nit, would drop the unnecessary italics on "exclusively"

[qrencode](https://pkgsrc.se/converters/qrencode) | QR codes in GUI | Generating QR codes (only needed when GUI enabled)
[zeromq](https://pkgsrc.se/net/zeromq) | ZMQ notification | Allows generating ZMQ notifications (requires ZMQ version >= 4.0.0)
[sqlite3](https://pkgsrc.se/databases/sqlite3) | SQLite DB | Wallet storage (only needed when wallet enabled)
[python37](https://pkgsrc.se/lang/python37) | Testing | Python Interpreter (only needed when running the test suite)
Copy link
Member

Choose a reason for hiding this comment

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

I don't have a strong opinion.

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

@fanquake
Copy link
Member

Thanks, however I'm going to close this for now. I think #23565 is the direction we would like to go.

@fanquake fanquake closed this Mar 16, 2022
@maflcko
Copy link
Member

maflcko commented Mar 16, 2022

I think this is orthogonal to #23565?

maflcko pushed a commit that referenced this pull request Jul 8, 2022
d3e9a1c doc: update for NetBSD 9.2, add GUI Build Instructions (Jarol Rodriguez)

Pull request description:

  **For reviewer:** as I suppose few have a NetBSD system available, I wrote a [guide](https://gist.github.com/jarolrod/385dc063bb02c90aea0cbe8a147fc418#file-netbsd-vm-setup-guide-md) to setup a VM for testing purposes.

  This attempts to update the NetBSD docs so one can successfully build on the latest release. It also adds instructions to build the GUI.

  Additionally, it includes a note and an example on how one could update the gcc version bundled with NetBSD 9.2 and prior to be able to actually compile. This note can be updated with the release of NetBSD 10, as it will package an acceptable gcc version.

  Master: [render](https://github.com/bitcoin/bitcoin/blob/master/doc/build-netbsd.md)
  PR: [render](https://github.com/bitcoin/bitcoin/blob/d3e9a1c71bef1d730b5820f85e9758af54267ac3/doc/build-netbsd.md)

  Related to #20610, but reworked.

ACKs for top commit:
  aureleoules:
    ACK d3e9a1c.
  fanquake:
    ACK d3e9a1c

Tree-SHA512: fc3c12689cee886f26782c1d57f3b794ceaedc965a571dd06cfc4a57f90393842ad2124e6dba55a12ac9de9bf63d8e3eb4aa541768f2aa8603248175ce7d1c08
@bitcoin bitcoin locked and limited conversation to collaborators Mar 16, 2023
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.

7 participants