|
|
# Debian Packages
|
|
|
|
|
|
## APT Repositories
|
|
|
|
|
|
### Ubuntu PPA
|
|
|
|
|
|
Ubuntu PPAs are located here: https://launchpad.net/~isc
|
|
|
|
|
|
Currently we have PPAs for BIND ESV (f.e. BIND 9.11), BIND Stable (f.e. BIND 9.12, then BIND 9.14) and BIND Dev (BIND 9.13, 9.15, ...).
|
|
|
|
|
|
#### Access
|
|
|
|
|
|
To gain access to the Launchpad team, create account and then ask one of the existing members to add you (@ondrej, @vicky).
|
|
|
|
|
|
## Packaging
|
|
|
|
|
|
The packaging is using Git Build Package, for extensive info, please see: https://wiki.debian.org/DanielKahnGillmor/preferred_packaging and the gbp documentation.
|
|
|
|
|
|
### Git Repository
|
|
|
|
|
|
The sources for Debian packages are hosted at the official Debian repository located at https://salsa.debian.org/dns-team/bind9.git (for BIND 9.10, 9.11 and 9.12) and https://salsa.debian.org/dns-team/bind.git (for BIND 9.13+).
|
|
|
|
|
|
### Access
|
|
|
|
|
|
To gain access to the Git repository, first create account here: https://signup.salsa.debian.org/ and then ask one of the existing maintainers to give you access to the repository (or the whole dns-team).
|
|
|
|
|
|
## Updating the packages
|
|
|
|
|
|
The update if fairly simple if you know gbp, but for a quick TL;DR, do:
|
|
|
|
|
|
1. Enter the directory with gbp repository:
|
|
|
```
|
|
|
$ cd bind9
|
|
|
```
|
|
|
|
|
|
2. Import the new tarball using uscan
|
|
|
```
|
|
|
$ gbp import-orig --uscan
|
|
|
gbp:info: Launching uscan...
|
|
|
uscan: Newest version of bind on remote site is 9.13.6, local version is 9.13.5
|
|
|
uscan: => Newer package available from
|
|
|
https://ftp.isc.org/isc/bind9/9.13.6/bind-9.13.6.tar.gz
|
|
|
gpgv: Signature made Fri 08 Feb 2019 05:39:31 AM UTC
|
|
|
gpgv: using RSA key BE0E9748B718253A28BB89FFF1B11BF05CF02E57
|
|
|
gpgv: Good signature from "Internet Systems Consortium, Inc. (Signing key, 2017-2018) <codesign@isc.org>"
|
|
|
gpgv: Signature made Fri 08 Feb 2019 05:39:32 AM UTC
|
|
|
gpgv: using RSA key 156890685EA0DF6A1371EF2017CC5DB1F0088407
|
|
|
gpgv: Can't check signature: No public key
|
|
|
uscan warn: OpenPGP signature did not verify.
|
|
|
gbp:info: Using uscan downloaded tarball ../bind-9.13.6.tar.gz
|
|
|
What is the upstream version? [9.13.6] # <<< Hit ENTER here
|
|
|
gbp:info: Importing '../bind-9.13.6.tar.gz' to branch 'upstream' (filtering out ['.gitignore'])...
|
|
|
gbp:info: Source package is bind
|
|
|
gbp:info: Upstream version is 9.13.6
|
|
|
gbp:info: Replacing upstream source on 'master'
|
|
|
gbp:info: Successfully imported version 9.13.6 of ../bind-9.13.6.tar.gz
|
|
|
```
|
|
|
|
|
|
3. Rebase the patches for new release
|
|
|
```
|
|
|
$ gbp pq rebase
|
|
|
gbp:info: No pq branch found, importing patches
|
|
|
gbp:info: Trying to apply patches at '6e3038736612a13aedc58bd6f94745209771b7b8'
|
|
|
gbp:warning: Patch skip-rtld-deepbind-for-dyndb.diff failed to apply, retrying with whitespace fixup
|
|
|
gbp:error: Failed to apply '/home/ondrej/Projects/pkg-dns/bind/debian/patches/skip-rtld-deepbind-for-dyndb.diff': Error running git apply: error: patch failed: lib/dns/dyndb.c:133
|
|
|
error: lib/dns/dyndb.c: patch does not apply
|
|
|
gbp:error: Couldn't apply patches
|
|
|
```
|
|
|
|
|
|
4. If it fails, do it manually using quilt
|
|
|
```
|
|
|
$ while quilt push; do quilt refresh; done
|
|
|
Applying patch debian/patches/07_multiarch.diff
|
|
|
patching file isc-config.sh.in
|
|
|
|
|
|
Now at patch debian/patches/07_multiarch.diff
|
|
|
Refreshed patch debian/patches/07_multiarch.diff
|
|
|
Applying patch debian/patches/25_library_paths.diff
|
|
|
patching file lib/dns/Makefile.in
|
|
|
patching file lib/irs/Makefile.in
|
|
|
patching file lib/isc/Makefile.in
|
|
|
Hunk #1 succeeded at 107 (offset -2 lines).
|
|
|
Hunk #2 succeeded at 133 (offset -2 lines).
|
|
|
patching file lib/isccc/Makefile.in
|
|
|
Hunk #2 succeeded at 64 (offset -2 lines).
|
|
|
Hunk #3 succeeded at 82 (offset -2 lines).
|
|
|
patching file lib/isccfg/Makefile.in
|
|
|
|
|
|
Now at patch debian/patches/25_library_paths.diff
|
|
|
Refreshed patch debian/patches/25_library_paths.diff
|
|
|
Applying patch debian/patches/33_resource_missing_include.diff
|
|
|
patching file lib/isc/unix/resource.c
|
|
|
|
|
|
Now at patch debian/patches/33_resource_missing_include.diff
|
|
|
Refreshed patch debian/patches/33_resource_missing_include.diff
|
|
|
Applying patch debian/patches/75_ctxstart_no_sighandling.diff
|
|
|
patching file lib/isc/unix/app.c
|
|
|
Hunk #1 succeeded at 149 (offset -3 lines).
|
|
|
|
|
|
Now at patch debian/patches/75_ctxstart_no_sighandling.diff
|
|
|
Refreshed patch debian/patches/75_ctxstart_no_sighandling.diff
|
|
|
Applying patch debian/patches/80_reproducible_build.diff
|
|
|
patching file lib/dns/gen.c
|
|
|
|
|
|
Now at patch debian/patches/80_reproducible_build.diff
|
|
|
Refreshed patch debian/patches/80_reproducible_build.diff
|
|
|
Applying patch debian/patches/Add_--install-layout=deb_to_setup.py_call.patch
|
|
|
patching file bin/python/Makefile.in
|
|
|
|
|
|
Now at patch debian/patches/Add_--install-layout=deb_to_setup.py_call.patch
|
|
|
Refreshed patch debian/patches/Add_--install-layout=deb_to_setup.py_call.patch
|
|
|
Applying patch debian/patches/skip-rtld-deepbind-for-dyndb.diff
|
|
|
patching file lib/dns/dyndb.c
|
|
|
Hunk #1 FAILED at 133.
|
|
|
1 out of 1 hunk FAILED -- rejects in file lib/dns/dyndb.c
|
|
|
Patch debian/patches/skip-rtld-deepbind-for-dyndb.diff does not apply (enforce with -f)
|
|
|
```
|
|
|
|
|
|
5. Now enforce the patch and fix it or drop it if no longer needed
|
|
|
```
|
|
|
$ quilt push -f
|
|
|
Applying patch debian/patches/skip-rtld-deepbind-for-dyndb.diff
|
|
|
patching file lib/dns/dyndb.c
|
|
|
Hunk #1 FAILED at 133.
|
|
|
1 out of 1 hunk FAILED -- saving rejects to file lib/dns/dyndb.c.rej
|
|
|
Applied patch debian/patches/skip-rtld-deepbind-for-dyndb.diff (forced; needs refresh)
|
|
|
$ emacs lib/dns/dyndb.c.rej lib/dns/dyndb.c
|
|
|
``` |