mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-06 03:28:03 +02:00
Recent gettext version can extract and merge back strings from and to various file formats, no need for intltool anymore. https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/133 https://github.com/NetworkManager/NetworkManager/pull/303 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/96 Clarification about the use of AM_GNU_GETTEXT_REQUIRE_VERSION: In configure.ac, specify the minimum gettext version we require, rather than the exact one. This fixes a situation where the autoconf macros used for gettext will be the latest available on the system (for example, 0.20); but the copied-in Makefile.in.in will be for the exact version specified in configure.ac (in this case, 0.19). In that situation, the gettext build rules will error out at `make` time with the message: *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.19 but the autoconf macros are from gettext version 0.20 Avoid that by specifying a minimum version dependency rather than an exact one. This should not cause problems as we haven’t committed any generated or external gettext files into git, so each developer will end up regenerating the build system for their system’s version of gettext, as expected. See the subsection of https://www.gnu.org/software/gettext/manual/html_node/Version-Control-Issues.html for more information. Note that autoreconf currently doesn’t recognise AM_GNU_GETTEXT_REQUIRE_VERSION, so we must continue also using AM_GNU_GETTEXT_VERSION. autopoint will ignore the latter if the former is present. See https://lists.gnu.org/archive/html/autoconf-patches/2015-10/msg00000.html.
100 lines
2 KiB
Bash
Executable file
100 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# A list of packages useful/needed to build and develop
|
|
# NetworkManager on Fedora and RHEL.
|
|
#
|
|
# Not all of these packages are available, depending
|
|
# on your distribution/release. But yum will happily
|
|
# skip them.
|
|
#
|
|
# Not all of these packages are strictly speaking necessary.
|
|
# This is a generous list of related packages.
|
|
|
|
set -xe
|
|
|
|
DNF="$(command -v dnf &>/dev/null && echo dnf || echo yum)"
|
|
|
|
install() {
|
|
if [ "$NM_INSTALL" != "" ]; then
|
|
$NM_INSTALL "$@"
|
|
else
|
|
sudo "$DNF" install -y "$@"
|
|
fi
|
|
}
|
|
|
|
install_ignore_missing() {
|
|
for p; do
|
|
install "$p" || :
|
|
done
|
|
}
|
|
|
|
if test "$NM_NO_EXTRA" != 1; then
|
|
# these packages are convenient for developing, but not necessary
|
|
# for CI testing.
|
|
EXTRA_PACKAGES=(
|
|
bash-completion \
|
|
cscope \
|
|
)
|
|
else
|
|
EXTRA_PACKAGES=()
|
|
fi
|
|
|
|
install \
|
|
/usr/bin/clang-format \
|
|
/usr/bin/xargs \
|
|
ModemManager-devel \
|
|
ModemManager-glib-devel \
|
|
audit-libs-devel \
|
|
bluez-libs-devel \
|
|
clang \
|
|
dbus-devel \
|
|
dbus-x11 \
|
|
dhclient \
|
|
firewalld-filesystem \
|
|
gcc-c++ \
|
|
gettext-devel \
|
|
git \
|
|
glib2-doc \
|
|
gnutls-devel \
|
|
gobject-introspection-devel \
|
|
gtk-doc \
|
|
iptables \
|
|
jansson-devel \
|
|
libcurl-devel \
|
|
libndp-devel \
|
|
libselinux-devel \
|
|
libtool \
|
|
libuuid-devel \
|
|
make \
|
|
meson \
|
|
mobile-broadband-provider-info-devel \
|
|
newt-devel \
|
|
nss-devel \
|
|
polkit-devel \
|
|
ppp \
|
|
ppp-devel \
|
|
python3-dbus \
|
|
python3-gobject \
|
|
readline-devel \
|
|
rpm-build \
|
|
systemd-devel \
|
|
teamd-devel \
|
|
util-linux \
|
|
vala \
|
|
vala-devel \
|
|
valgrind \
|
|
which \
|
|
"${EXTRA_PACKAGES[@]}"
|
|
|
|
# some packages don't exist in certain distributions. Install them one-by-one, and ignore errors.
|
|
install_ignore_missing \
|
|
black \
|
|
dbus-python \
|
|
iproute-tc \
|
|
libasan \
|
|
libpsl-devel \
|
|
libubsan \
|
|
pygobject3-base \
|
|
python-gobject-base \
|
|
qt-devel \
|
|
#end
|