# Debian

**URL:** https://collective.flashbots.net/t/debian/5035
**Category:** References
**Tags:** links, work-in-progress, software
**Created:** [June 25, 2025, 4:50pm UTC](https://collective.flashbots.net/t/debian/5035 "2025-06-25T16:50:50Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![guayabyte](https://collective.flashbots.net/user_avatar/collective.flashbots.net/guayabyte/32/4_2.png) [@guayabyte](https://collective.flashbots.net/u/guayabyte)
#### Post date: [June 25, 2025, 4:50pm UTC](https://collective.flashbots.net/t/debian/5035/1 "2025-06-25T16:50:50Z")

</div>

> **[Debian](https://en.wikipedia.org/wiki/Debian)**
>
> Debian (/ˈdɛbiən/) is a free, general-purpose operating system developed by the Debian Project, a worldwide volunteer association founded by Ian Murdock on August 16, 1993. It is the second-oldest Linux distribution still being developed (only Slackware is older) and forms the base of many others. It is deployed across servers, personal computers, and embedded devices. Among Linux distributions, it ranks second only to Ubuntu (a Debian derivative), with 16% of the overall market. According to t...

My [excalidraw tracings](https://link.excalidraw.com/readonly/WRmS1tqbx2OwUy5xbCCA).

Share your links here 🕸 .

- [DebConf25](https://collective.flashbots.net/t/debconf25/5103)

# Packaging

## Flashbots software

- [mev-boost](https://collective.flashbots.net/t/mev-boost/5060#p-10282-debian-packaging-1)

## Ethereum execution clients

- [Geth](https://collective.flashbots.net/t/geth-go-ethereum/4873#p-10032-debian-packaging-1)
- [Reth](https://collective.flashbots.net/t/reth-rust-consensus-client/5138#p-10403-debian-packaging-1)

## Ethereum consensus clients

- [Prysm](https://collective.flashbots.net/t/prysm/4792#p-9884-debian-packaging-1)

## Incus setup for debian development

Install:

```auto
$ sudo apt install incus
$ sudo adduser $USER incus-admin
$ newgrp incus-admin
$ incus admin init --minimal

```

Launch a container:

```auto
$ incus launch images:debian/trixie <container-name>
$ incus exec <container-name> -- su
# adduser --disabled-password <user>
# passwd --delete <user>
# usermod --append --group sudo <user>
# chown -R <user>:<user> /home/<user>
# exit
$ incus config device add <container-name> workspace disk source=/home/<user>/workspace path=/home/<user>/workspace shift=true
$ incus exec <container-name> -- su --login <user>
$ sudo apt install devscripts emacs-nox debputy

```

## Go packaging

Install the `dh-make-golang` patched by otto:

```auto
$ curl -LO https://salsa.debian.org/otto/dh-make-golang/-/jobs/8339383/artifacts/raw/debian/output/dh-make-golang_0.8+git20250820.a6fe7fa-1~otto+salsaci+20250923+43_amd64.deb
$ apt install --yes ./dh-make-golang*.deb

```

```auto
export DEBEMAIL=<my-email>
export DEBFULLNAME="<my-name>"

```

1. Run `dh-make-golang make -dep14 -pristine-tar -type library -upstream_git_history -wrap-and-sort ast -git_revision=<git-revision> <go import path>`
2. Run `dh-make-golang estimate`. It will report the missing dependencies, so go back to (1) until there are no dependencies.
3. File the intent to package bug.
4. Go to [https://flight-deck.debian.net/](https://flight-deck.debian.net/) and create a new repository.
5. `cd <project>`
6. From outside the container: `git push --force --verbose`
7. Make a branch for the latest release: `git checkout -b import/$(dpkg-parsechangelog -SVersion)`
8. Edit `debian/changelog`:
  - Replace `UNRELEASED` with `unstable`.
  - Add the number of the intent to package bug.

9. Edit `debian/control`:
  - Add ` Otto Kekäläinen <otto@debian.org>,` to uploaders.
  - Update `Standards-Version` to `4.7.2`.
  - Improve the `Description`.

10. Edit `debian/copyright`:
  - Add `Flashbots <info@flashbots.net>` to the debian copyright.

11. Verify that upstream uses tags and edit `debian/gbp.conf`:
  - If it uses tags, add the message: `This Go package has tags of form 'v1.0.0'.`
  - If it doesn’t use tags, add the message:

```auto
# This Go package does not tag releases and the Debian packaging is based on                                                                                               
# importing the latest upstream commit on branch 'main' 

```

1. Run `grep --recursive --fixed-strings TODO debian`.

2. Run `debputy reformat --style=black`.

3. Run `git add debian`.

4. Run `git commit --message 'Initial packaging (Closes: #<itp bug>)'`.

5. Run `debuild`.

6. Run `lintian --pedantic --display-info`.

7. Run `git push`.

8. Create the merge request using a message like this:

9. Assign as a reviewer ‘otto’ to the merge request.

10. Run the pipeline.
