NetworkManager/contrib/fedora/REQUIRED_PACKAGES
Martin Blanchard 8d7fde7d5c build: stop relying on intltool for i18n
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.
2022-06-27 09:28:15 +02:00

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