aboutsummarylogtreecommitdiffstats
path: root/README.md
blob: 47a932b9993e627a5590440646ff662dcf3a9a47 (plain)
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
# New ddev release:

* Bump `pkgver` key in `PKGBUILD`
* Update the `sha256sums` key appropriately
* Do _not_ bump `pkgrel` key
* `makepkg --printsrcinfo > .SRCINFO`
* Test that the package builds properly: `makepkg -s`
* If everything is good, `git add .SRCINFO PKGBUILD && git commit -m "Bumping ddev-bin version"`
* `git push`

# Using Docker to perform the release

If you're not running Arch as your main OS, you can perform the `makepkg` steps
inside of a docker container like so:

```bash
docker run --rm --mount type=bind,source=$(pwd),target=/tmp/ddev-bin --workdir=/tmp/ddev-bin -it archlinux:latest bash
```

Once the container comes up, you'll need to install a couple of things:

```bash
pacman -Sy sudo binutils fakeroot docker docker-compose
```

You need sudo because `makepkg` refuses to run as root. `binutils` and `fakeroot`
are dependencies of `makepkg` that are somehow not installed in the Docker image
by default. `docker` and `docker-compose` are needed as dependencies of the `ddev-bin`
package, but you don't need to do anything special with them other than install
the packages so that `makepkg` doesn't complain.

You'll also need to set a password for `nobody` because `fakeroot` uses `sudo`:

```bash
passwd nobody
```

When you run `makepkg -s`, you'll be prompted for this password.

Finally, you'll need to preface the `makepkg` steps with `sudo -u nobody`.