merge: branch 'lr/gettext-2'

This is essentially work started by Martin Blanchard and improved by
Javier Jardón with some fixups.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1094
This commit is contained in:
Lubomir Rintel 2022-06-27 13:34:59 +02:00
commit e3c0679859
18 changed files with 141 additions and 153 deletions

6
.gitignore vendored
View file

@ -55,7 +55,6 @@ test-*.trs
/config.*
/config-extra.h
/configure
/intltool-*
/confdefs.h
/conftest.[ch]
@ -192,7 +191,6 @@ test-*.trs
/m4/intl.m4
/m4/intldir.m4
/m4/intlmacosx.m4
/m4/intltool.m4
/m4/intmax.m4
/m4/inttypes-pri.m4
/m4/inttypes_h.m4
@ -226,7 +224,6 @@ test-*.trs
/man/common.ent
/po/*.gmo
/po/.intltool-merge-cache
/po/NetworkManager.pot
/po/Makevars.template
/po/Rules-quot
@ -483,3 +480,6 @@ test-*.trs
/src/tests/test-systemd
/src/tests/test-utils
/src/tests/test-wired-defname
/intltool-*
/m4/intltool.m4
/po/.intltool-merge-cache

View file

@ -3,6 +3,7 @@
########################################
# #
# THIS FILE IS GENERATED, DO NOT EDIT #
# Edit .gitlab-ci/ci.template instead #
# #
########################################
@ -45,13 +46,13 @@ variables:
# changing these will force rebuilding the associated image
# Note: these tags have no meaning and are not tied to a particular NM version
#
# This is done by running `ci-fairy generate-template` and possibly bump
# This is done by running `ci-fairy generate-template` and possibly bumping
# ".default_tag".
FEDORA_TAG: '2022-06-25.1-c968ffde7c4c'
UBUNTU_TAG: '2022-06-25.1-91c79dfac3d1'
DEBIAN_TAG: '2022-06-25.1-91c79dfac3d1'
CENTOS_TAG: '2022-06-25.1-c968ffde7c4c'
ALPINE_TAG: '2022-06-25.1-58b83b32e0c4'
FEDORA_TAG: '2022-06-27.0-8441692e0ce9'
UBUNTU_TAG: '2022-06-27.0-d5ae0b779ff0'
DEBIAN_TAG: '2022-06-27.0-d5ae0b779ff0'
CENTOS_TAG: '2022-06-27.0-8441692e0ce9'
ALPINE_TAG: '2022-06-27.0-be0e42c19eb0'
FEDORA_EXEC: 'bash .gitlab-ci/fedora-install.sh'
UBUNTU_EXEC: 'bash .gitlab-ci/debian-install.sh'
@ -167,16 +168,6 @@ fedora:37@container-prep:
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
ubuntu:16.04@container-prep:
extends:
- .fdo.container-build@ubuntu
stage: prep
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: '16.04'
FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
FDO_DISTRIBUTION_EXEC: $UBUNTU_EXEC
ubuntu:18.04@container-prep:
extends:
- .fdo.container-build@ubuntu
@ -473,15 +464,6 @@ fedora:37@container-clean:
FDO_DISTRIBUTION_VERSION: '37'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
ubuntu:16.04@container-clean:
extends:
- .container-clean
variables:
GIT_STRATEGY: none
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/ubuntu/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
FDO_DISTRIBUTION_VERSION: '16.04'
FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
ubuntu:18.04@container-clean:
extends:
- .container-clean
@ -773,18 +755,6 @@ t_fedora:37:
- "fedora:37@container-prep"
when: manual
t_ubuntu:16.04:
extends:
- .build@template
- .fdo.distribution-image@ubuntu
- .nm_artifacts_debug
variables:
FDO_DISTRIBUTION_VERSION: '16.04'
FDO_DISTRIBUTION_TAG: $UBUNTU_TAG
needs:
- "ubuntu:16.04@container-prep"
when: manual
t_ubuntu:18.04:
extends:
- .build@template

View file

@ -5,6 +5,7 @@
########################################
# #
# THIS FILE IS GENERATED, DO NOT EDIT #
# Edit .gitlab-ci/ci.template instead #
# #
########################################
@ -33,7 +34,7 @@ variables:
# changing these will force rebuilding the associated image
# Note: these tags have no meaning and are not tied to a particular NM version
#
# This is done by running `ci-fairy generate-template` and possibly bump
# This is done by running `ci-fairy generate-template` and possibly bumping
# ".default_tag".
{% for distro in distributions %}
{{"%-13s"| format(distro.name.upper() + '_TAG:')}}'{{distro.tag}}-{{

View file

@ -8,7 +8,7 @@
#
# We're happy to rebuild all containers when one changes.
.default_tag: &default_tag '2022-06-25.1'
.default_tag: &default_tag '2022-06-27.0'
# The list of all distributions we want to create job for.
@ -30,7 +30,6 @@ distributions:
tag: *default_tag
base_type: debian
versions:
- '16.04'
- '18.04'
- '20.04'
- '22.04'

View file

@ -2,7 +2,6 @@
set -ex
grep -q '^VERSION=.16.04.[0-9]\+ LTS' /etc/os-release && IS_UBUNTU_1604=1 || IS_UBUNTU_1604=0
grep -q '^VERSION=.\(9 (stretch)\|18.04.[0-9]\+ LTS\)' /etc/os-release && IS_DEBIAN_9=1 || IS_DEBIAN_9=0
if [ $IS_DEBIAN_9 = 1 ]; then
@ -28,12 +27,7 @@ dbus-uuidgen --ensure
sed -i 's/^# \(pl_PL.UTF-8 .*\)$/\1/p' /etc/locale.gen || true
locale-gen pl_PL.UTF-8
if [ $IS_UBUNTU_1604 = 1 ]; then
pip3 install meson==0.53.2
contrib/scripts/nm-ci-install-valgrind-in-ubuntu1604.sh
else
pip3 install meson
fi
pip3 install meson
# iproute2 5.2.0 on debian:sid causes our unit tests to fail.
# Downgrade to a working version. See https://www.spinics.net/lists/netdev/msg584916.html

View file

@ -20,6 +20,9 @@ fi
do_clean() {
git clean -fdx
# "make -C update-po", run on "make dist" has a silly habit of
# modifying files in-tree. Lets undo that.
git checkout -- po/
}
uname -a

View file

@ -170,8 +170,6 @@ endif
dist: $(dist_configure_check) $(dist_dependencies)
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
###############################################################################
install-data-hook-dirs:
@ -213,9 +211,12 @@ polkit_policydir = $(datadir)/polkit-1/actions
dist_polkit_policy_in_in_files = \
data/org.freedesktop.NetworkManager.policy.in.in
polkit_policy_DATA = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy)
dist_polkit_policy_in_files = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy.in)
@INTLTOOL_POLICY_RULE@
polkit_policy_DATA = $(dist_polkit_policy_in_files:.policy.in=.policy)
$(polkit_policy_DATA): $(dist_polkit_policy_in_files)
$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
DISTCLEANFILES += $(polkit_policy_DATA)
@ -5603,9 +5604,6 @@ EXTRA_DIST += \
COPYING.LGPL \
COPYING.GFDL \
\
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
linker-script-binary.ver \
linker-script-devices.ver \
linker-script-settings.ver \

View file

@ -23,8 +23,7 @@ PKG_NAME=NetworkManager
cd $srcdir
gtkdocize
autopoint --force
AUTOPOINT='intltoolize --automake --copy' autoreconf --force --install --verbose
autoreconf --verbose --force --install
cd $olddir
if test -z "$NOCONFIGURE"; then

View file

@ -138,10 +138,10 @@ AC_CHECK_DECLS([getrandom],
dnl
dnl translation support
dnl
IT_PROG_INTLTOOL([0.40.0])
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.17])
# Remove AM_GNU_GETTEXT_VERSION once autoreconf supports REQUIRE_VERSION
AM_GNU_GETTEXT_VERSION([0.19.8])
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])
GETTEXT_PACKAGE=NetworkManager
AC_SUBST(GETTEXT_PACKAGE)

View file

@ -95,11 +95,3 @@ install_ignore_missing \
libgcrypt11-dev \
\
#end
# Old. Present in Ubuntu 16.04, not in Ubuntu 18.04
# software-properties-common
install_ignore_missing \
libgnutls-dev \
python-software-properties \
\
#end

View file

@ -58,7 +58,6 @@ install \
gnutls-devel \
gobject-introspection-devel \
gtk-doc \
intltool \
iptables \
jansson-devel \
libcurl-devel \

View file

@ -256,8 +256,7 @@ BuildRequires: meson
BuildRequires: automake
BuildRequires: autoconf
%endif
BuildRequires: intltool
BuildRequires: gettext-devel
BuildRequires: gettext-devel >= 0.19.8
BuildRequires: dbus-devel >= %{dbus_version}
BuildRequires: glib2-devel >= 2.40.0
@ -748,7 +747,6 @@ Preferably use nmcli instead.
gtkdocize
%endif
autoreconf --install --force
intltoolize --automake --copy --force
%configure \
--with-runstatedir=%{_rundir} \
--disable-silent-rules \

View file

@ -1,36 +0,0 @@
#!/bin/bash
set -exv
# Ubuntu 16.04 (trusty) ships a valgrind version where __get_cpuid() announces
# rdrand support, but later valgrind crashes with unsupported opcode.
#
# See https://bugs.kde.org/show_bug.cgi?id=353370#c9
# https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1501545
#
# We call rdrand for hash-tables of systemd:
# https://github.com/systemd/systemd/blob/e7b621ee1f1abfbcaae1cd17da4d815daf218679/src/basic/random-util.c#L36
#
# Work around that by installing valgrind from bionic.
grep -q 'PRETTY_NAME="Ubuntu 16.04.[0-9]\+ LTS"' /etc/os-release || exit 0
dpkg -s valgrind | grep -q 'Version: 1:3.11.0-1ubuntu4.2$' || exit 0
cat <<EOF > /etc/apt/sources.list.d/bionic1804.list
deb http://us.archive.ubuntu.com/ubuntu/ bionic main
EOF
cat <<EOF > /etc/apt/preferences.d/bionic1804.pref
Package: *
Pin: release n=bionic
Pin-Priority: -10
Package: valgrind
Pin: release n=bionic
Pin-Priority: 500
EOF
apt-get update
apt-get install valgrind -y

View file

@ -59,11 +59,10 @@ if enable_polkit
configuration: data_conf,
)
custom_target(
policy,
i18n.merge_file(
input: policy_in,
output: '@BASENAME@',
command: intltool_xml_cmd,
po_dir: po_dir,
install: true,
install_dir: polkit_gobject_policydir,
)

View file

@ -10,8 +10,8 @@
<icon_name>nm-icon</icon_name>
<action id="org.freedesktop.NetworkManager.enable-disable-network">
<_description>Enable or disable system networking</_description>
<_message>System policy prevents enabling or disabling system networking</_message>
<description>Enable or disable system networking</description>
<message>System policy prevents enabling or disabling system networking</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -19,8 +19,8 @@
</action>
<action id="org.freedesktop.NetworkManager.reload">
<_description>Reload NetworkManager configuration</_description>
<_message>System policy prevents reloading NetworkManager</_message>
<description>Reload NetworkManager configuration</description>
<message>System policy prevents reloading NetworkManager</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
@ -29,8 +29,8 @@
</action>
<action id="org.freedesktop.NetworkManager.sleep-wake">
<_description>Put NetworkManager to sleep or wake it up (should only be used by system power management)</_description>
<_message>System policy prevents putting NetworkManager to sleep or waking it up</_message>
<description>Put NetworkManager to sleep or wake it up (should only be used by system power management)</description>
<message>System policy prevents putting NetworkManager to sleep or waking it up</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
@ -38,8 +38,8 @@
</action>
<action id="org.freedesktop.NetworkManager.enable-disable-wifi">
<_description>Enable or disable Wi-Fi devices</_description>
<_message>System policy prevents enabling or disabling Wi-Fi devices</_message>
<description>Enable or disable Wi-Fi devices</description>
<message>System policy prevents enabling or disabling Wi-Fi devices</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -47,8 +47,8 @@
</action>
<action id="org.freedesktop.NetworkManager.enable-disable-wwan">
<_description>Enable or disable mobile broadband devices</_description>
<_message>System policy prevents enabling or disabling mobile broadband devices</_message>
<description>Enable or disable mobile broadband devices</description>
<message>System policy prevents enabling or disabling mobile broadband devices</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -56,8 +56,8 @@
</action>
<action id="org.freedesktop.NetworkManager.enable-disable-wimax">
<_description>Enable or disable WiMAX mobile broadband devices</_description>
<_message>System policy prevents enabling or disabling WiMAX mobile broadband devices</_message>
<description>Enable or disable WiMAX mobile broadband devices</description>
<message>System policy prevents enabling or disabling WiMAX mobile broadband devices</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -65,8 +65,8 @@
</action>
<action id="org.freedesktop.NetworkManager.network-control">
<_description>Allow control of network connections</_description>
<_message>System policy prevents control of network connections</_message>
<description>Allow control of network connections</description>
<message>System policy prevents control of network connections</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>yes</allow_inactive>
@ -75,8 +75,8 @@
</action>
<action id="org.freedesktop.NetworkManager.wifi.scan">
<_description>Allow control of Wi-Fi scans</_description>
<_message>System policy prevents Wi-Fi scans</_message>
<description>Allow control of Wi-Fi scans</description>
<message>System policy prevents Wi-Fi scans</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>yes</allow_inactive>
@ -85,8 +85,8 @@
</action>
<action id="org.freedesktop.NetworkManager.wifi.share.protected">
<_description>Connection sharing via a protected Wi-Fi network</_description>
<_message>System policy prevents sharing connections via a protected Wi-Fi network</_message>
<description>Connection sharing via a protected Wi-Fi network</description>
<message>System policy prevents sharing connections via a protected Wi-Fi network</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -94,8 +94,8 @@
</action>
<action id="org.freedesktop.NetworkManager.wifi.share.open">
<_description>Connection sharing via an open Wi-Fi network</_description>
<_message>System policy prevents sharing connections via an open Wi-Fi network</_message>
<description>Connection sharing via an open Wi-Fi network</description>
<message>System policy prevents sharing connections via an open Wi-Fi network</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -103,8 +103,8 @@
</action>
<action id="org.freedesktop.NetworkManager.settings.modify.own">
<_description>Modify personal network connections</_description>
<_message>System policy prevents modification of personal network settings</_message>
<description>Modify personal network connections</description>
<message>System policy prevents modification of personal network settings</message>
<defaults>
<allow_any>auth_self_keep</allow_any>
<allow_inactive>yes</allow_inactive>
@ -113,8 +113,8 @@
</action>
<action id="org.freedesktop.NetworkManager.settings.modify.system">
<_description>Modify network connections for all users</_description>
<_message>System policy prevents modification of network settings for all users</_message>
<description>Modify network connections for all users</description>
<message>System policy prevents modification of network settings for all users</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>@NM_MODIFY_SYSTEM_POLICY@</allow_inactive>
@ -123,8 +123,8 @@
</action>
<action id="org.freedesktop.NetworkManager.settings.modify.hostname">
<_description>Modify persistent system hostname</_description>
<_message>System policy prevents modification of the persistent system hostname</_message>
<description>Modify persistent system hostname</description>
<message>System policy prevents modification of the persistent system hostname</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
@ -133,8 +133,8 @@
</action>
<action id="org.freedesktop.NetworkManager.settings.modify.global-dns">
<_description>Modify persistent global DNS configuration</_description>
<_message>System policy prevents modification of the persistent global DNS configuration</_message>
<description>Modify persistent global DNS configuration</description>
<message>System policy prevents modification of the persistent global DNS configuration</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
@ -143,8 +143,8 @@
</action>
<action id="org.freedesktop.NetworkManager.checkpoint-rollback">
<_description>Perform a checkpoint or rollback of interfaces configuration</_description>
<_message>System policy prevents the creation of a checkpoint or its rollback</_message>
<description>Perform a checkpoint or rollback of interfaces configuration</description>
<message>System policy prevents the creation of a checkpoint or its rollback</message>
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
@ -153,8 +153,8 @@
</action>
<action id="org.freedesktop.NetworkManager.enable-disable-statistics">
<_description>Enable or disable device statistics</_description>
<_message>System policy prevents enabling or disabling device statistics</_message>
<description>Enable or disable device statistics</description>
<message>System policy prevents enabling or disabling device statistics</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
@ -162,8 +162,8 @@
</action>
<action id="org.freedesktop.NetworkManager.enable-disable-connectivity-check">
<_description>Enable or disable connectivity checking</_description>
<_message>System policy prevents enabling or disabling connectivity checking</_message>
<description>Enable or disable connectivity checking</description>
<message>System policy prevents enabling or disabling connectivity checking</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>

View file

@ -78,11 +78,6 @@ build_root = meson.current_build_dir()
po_dir = join_paths(meson.source_root(), 'po')
intltool_merge = find_program('intltool-merge')
intltool_cache = join_paths(po_dir, '.intltool-merge-cache')
intltool_desktop_cmd = [intltool_merge, '-d', '-u', '-c', intltool_cache, po_dir, '@INPUT@', '@OUTPUT@']
intltool_xml_cmd = [intltool_merge, '-x', '-u', '-c', intltool_cache, po_dir, '@INPUT@', '@OUTPUT@']
top_inc = include_directories('.')
perl = find_program('perl')

78
po/Makevars Normal file
View file

@ -0,0 +1,78 @@
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = The NetworkManager Authors.
# This tells whether or not to prepend "GNU " prefix to the package
# name that gets inserted into the header of the $(DOMAIN).pot file.
# Possible values are "yes", "no", or empty. If it is empty, try to
# detect it automatically by scanning the files in $(top_srcdir) for
# "GNU packagename" string.
PACKAGE_GNU = no
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context. Possible values are "yes" and "no". Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = yes
# These options get passed to msgmerge.
# Useful options are in particular:
# --previous to keep previous msgids of translated messages,
# --quiet to reduce the verbosity.
MSGMERGE_OPTIONS =
# These options get passed to msginit.
# If you want to disable line wrapping when writing PO files, add
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
# MSGINIT_OPTIONS.
MSGINIT_OPTIONS =
# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
# has changed. Possible values are "yes" and "no". Set this to no if
# the POT file is checked in the repository and the version control
# program ignores timestamps.
PO_DEPENDS_ON_POT = no
# This tells whether or not to forcibly update $(DOMAIN).pot and
# regenerate PO files on "make dist". Possible values are "yes" and
# "no". Set this to no if the POT file and PO files are maintained
# externally.
DIST_DEPENDS_ON_UPDATE_PO = yes

View file

@ -1,4 +1,3 @@
[encoding: UTF-8]
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
data/org.freedesktop.NetworkManager.policy.in.in