Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update installing-geth.md: Include Gentoo installation instructions #30450

Merged
merged 1 commit into from
Nov 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions docs/getting-started/installing-geth.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,22 @@ sudo pacman -Sy

When the node is started again, Geth will automatically use all the data from the previous version and sync the blocks that were missed while the node was offline.

### Gentoo via Portage {#gentoo-via-portage}

Geth is included in the Gentoo repository as [`net-p2p/go-ethereum`](https://packages.gentoo.org/packages/net-p2p/go-ethereum). It can be installed by running:
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this maintained by you personally, @SamWilsn ?

IMO we should integrate it into our CI pipeline if we have it here -- no offense meant to you, but we should not rely on specific individuals pushing packages years into the future.

Copy link
Author

Choose a reason for hiding this comment

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

Is this maintained by you personally, @SamWilsn ?

I am the current maintainer, yes. It has been in the Gentoo repository for much longer than that, however. Note that this is the official Gentoo repository, and is not something like a PPA or the AUR.

IMO we should integrate it into our CI pipeline if we have it here

I'd be happy to investigate automation if there's a chance of merging it. Essentially this would entail copying a file, updating the URL, running a build, and opening a pull request.

How is this implemented for Arch Linux?

Copy link
Contributor

Choose a reason for hiding this comment

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

We don't maintain the ArchLinux package, it's done by a community member.

Copy link
Author

Choose a reason for hiding this comment

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

Ah.

Well as far as automation goes, I believe it would go in ci.go? The process for 1.14.9 would look something like:

  1. Clone gentoo/gentoo.
  2. Copy net-p2p/go-ethereum/go-ethereum-1.14.8.ebuild to net-p2p/go-ethereum/go-ethereum-1.14.9.ebuild.
  3. Update the source tarball filename (LONG_VERSION).
  4. Run a test build with and without USE=devtools. I imagine this would use docker.
  5. Commit the new ebuild file.
  6. Push it and create a pull request.

Should I go ahead and build all of that, or can I continue to do it by hand (with the assumption it'll get removed from the documentation if the package gets out of date)?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we want to automate this in our pipeline. ci.go is the build script that creates binaries. We do have some automation in there for Debian/Ubuntu as well. But it's just about generating packaging files.

Copy link
Author

Choose a reason for hiding this comment

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

I see three options for moving this PR forward:

  • Close this pull request without merging, even though neither Arch nor FreeBSD have automation (I'm fine with this, but I'd like geth to be explicit about it.)
  • Merge the pull request as is (suffers from single point of failure: me.)
  • I build automation outside the go-ethereum repository (same single point of failure concern.)

How would you like to proceed?


```sh
emerge --ask net-p2p/go-ethereum
```

To install the additional developer tools (`abidump`, `abigen`, `blsync`, `bootnode`, `clef`, `devp2p`, `era`, `ethkey`, `evm`, and `rlpdump`), enable the `devtools` useflag:

#### File: `/etc/portage/package.use/go-ethereum`

```
net-p2p/go-ethereum devtools
```

## Standalone bundle {#standalone-bundle}

Stable releases and development builds are provided as standalone bundles. These are useful for users who: a) wish to install a specific version of Geth (e.g., for reproducible environments); b) wish to install on machines without internet access (e.g. air-gapped computers); or c) wish to avoid automatic updates and instead prefer to manually install software.
Expand Down