diff options
-rw-r--r-- | .gitlab-ci.yml | 3 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | actions/Makefile.am | 7 | ||||
-rw-r--r-- | actions/meson.build | 5 | ||||
-rw-r--r-- | actions/org.freedesktop.policykit.policy.in | 4 | ||||
-rwxr-xr-x | autogen.sh | 10 | ||||
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | data/Makefile.am | 5 | ||||
-rw-r--r-- | data/meson.build | 10 | ||||
-rw-r--r-- | gettext/Makefile.am | 4 | ||||
-rw-r--r-- | gettext/its/Makefile.am | 4 | ||||
-rw-r--r-- | gettext/its/polkit.its (renamed from data/polkit.its) | 0 | ||||
-rw-r--r-- | gettext/its/polkit.loc (renamed from data/polkit.loc) | 0 | ||||
-rw-r--r-- | meson.build | 14 | ||||
-rw-r--r-- | po/Makevars | 78 | ||||
-rw-r--r-- | po/POTFILES.in | 1 | ||||
-rw-r--r-- | po/meson.build | 6 | ||||
-rw-r--r-- | src/examples/Makefile.am | 7 | ||||
-rw-r--r-- | src/examples/meson.build | 5 | ||||
-rw-r--r-- | src/examples/org.freedesktop.policykit.examples.pkexec.policy.in | 4 |
20 files changed, 138 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6d0abb4..23cf0d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,8 +6,9 @@ variables: libtool autoconf automake + gettext + gettext-devel gtk-doc - intltool gobject-introspection-devel make libxslt diff --git a/Makefile.am b/Makefile.am index 1648bcc..199576a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = actions data src docs po +SUBDIRS = actions data gettext src docs po if BUILD_TEST SUBDIRS += test diff --git a/actions/Makefile.am b/actions/Makefile.am index 1709992..5a499a1 100644 --- a/actions/Makefile.am +++ b/actions/Makefile.am @@ -1,9 +1,10 @@ polkit_actiondir = $(datadir)/polkit-1/actions +polkit_action_in_files = org.freedesktop.policykit.policy.in +dist_polkit_action_DATA = $(polkit_action_in_files:.policy.in=.policy) -dist_polkit_action_DATA = org.freedesktop.policykit.policy - -@INTLTOOL_POLICY_RULE@ +org.freedesktop.policykit.policy: org.freedesktop.policykit.policy.in + $(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir)/gettext $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ #check: # $(top_builddir)/tools/polkit-policy-file-validate-1 $(top_srcdir)/policy/$(dist_polkit_action_DATA) diff --git a/actions/meson.build b/actions/meson.build index 26d2d2d..2abaaf3 100644 --- a/actions/meson.build +++ b/actions/meson.build @@ -1,10 +1,11 @@ policy = 'org.freedesktop.policykit.policy' -custom_target( +i18n.merge_file( policy, input: policy + '.in', output: '@BASENAME@', - command: intltool_xml_cmd, + po_dir: po_dir, + data_dirs: its_dir, install: true, install_dir: pk_pkgactiondir, ) diff --git a/actions/org.freedesktop.policykit.policy.in b/actions/org.freedesktop.policykit.policy.in index 7400b08..dc5c219 100644 --- a/actions/org.freedesktop.policykit.policy.in +++ b/actions/org.freedesktop.policykit.policy.in @@ -9,8 +9,8 @@ <vendor_url>http://www.freedesktop.org/wiki/Software/polkit/</vendor_url> <action id="org.freedesktop.policykit.exec"> - <_description>Run a program as another user</_description> - <_message>Authentication is required to run a program as another user</_message> + <description>Run a program as another user</description> + <message>Authentication is required to run a program as another user</message> <defaults> <allow_any>auth_admin</allow_any> <allow_inactive>auth_admin</allow_inactive> @@ -69,6 +69,13 @@ test -n "$NO_AUTOMAKE" || (autoreconf --version) < /dev/null > /dev/null 2>&1 || DIE=1 } +# if no automake, don't bother testing for autopoint +test -n "$NO_AUTOMAKE" || (autopoint --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have autopoint installed." + echo "You can get autopoint from ..." + DIE=1 +} if test "$DIE" -eq 1; then exit 1 @@ -103,13 +110,12 @@ esac echo "Running autoheader..." autoheader fi + autopoint --force echo "Running automake --gnu -Wno-portability $am_opt ..." automake --add-missing --gnu -Wno-portability $am_opt echo "Running autoconf ..." autoconf -intltoolize --copy --force --automake || exit 1 - cd "$olddir" conf_flags="--enable-maintainer-mode --enable-gtk-doc" diff --git a/configure.ac b/configure.ac index 9b03959..ecfee05 100644 --- a/configure.ac +++ b/configure.ac @@ -519,11 +519,13 @@ AM_CONDITIONAL(BUILD_EXAMPLES, test "x$enable_examples" = "xyes") # Internationalization # ******************** -IT_PROG_INTLTOOL([0.40.0]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8]) + GETTEXT_PACKAGE=polkit-1 -AC_SUBST([GETTEXT_PACKAGE]) -AM_GLIB_GNU_GETTEXT -AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain]) +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[gettext domain]) AC_ARG_VAR([SUID_CFLAGS], [CFLAGS used for binaries which are usually with the suid bit]) @@ -537,6 +539,8 @@ data/Makefile data/polkit-1 data/polkit-gobject-1.pc data/polkit-agent-1.pc +gettext/Makefile +gettext/its/Makefile src/Makefile src/polkit/Makefile src/polkitbackend/Makefile diff --git a/data/Makefile.am b/data/Makefile.am index e805260..6b045be 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -36,11 +36,6 @@ pkgconfig_DATA = polkit-gobject-1.pc polkit-agent-1.pc # ---------------------------------------------------------------------------------------------------- -itsdir = $(datadir)/gettext/its -dist_its_DATA = polkit.loc polkit.its - -# ---------------------------------------------------------------------------------------------------- - systemdservice_in_files = polkit.service.in if HAVE_SYSTEMD diff --git a/data/meson.build b/data/meson.build index cad7ccd..073bd98 100644 --- a/data/meson.build +++ b/data/meson.build @@ -26,16 +26,6 @@ if enable_pam ) endif -its_data = files( - 'polkit.its', - 'polkit.loc', -) - -install_data( - its_data, - install_dir: pk_datadir / 'gettext/its', -) - if enable_logind configure_file( input: 'polkit.service.in', diff --git a/gettext/Makefile.am b/gettext/Makefile.am new file mode 100644 index 0000000..3c088f3 --- /dev/null +++ b/gettext/Makefile.am @@ -0,0 +1,4 @@ + +SUBDIRS = its + +-include $(top_srcdir)/git.mk diff --git a/gettext/its/Makefile.am b/gettext/its/Makefile.am new file mode 100644 index 0000000..68d6d7a --- /dev/null +++ b/gettext/its/Makefile.am @@ -0,0 +1,4 @@ +itsdir = $(datadir)/gettext/its +dist_its_DATA = polkit.loc polkit.its + +-include $(top_srcdir)/git.mk diff --git a/data/polkit.its b/gettext/its/polkit.its index 1c37e6b..1c37e6b 100644 --- a/data/polkit.its +++ b/gettext/its/polkit.its diff --git a/data/polkit.loc b/gettext/its/polkit.loc index c7427ec..c7427ec 100644 --- a/data/polkit.loc +++ b/gettext/its/polkit.loc diff --git a/meson.build b/meson.build index 81715b5..6a6799e 100644 --- a/meson.build +++ b/meson.build @@ -47,12 +47,18 @@ source_root = meson.current_source_dir() build_root = meson.current_build_dir() data_dir = source_root / 'data' +its_dir = source_root / 'gettext' po_dir = source_root / 'po' -intltool_merge = find_program('intltool-merge') -intltool_cache = 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@'] +its_data = files( + 'gettext/its/polkit.its', + 'gettext/its/polkit.loc', +) + +install_data( + its_data, + install_dir: pk_datadir / 'gettext/its', +) top_inc = include_directories('.') diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..1cad43c --- /dev/null +++ b/po/Makevars @@ -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 = polkit-1 + +# 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 = polkit 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 = http://lists.freedesktop.org/mailman/listinfo/polkit-devel + +# 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 = no diff --git a/po/POTFILES.in b/po/POTFILES.in index ed9faa5..0e15629 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,5 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[encoding: UTF-8] actions/org.freedesktop.policykit.policy.in src/examples/org.freedesktop.policykit.examples.pkexec.policy.in src/programs/pkaction.c diff --git a/po/meson.build b/po/meson.build index 4d9ab58..f746417 100644 --- a/po/meson.build +++ b/po/meson.build @@ -1 +1,5 @@ -i18n.gettext(pk_api_name, preset: 'glib') +i18n.gettext( + pk_api_name, + data_dirs: data_dir, + preset: 'glib', +) diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am index 3ee373f..b7d885e 100644 --- a/src/examples/Makefile.am +++ b/src/examples/Makefile.am @@ -49,10 +49,11 @@ pk_example_frobnicate_LDADD = \ $(NULL) polkit_actiondir = $(datadir)/polkit-1/actions +polkit_action_in_files = org.freedesktop.policykit.examples.pkexec.policy.in +dist_polkit_action_DATA = $(polkit_action_in_files:.policy.in=.policy) -dist_polkit_action_DATA = org.freedesktop.policykit.examples.pkexec.policy - -@INTLTOOL_POLICY_RULE@ +org.freedesktop.policykit.examples.pkexec.policy: org.freedesktop.policykit.examples.pkexec.policy.in + $(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir)/gettext $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ #check: # $(top_builddir)/tools/polkit-policy-file-validate-1 $(top_srcdir)/policy/$(dist_polkit_action_DATA) diff --git a/src/examples/meson.build b/src/examples/meson.build index 5f33afc..c6305ab 100644 --- a/src/examples/meson.build +++ b/src/examples/meson.build @@ -1,10 +1,11 @@ policy = 'org.freedesktop.policykit.examples.pkexec.policy' -custom_target( +i18n.merge_file( policy, input: policy + '.in', output: '@BASENAME@', - command: intltool_xml_cmd, + po_dir: po_dir, + data_dirs: its_dir, install: true, install_dir: pk_pkgactiondir, ) diff --git a/src/examples/org.freedesktop.policykit.examples.pkexec.policy.in b/src/examples/org.freedesktop.policykit.examples.pkexec.policy.in index eab7729..ec52416 100644 --- a/src/examples/org.freedesktop.policykit.examples.pkexec.policy.in +++ b/src/examples/org.freedesktop.policykit.examples.pkexec.policy.in @@ -7,8 +7,8 @@ <vendor_url>http://www.freedesktop.org/wiki/Software/polkit/</vendor_url> <action id="org.freedesktop.policykit.example.pkexec.run-frobnicate"> - <_description>Run the polkit example program Frobnicate</_description> - <_message>Authentication is required to run the polkit example program Frobnicate (user=$(user), user.gecos=$(user.gecos), user.display=$(user.display), program=$(program), command_line=$(command_line))</_message> + <description>Run the polkit example program Frobnicate</description> + <message>Authentication is required to run the polkit example program Frobnicate (user=$(user), user.gecos=$(user.gecos), user.display=$(user.display), program=$(program), command_line=$(command_line))</message> <icon_name>audio-x-generic</icon_name> <!-- just an example --> <defaults> <allow_any>no</allow_any> |