File: README.dev.md

package info (click to toggle)
geoipupdate 7.1.0-1
  • links: PTS, VCS
  • area: contrib
  • in suites: sid, trixie
  • size: 420 kB
  • sloc: sh: 103; makefile: 70; perl: 51
file content (50 lines) | stat: -rw-r--r-- 2,112 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Releasing

* Make sure you have [`goreleaser`](https://goreleaser.com/), rpmbuild,
  and pandoc installed. (rpmbuild is in the Ubuntu package `rpm`).
* Set release date in `CHANGELOG.md` and commit it.
* Ensure you can run `docker` commands as your user (e.g., `docker
  images`).
* Ensure Docker is set up to do cross-compilation. You can verify this with
  `docker buildx ls`. It should list `linux/arm64` as an available platform.
  If not, follow [these instructions](https://docs.docker.com/build/building/multi-platform/).
* Log in to your Docker Hub account (be sure to be in our organization):
  `docker login`.
* Follow [these instructions](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry),
  to log in to `ghcr.io` with `docker login`.
* Run `GITHUB_TOKEN=<your token> ./dev-bin/release.sh`. For `goreleaser` you
  will need a token with the `repo` scope. You may create a token
  [here](https://github.com/settings/tokens/new).

Then release to our PPA:

* Switch to the `ubuntu-ppa` branch. Merge the released tag into it. e.g.
  `git merge v4.1.0`.
* Set up to release to launchpad. You can see some information about
  prerequisites for this
  [here](https://github.com/maxmind/libmaxminddb/blob/main/README.dev.md).
* Ensure you have the `dh-golang`, `golang-any`, `devscripts`,
  `libfile-slurp-tiny-perl`, and `libdatetime-perl` packages installed.
* Delete `dist` directory.
* Check whether you need to update the `$DISTS` variable in
  `dev-bin/ppa-release.sh`. We should include all currently supported
  Ubuntu releases.
* Run `dev-bin/ppa-release.sh`

Gotcha with PPA:

* If you get an error from `dput` like `No host ppa:maxmind/ppa found in
  config`, you can create a `~/.dput.cf` with content like so:

```
[maxmind]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~maxmind/ubuntu/ppa/
login = anonymous
allow_unsigned_uploads = 0
```

Then you can run the same `dput` command but with `dput maxmind [...]`
instead of `dput ppa:maxmind/ppa [...]` (I'm not sure how to make the
matching work with the original command).