Starting with GNU make 4.4, build time have massively regressed
where before they would take 5m on amd64 now can take 2h40m. While this
seems clearly broken, the release notes are filled with notices for
breaking changes, and in particular the one for passing all make
variables down to the invoked programs executed via the «shell» GNU make
function, so it is not clear what is expected breakage and what is not.
This has been reported in Debian, but not yet upstream, and while it
seems like a clear regression, it's not clear what will be the upstream
take on it. For now apply workarounds that do not change semantics, and
which do not regress with older GNU make versions.
Use the GNU make «origin» function instead of «?=» which defaults to
defining a variable as a recursive one. Coerce already defined variables
into simple ones to avoid GNU make re-evaluating these variables for
each «shell» function invocation.
Ref: https://bugs.debian.org/1092051
Change-Id: I076fc05dd616918473a22e7e942fecfdc9851d47
(cherry picked from commit 887fb40f3f)
(cherry picked from commit 67a2b222c7)
Follow-up for commit eea3824725, remove further files and configuration
related to rtpengine-iptables removal.
Change-Id: I3bc9a2a452bd41fb346b7479e8b00e4cdedb93a6
*) Remove packaging for -gpu packages
*) Remove build profile restrictions, except for the build dependency
itself
*) Remove script to generate dh fragments for -gpu packages
*) Convert --cudecs switch to a path argument pointing to the .so
*) Don't link against libcudecs during build
*) Only include the single types.h header needed for usage as a plugin
*) Resolve all symbols during startup after loading the .so
Change-Id: Ide99eec2156d5d3be8c40594391cb1603add4b16
Since Debian/bookworm dh-dkms (debhelper addon for the Dynamic Kernel
Module System (DKMS)) is available with its virtual dh-sequence-dkms
package. This allows us to get rid of manual packaging work in
maintainer scripts and debian/rules.
Adjust backport scripts accordingly as dh-sequence-dkms and its dh-dkms
are available only as of Debian bookworm + Ubuntu kinetic and newer.
Ship debian/source/lintian-overrides to ignore lintian's:
E: ngcp-rtpengine source: missing-build-dependency-for-dh_-command dh_dkms => dkms
This dh-sequence-dkms vs dkms issue is only supported as of lintian
versions >=2.105.0, while current Debian/stable AKA bullseye provides
lintian v2.104.0, see https://bugs.debian.org/982834.
Closes: https://bugs.debian.org/1030227
Thanks: Andreas Beckmann <anbe@debian.org> for the bug report + initial patch
Change-Id: Ife1e976c88fbbe796bbd40225f682f0e5360a6d7
Switch from the unconditional installation of the xtables module to
do that through debhelper fragment files. This makes sure we only do
that whenever we are building these packages, and thus do not fail
to install into a non-existent directory.
Change-Id: Ib7d96a9636435d030c42f265214cc1546e373699
We have had DKMS support for a long time, which is easier to integrate
to, and manage as a user. As we have not been testing module-assistant
support and it's redundant with the DKMS support, let's just remove it.
Change-Id: Iff546a4a333a2e4e48fbc1e49fecee9bab3a0138
This package name is not used anywhere as a dependency, therefore it
makes no sense to list as a "provides"
Change-Id: I20db5308328b1c911495bf31417e4996a9824c3c
When we disable transcoding we should completely disable building the
rtpengine-recording daemon packages too. We accomplish that by using a
build-profile.
This also removes the Debianism from the upstream build system and moves
the setting to the Debian packaging.
Change-Id: Idf7783823d36b49ce03610fb1f4386afe5887029
- Stop copying debian/compat into the kernel source packages.
- Use dh_installsystemd instead of deprecated dh_systemd_*.
- Disable dwz as it cannot cope with some of the plugins generated.
Change-Id: Ibdc92e94955ef3c5d89b24fc341474236c49b986
We now use systemd presets, and always install a policy-rc.d script, so
there's no reason to disable these at package build time. Let's switch
to the Debian defaults, so that third-party users get these to work out
of the box, in case the want to build and install the packages.
Change-Id: I0b0af3ffa1fe4daa72562f07fd95b606f96c0f88
Move the Debian specific cleaning into a debian/clean file to avoid
having to add an override. And rely on the upstream Makefile which
should always be doing the correct job.
Change-Id: I6eb554428eafdcad13ea0490fca745ae72390f9c
We do not use a proper mount unit because that requires the mount point
to be encoded in the filename which is variable and depends on the value
coming from config.yml.
Change-Id: Ibb637c533c94bc3db119111460ca647a50a205af
Currently, every rtpengine will subscribe to redis-keyspace notification
so it will receive a notification when an call is inserted. If the call
is not already handeled by the rtpengine, the call will be restored.
The reason for this is to have in-place redundancy. Imagine you have
multiple rtpengines running, eachone will have all calls of the others.
When one rtpengine fails somehow, infrastructure guys use BGP in order to
'move' the IP address from one rtpengine to another. Thisone can handle
the new calls instantly since they're already recovered by
redis-notification feature.
Next step is internally identify those calls in order to prevent some
timers to delete the calls where no RTP flows. Second will be
something we call 'partitioning'. It means that the subscription
to a redis notify will only be for the keyspace a dedicated rtpengine
writes to. This leads to the point that you can make redundancy groups
(partitions) of the rtpengines.
Split out the debugging symbols from the main packages into
one single package named ngcp-mediaproxy-ng-dbg
Closes: https://bugtracker.sipwise.com/view.php?id=1825
From: Michael Prokop <mprokop@sipwise.com>
The default file is provided by templates. We
won't have questions regarding changed config
files on upgrades.
The init script will be provided via lsb-scripts.