aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: d49cc2ccbea07014f59d86b8f24a33e67206232c (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Praat backports website

## Create the signing GnuPG key

On my laptop:

```sh
gpg --full-generate-key
KEY=$(gpg --list-key "praat backports" | grep "^      ")
git clone rlaboiss@git.cefala.org:/var/git/rlaboiss/praat-backports
cd praat-backports
gpg --armor --export $KEY > www/praat.gpg.key
git commit -m 'New signing key'
```

On the build system (dev.cefala.org):

```sh
git clone rlaboiss@git.cefala.org:/var/git/rlaboiss/praat-backports
cd praat-backports
gpg --import www/praat.gpg.key 
```

## Update the pbuilder images

On the build system (dev.cefala.org):

```sh
DIST=stable ARCH=i386 sudo pbuilder --update
DIST=stable ARCH=amd64 sudo pbuilder --update
```

It is necessary to ensure that the file `/etc/apt/sources.list` does not
contain hardcoded distribution names, for instance:

```
deb http://ftp.us.debian.org/debian/ stable-backports main contrib non-free
deb http://ftp.us.debian.org/debian/ stable main contrib non-free
```

When a new Debian distribution is released, it is necessary to explicitly
accept the change the codename change, for instance:

```
$ ARCH=i386 DIST=stable sudo pbuilder --login --save-after-login
root@dev:/# apt update
N: Repository 'http://ftp.us.debian.org/debian stable InRelease' changed its 'Version' value from '12.11' to '13.1'
E: Repository 'http://ftp.us.debian.org/debian stable InRelease' changed its 'Codename' value from 'bookworm' to 'trixie'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N] y
```

## Build the packages

On the build system (dev.cefala.org):

```r
gbp clone git@salsa.debian.org:med-team/praat.git
git checkout -b bookworm debian/6.3.07-1 # version in bookworm
git merge debian/6.4.34+dfsg-1 # last release in testing
```

Create a `debian/changelog` entry with:

```
praat (6.4.34+dfsg-1~bpo12+1) bookworm; urgency=medium
```

Build the packages for both i386 and amd64 architectures:

```sh
DIST=stable ARCH=i386 DEB_BUILD_OPTIONS=nocheck pdebuild --debbuildopts "-b -us -uc"
DIST=stable ARCH=amd64 DEB_BUILD_OPTIONS=nocheck pdebuild --debbuildopts "-b -us -uc"
```

## Setup the website

On the http system (www.cefala.org):

```sh
git clone rlaboiss@git.cefala.org:/var/git/rlaboiss/praat-backports
cd praat-backports
make install-www
```

## Populate the repository

On the build system (dev.cefala.org):

```sh
cd repo
make clean
make
version=6.4.34+dfsg-1~bpo12+1
for pkg in praat praat-doc ; do
    for arch in i386 amd64 ; do
        bin/add-pkg.sh	\
            bookworm	\
            /var/cache/pbuilder/stable-$arch/result/${pkg}_${version}_*.deb
    done
done
make -C.. install-repo
```