Share your links here
.
Packaging
Flashbots software
Ethereum execution clients
Ethereum consensus clients
Incus setup for debian development
Install:
$ sudo apt install incus
$ sudo adduser $USER incus-admin
$ newgrp incus-admin
$ incus admin init --minimal
Launch a container:
$ incus launch images:debian/trixie <container-name>
$ incus config device add <container-name> workspace disk source=/home/<user>/workspace path=/home/<user>/workspace shift=true
$ incus exec <container-name> -- su
# adduser --disabled-password <user>
# passwd --delete <user>
# usermod --append --group sudo <user>
# exit
$ incus exec <container-name> -- su --login <user>
$ sudo apt install devscripts emacs-nox
Go packaging
Install the dh-make-golang patched by otto:
$ 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
export DEBEMAIL=<my-email>
export DEBFULLNAME="<my-name>"
- Run
dh-make-golang make -dep14 -pristine-tar -type library -upstream_git_history -wrap-and-sort ast -git_revision=<git-revision> <go import path> - Run
dh-make-golang estimate. It will report the missing dependencies, so go back to (1) until there are no dependencies. - File the intent to package bug.
- Go to https://flight-deck.debian.net/ and create a new repository.
cd <project>- From outside the container:
git push --force --verbose - Make a branch for the latest release:
git checkout -b import/$(dpkg-parsechangelog -SVersion) - Edit
debian/changelog:- Replace
UNRELEASEDwithunstable. - Add the number of the intent to package bug.
- Replace
- Edit
debian/control:- Add
Otto Kekäläinen <otto@debian.org>,to uploaders. - Update
Standards-Versionto4.7.2. - Improve the
Description.
- Add
- Edit
debian/copyright:- Add
Flashbots <info@flashbots.net>to the debian copyright.
- Add
- 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:
- If it uses tags, add the message:
# This Go package does not tag releases and the Debian packaging is based on
# importing the latest upstream commit on branch 'main'
-
Run
grep --recursive --fixed-strings TODO debian. -
Run
debputy reformat --style=black. -
Run
git add debian. -
Run
git commit --message 'Initial packaging (Closes: #<itp bug>)'. -
Run
debuild. -
Run
lintian --pedantic --display-info. -
Run
git push. -
Create the merge request using a message like this:
- Closes: http://bugs.debian.org/
This is a Merge Request targeting the branch debian/sid, which equals the contents of upstream v tag. It will get a debian/ subdirectory only starting from this MR being merged.
This MR will be updated/rebased until it is ready for upload.
Please share all the feedback you have. You don’t need to be an expert in the domain - any feedback is valued. Also comments stating that you checked this out but didn’t spot any issues are also valued, as it counts to the number of eyeballs that saw this before upload.
-
Assign as a reviewer ‘otto’ to the merge request.
-
Run the pipeline.