|
|
Current setup
|
|
|
-------------
|
|
|
|
|
|
We maintain the following DNS-related subprojects of [home:CZ-NIC](https://build.opensuse.org/project/subprojects/home:CZ-NIC):
|
|
|
|
|
|
- [knot-resolver-latest](https://build.opensuse.org/project/show/home:CZ-NIC:knot-resolver-latest): We encourage users to use this repository. It contains latest stable `knot-resolver` and `knot` as well (in the latest version that's compatible with the released `knot-resolver` - usually the latest).
|
|
|
- [knot-resolver-devel](https://build.opensuse.org/project/show/home:CZ-NIC:knot-resolver-devel): Automatic build of `knot-resolver` is triggered when we merge to the master branch. It depends on `knot-resolver-latest` repository for `knot`.
|
|
|
- [knot-dns-latest](https://build.opensuse.org/project/show/home:CZ-NIC:knot-dns-latest): Contains the latest `knot` build, which may occasionally break `knot-resolver`. Users who don't use `knot-resolver` can use this repository for latest `knot` builds.
|
|
|
- [knot-dns-devel](https://build.opensuse.org/project/show/home:CZ-NIC:knot-dns-devel): Automatic builds of `knot` and `knot-resolver` are triggered when we merge to the master branch of either project. Builds of `knot-resolver` in this repository are built against the latest `knot`.
|
|
|
|
|
|
Useful commands
|
|
|
---------------
|
|
|
|
|
|
- for general `osc` reference and configuration, see [OBS documentation](http://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.osc.html)
|
|
|
- checking out the repository locally: `osc co home:CZ-NIC:knot-resolver-devel`
|
|
|
- modifying project's repositories: `osc meta prj --edit`
|
|
|
- dependency on another OBS repo can be configured in this file, e.g. adding `knot-resolver-latest` (order matters, custom repositories should be defined first):
|
|
|
```
|
|
|
<repository name="Debian_9.0">
|
|
|
<path project="home:CZ-NIC:knot-resolver-latest" repository="Debian_9.0"/>
|
|
|
<path project="Debian:9.0" repository="standard"/>
|
|
|
<arch>x86_64</arch>
|
|
|
<arch>aarch64</arch>
|
|
|
</repository>
|
|
|
```
|
|
|
- changing project configuration: `osc meta prjconf --edit`
|
|
|
- this file is useful for resolving package ambiguities with [Prefer:](https://en.opensuse.org/openSUSE:Build_Service_prjconf#Prefer)
|
|
|
- example content for `knot-resolver`:
|
|
|
```
|
|
|
Prefer: environment-modules
|
|
|
Prefer: generic-release
|
|
|
```
|
|
|
|
|
|
Adding a new repository
|
|
|
-----------------------
|
|
|
|
|
|
Packages can be built against any existing target repo/architecture in OBS.
|
|
|
|
|
|
- `osc list` can be used to view all projects.
|
|
|
- `osc repos $PROJECT` can then be used to all repos along with the supported architectures.
|
|
|
|
|
|
Building against these repos can be configured via `Export Mode` when adding a new repository or via `osc meta prj --edit`
|
|
|
|
|
|
### Example - find supported Fedora targets
|
|
|
|
|
|
```
|
|
|
$ osc list | grep '^Fedora'
|
|
|
Fedora:16
|
|
|
Fedora:17
|
|
|
Fedora:18
|
|
|
Fedora:19
|
|
|
Fedora:20
|
|
|
Fedora:21
|
|
|
Fedora:22
|
|
|
Fedora:23
|
|
|
Fedora:24
|
|
|
Fedora:25
|
|
|
Fedora:26
|
|
|
Fedora:27
|
|
|
Fedora:EPEL:6
|
|
|
Fedora:EPEL:7
|
|
|
Fedora:Rawhide
|
|
|
|
|
|
$ osc repos Fedora:27
|
|
|
update x86_64
|
|
|
update armv7l
|
|
|
update aarch64
|
|
|
update i586
|
|
|
standard x86_64
|
|
|
standard armv7l
|
|
|
standard aarch64
|
|
|
standard i586
|
|
|
``` |