aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2021-11-23 14:18:44 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2022-06-16 13:04:33 +0200
commitcf11908f9c39ee98b063d1ca33770179f34a3652 (patch)
treef75d70cdebb4d735e890980a8403c47ebbba2a9d /contrib
parent8715605294e372e2152086491b2124f73bb89986 (diff)
initial osmocom boilerplate source tree
Diffstat (limited to 'contrib')
-rw-r--r--contrib/Makefile.am0
-rwxr-xr-xcontrib/jenkins.sh60
-rw-r--r--contrib/libosmo-pfcp.spec.in50
3 files changed, 110 insertions, 0 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/Makefile.am
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
new file mode 100755
index 0000000..414a6cb
--- /dev/null
+++ b/contrib/jenkins.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+# jenkins build helper script for libosmo-pfcp. This is how we build on jenkins.osmocom.org
+#
+# environment variables:
+# * WITH_MANUALS: build manual PDFs if set to "1"
+# * PUBLISH: upload manuals after building if set to "1" (ignored without WITH_MANUALS = "1")
+#
+
+if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then
+ echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !"
+ exit 2
+fi
+
+
+set -ex
+
+base="$PWD"
+deps="$base/deps"
+inst="$deps/install"
+export deps inst
+
+osmo-clean-workspace.sh
+
+mkdir "$deps" || true
+
+verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
+
+export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
+export LD_LIBRARY_PATH="$inst/lib"
+export PATH="$inst/bin:$PATH"
+
+osmo-build-dep.sh libosmocore "" --disable-doxygen
+
+# Additional configure options and depends
+CONFIG=""
+if [ "$WITH_MANUALS" = "1" ]; then
+ CONFIG="--enable-manuals"
+fi
+
+set +x
+echo
+echo
+echo
+echo " =============================== libosmo-pfcp ==============================="
+echo
+set -x
+
+cd "$base"
+autoreconf --install --force
+./configure --enable-sanitize $CONFIG
+$MAKE $PARALLEL_MAKE
+LD_LIBRARY_PATH="$inst/lib" $MAKE check \
+ || cat-testlogs.sh
+LD_LIBRARY_PATH="$inst/lib" \
+ DISTCHECK_CONFIGURE_FLAGS="$CONFIG" \
+ $MAKE $PARALLEL_MAKE distcheck \
+ || cat-testlogs.sh
+
+$MAKE $PARALLEL_MAKE maintainer-clean
+osmo-clean-workspace.sh
diff --git a/contrib/libosmo-pfcp.spec.in b/contrib/libosmo-pfcp.spec.in
new file mode 100644
index 0000000..6af8319
--- /dev/null
+++ b/contrib/libosmo-pfcp.spec.in
@@ -0,0 +1,50 @@
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4113
+%define _lto_cflags %{nil}
+
+Name: libosmo-pfcp
+Version: @VERSION@
+Release: 0
+Summary: libosmo-pfcp: PFCP protocol encoding and decoding, and generic PFCP endpoint implementation
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Hardware/Mobile
+URL: https://osmocom.org/projects/libosmo-pfcp
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf-archive
+BuildRequires: automake >= 1.9
+BuildRequires: libtool >= 2
+BuildRequires: lksctp-tools-devel
+BuildRequires: pkgconfig >= 0.20
+%if 0%{?suse_version}
+BuildRequires: systemd-rpm-macros
+%endif
+BuildRequires: pkgconfig(libosmocore) >= 1.6.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.6.0
+BuildRequires: pkgconfig(libosmovty) >= 1.6.0
+BuildRequires: pkgconfig(talloc)
+%{?systemd_requires}
+
+%description
+libosmo-pfcp: PFCP protocol encoding and decoding, and generic PFCP endpoint implementation
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc AUTHORS README.md
+%{_bindir}/libosmo-pfcp
+
+%changelog