summaryrefslogtreecommitdiff
path: root/distro/README.md
diff options
context:
space:
mode:
authorJakub Ružička <jakub.ruzicka@nic.cz>2021-04-06 18:13:16 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-05-19 17:22:11 +0200
commit329d6e3fbc5a09a9bc8800bd8a5d239dec1a3d24 (patch)
tree29bf25fc20a609c0d81469fc2e4e528b99d4f5bb /distro/README.md
parentc3c691e95cd40d8654b720be8d9a8ae9fb050951 (diff)
add apkg-powered upstream packaging for deb, rpm
Files in a single new distro/ dir allow apkg to build BIRD packages for various distros directly from upstream sources as well as from upstream archives. Please see distro/README.md for more detail as well as apkg docs: https://apkg.rtfd.io I've used these files to build bird-2.0.8 on all currently supported releases of following distros: * Debian * Ubuntu * Fedora * CentOS * openSUSE Please note that latest apkg with accumulated fixes for bird is needed: https://gitlab.nic.cz/packaging/apkg/-/merge_requests/35
Diffstat (limited to 'distro/README.md')
-rw-r--r--distro/README.md69
1 files changed, 69 insertions, 0 deletions
diff --git a/distro/README.md b/distro/README.md
new file mode 100644
index 00000000..ac1a75b0
--- /dev/null
+++ b/distro/README.md
@@ -0,0 +1,69 @@
+# BIRD upstream packaging sources
+
+This distro/ directory contains packaging sources initially copied from Debian
+and Fedora downstream repos.
+
+Files in this directory follow [apkg] conventions and apkg can be used to
+create BIRD packages for various distros directly from upstream sources as
+well as from upstream archives.
+
+[apkg]: https://apkg.rtfd.io
+
+
+## Create (source) package from current repo commit
+
+Following command should build source package for current distro directly
+from current repo state - run at top bird directory:
+
+ apkg srcpkg
+
+or build native packages directly:
+
+ apkg build
+
+or in case of disposable VM/container you can use faster direct host build
+
+ apkg build -Hi
+
+tools/make-dev-archive script is in charge of creating archive from source.
+
+
+## Create (source) package from upstream release
+
+Following commands can be used to clone upstream repo, download current upstream
+archive (tarball), and build Debian, Ubuntu, Fedora, CentOS, or OpenSUSE
+source package (depending on host system) using files in bird/distro:
+
+ git clone https://gitlab.nic.cz/labs/bird
+ cd bird
+ apkg get-archive
+ apkg srcpkg -a pkg/archives/upstream/bird-2.0.8.tar.gz
+
+To create native packages instead use `build`:
+
+ apkg build -a pkg/archives/upstream/bird-2.0.8.tar.gz
+
+Or to build packages directly in case of a disposable VM/container (faster, modifies system):
+
+ apkg build -Hi -a pkg/archives/upstream/bird-2.0.8.tar.gz
+
+
+## Build packages in openSUSE Build Service (OBS)
+
+tools/make-obs script can be used on Debian-based system to create OBS
+source package in pkg/obs directory ready to be uploaded:
+
+ cd bird
+ apkg get-archive
+ ./tools/make-obs
+ # result in pkg/obs
+
+You can also supply (upstream) archive to build from:
+
+ # or to use specified archive
+ ./tools/make-obs pkg/archives/upstream/bird-2.0.8.tar.gz
+
+
+## More Info
+
+Please see [apkg docs][apkg].