.memdump
.sc-start-sc_*
.ycm_extra_conf.py
-/ABOUT-NLS
/AUTHORS
/ChangeLog
/GNUmakefile
/maint.mk
/mingw-libvirt.spec
/mkinstalldirs
-/po/*
+/po/*gmo
/proxy/
/python/
/run
!/gnulib/lib/Makefile.am
!/gnulib/tests/Makefile.am
!/m4/virt-*.m4
-!/po/*.po
-!/po/POTFILES.in
-!/po/libvirt.pot
--- /dev/null
+po/README.md
\ No newline at end of file
expected_hash=$(cat "$state_file" 2>/dev/null)
actual_hash=$(gnulib_hash "$no_git")
- if test "$actual_hash" = "$expected_hash" && \
- test -f po/Makevars && test -f AUTHORS; then
+ if test "$actual_hash" = "$expected_hash" && test -f AUTHORS; then
# The gnulib hash matches our expectations, and all the files
# that can only be generated through bootstrap are present:
# we just need to run autoreconf. Unless we're performing a
getpass
getpeername
getsockname
-gettext-h
gettimeofday
gitlog-to-changelog
gnumakefile
warnings
'
-# Additional xgettext options to use. Use "\\\newline" to break lines.
-XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
- --flag=virAsprintf:2:c-format\\\
- --from-code=UTF-8\\\
-'
-
-# This is not a GNU package, so the default bug address is invalid,
-# and the translation project is not in use.
-MSGID_BUGS_ADDRESS=libvir-list@redhat.com
-COPYRIGHT_HOLDER='Red Hat, Inc.'
SKIP_PO=true
# Enable copy-mode for MSYS/MinGW. MSYS' ln doesn't work well in the way
copy=true
fi
-# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
-# appears in configure.ac, exclude some unnecessary files.
-# Without grep's -E option (not portable enough, pre-configure),
-# the following test is ugly. Also, this depends on the existence
-# of configure.ac, not the obsolescent-named configure.in. But if
-# you're using this infrastructure, you should care about such things.
-
-gettext_external=0
-grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
- gettext_external=1
-grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
- gettext_external=1
-
-if test $gettext_external = 1; then
- # Gettext supplies these files, but we don't need them since
- # we don't have an intl subdirectory.
- excluded_files='
- m4/glibc2.m4
- m4/intdiv0.m4
- m4/lcmessage.m4
- m4/uintmax_t.m4
- m4/ulonglong.m4
- m4/visibility.m4
- '
-fi
# Tell gnulib to:
# require LGPLv2+
buildreq="\
autoconf 2.59
automake 1.9.6
-autopoint -
-gettext 0.17
git 1.5.5
gzip -
libtool -
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
LIBVIRT_ARG_NETCF
+LIBVIRT_ARG_NLS
LIBVIRT_ARG_NSS
LIBVIRT_ARG_NUMACTL
LIBVIRT_ARG_OPENWSMAN
LIBVIRT_CHECK_LIBXML
LIBVIRT_CHECK_MACVTAP
LIBVIRT_CHECK_NETCF
+LIBVIRT_CHECK_NLS
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
LIBVIRT_CHECK_OPENWSMAN
fi
AM_CONDITIONAL([WITH_CIL],[test "$enable_test_locking" = "yes"])
-dnl Check for gettext - don't go any newer than what RHEL 5 supports
-dnl
-dnl save and restore CPPFLAGS around gettext check as the internal iconv
-dnl check might leave -I/usr/local/include in CPPFLAGS on FreeBSD resulting
-dnl in the build picking up previously installed libvirt/libvirt.h instead
-dnl of the correct one from the source tree.
-dnl compute the difference between save_CPPFLAGS and CPPFLAGS and append it
-dnl to INCLUDES in order to preserve changes made by gettext but in a place
-dnl that does not break the build
-save_CPPFLAGS="$CPPFLAGS"
-AM_GNU_GETTEXT_VERSION([0.17])
-AM_GNU_GETTEXT([external])
-GETTEXT_CPPFLAGS=
-if test "x$save_CPPFLAGS" != "x$CPPFLAGS"; then
- set dummy $CPPFLAGS; shift
- for var
- do
- case " $var " in
- " $save_CPPFLAGS ") ;;
- *) GETTEXT_CPPFLAGS="$GETTEXT_CPPFLAGS $var" ;;
- esac
- done
-fi
-CPPFLAGS="$save_CPPFLAGS"
-AC_SUBST([GETTEXT_CPPFLAGS])
-
-ALL_LINGUAS=`cd "$srcdir/po" > /dev/null && ls *.po | sed 's+\.po$++'`
+LIBVIRT_GETTEXT
dnl Cygwin, MinGW and MSVC checks
LIBVIRT_WIN_CHECK_COMMON
src/libvirt-qemu.pc \
src/libvirt-lxc.pc \
libvirt.spec mingw-libvirt.spec \
- po/Makefile.in \
+ po/Makefile \
include/libvirt/libvirt-common.h \
examples/Makefile \
tests/Makefile \
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
+LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
--- /dev/null
+dnl gettext utilities
+dnl
+dnl Copyright (C) 2018 Red Hat, Inc.
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library. If not, see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_DEFUN([LIBVIRT_ARG_NLS],[
+ LIBVIRT_ARG_ENABLE([NLS], [NLS], [check])
+])
+
+AC_DEFUN([LIBVIRT_CHECK_NLS],[
+ if test "x$enable_nls" != "xno"
+ then
+ AC_CHECK_FUNC([gettext], [], [
+ AC_CHECK_LIB([intl], [gettext], [], [
+ if test "x$enable_nls" == "xcheck"
+ then
+ enable_nls=no
+ else
+ AC_MSG_ERROR([gettext() is required to build libvirt]")
+ fi
+ ])
+ ])
+ fi
+
+ if test "x$enable_nls" != "xno"
+ then
+ AC_CHECK_HEADERS([libintl.h], [enable_nls=yes],[
+ if test "x$enable_nls" == "xcheck"
+ then
+ enable_nls=no
+ else
+ AC_MSG_ERROR([libintl.h is required to build libvirt]")
+ fi
+ ])
+ fi
+
+ dnl GNU gettext tools (optional).
+ AC_CHECK_PROG([XGETTEXT], [xgettext], [xgettext], [no])
+ AC_CHECK_PROG([MSGFMT], [msgfmt], [msgfmt], [no])
+ AC_CHECK_PROG([MSGMERGE], [msgmerge], [msgmerge], [no])
+
+ dnl Check they are the GNU gettext tools.
+ AC_MSG_CHECKING([msgfmt is GNU tool])
+ if $MSGFMT --version >/dev/null 2>&1 && $MSGFMT --version | grep -q 'GNU gettext'; then
+ msgfmt_is_gnu=yes
+ else
+ msgfmt_is_gnu=no
+ fi
+ AC_MSG_RESULT([$msgfmt_is_gnu])
+ AM_CONDITIONAL([HAVE_GNU_GETTEXT_TOOLS],
+ [test "x$XGETTEXT" != "xno" && test "x$MSGFMT" != "xno" && \
+ test "x$MSGMERGE" != "xno" && test "x$msgfmt_is_gnu" != "xno"])
+])
+
+AC_DEFUN([LIBVIRT_RESULT_NLS],[
+ LIBVIRT_RESULT([NLS], [$enable_nls])
+])
--- /dev/null
+DOMAIN = $(PACKAGE_NAME)
+COPYRIGHT_HOLDER = The Libvirt authors
+MSGID_BUGS_ADDRESS = https://libvirt.org/bugs.html
+
+LANGS := \
+ af am anp ar as ast bal be bg bn_IN \
+ bn bo br brx bs ca cs cy da de_CH \
+ de el en_GB eo es et eu fa fi \
+ fr gl gu he hi hr hu ia \
+ id ilo is it ja ka kk km kn ko \
+ kw_GB kw@kkcor kw kw@uccor ky lt lv mai mk ml \
+ mn mr ms nb nds ne nl nn nso \
+ or pa pl pt_BR pt ro ru si sk sl \
+ sq sr@latin sr sv ta te tg th tr tw \
+ uk ur vi wba yo zh_CN zh_HK zh_TW zu
+
+
+POTFILE_DEPS := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES)
+POTFILE := $(DOMAIN).pot
+POFILES := $(LANGS:%=%.po)
+GMOFILES := $(LANGS:%=%.gmo)
+
+EXTRA_DIST = \
+ POTFILES \
+ $(POTFILE) \
+ $(POFILES) \
+ $(GMOFILES)
+
+if HAVE_GNU_GETTEXT_TOOLS
+
+XGETTEXT_ARGS = \
+ --default-domain=$(DOMAIN) \
+ --from-code=utf-8 \
+ --add-comments=TRANSLATORS: \
+ --keyword=_ --keyword=N_ \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$(PACKAGE_NAME)" \
+ --package-version="$(PACKAGE_VERSION)" \
+ --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \
+ --directory=$(top_srcdir) \
+ $(NULL)
+
+SED_PO_FIXUP_ARGS = \
+ -e "s|text/plain; charset=CHARSET|text/plain; charset=UTF-8|g" \
+ -e "s|SOME DESCRIPTIVE TITLE|Libvirt package strings|g" \
+ -e "s|Copyright (C) YEAR|Copyright (C) $$(date +'%Y')|" \
+ $(NULL)
+
+
+# Although they're in EXTRA_DIST, we still need to
+# copy these again, because update-gmo will change
+# their content, and dist-hook runs after the
+# things in EXTRA_DIST are copied.
+dist-hook: $(GMOFILES)
+ cp -f $(POTFILE:%=$(srcdir)/%) $(distdir)/
+ cp -f $(POFILES:%=$(srcdir)/%) $(distdir)/
+ cp -f $(GMOFILES:%=$(srcdir)/%) $(distdir)/
+
+update-po: $(POFILES)
+
+update-gmo: $(GMOFILES)
+
+$(POTFILE): POTFILES $(POTFILE_DEPS)
+ $(XGETTEXT) -o $(srcdir)/$@-t $(XGETTEXT_ARGS) \
+ --files-from=$(abs_srcdir)/POTFILES
+ $(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $@
+ rm -f $@-t
+
+%.po: $(POTFILE)
+ cd $(srcdir) && \
+ $(MSGMERGE) --backup=off --no-fuzzy-matching --update $@ $(POTFILE)
+
+%.gmo: %.po
+ rm -f $(srcdir)/$@ $@-t
+ $(MSGFMT) -c -o $@-t $(srcdir)/$<
+ mv $@-t $(srcdir)/$@
+
+.PRECIOUS: $(POTFILE) $(POFILES)
+
+endif HAVE_GNU_GETTEXT_TOOLS
+
+# Cannot use 'localedir' since this conflicts with autoconf.
+langinstdir = $(datadir)/locale
+
+install-data-hook: $(GMOFILES)
+ mkdir -p $(DESTDIR)$(langinstdir)
+ for lang in $(LANGS); do \
+ d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
+ mkdir -p $$d; \
+ install -m 0644 $(srcdir)/$$lang.gmo $$d/$(DOMAIN).mo; \
+ done
+
+uninstall-hook:
+ for lang in $(LANGS); do \
+ d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
+ rm -f $$d/$(DOMAIN).mo; \
+ done
--- /dev/null
+gnulib/lib/gai_strerror.c
+gnulib/lib/getopt.c
+gnulib/lib/regcomp.c
+src/access/viraccessdriverpolkit.c
+src/access/viraccessmanager.c
+src/admin/admin_server.c
+src/admin/admin_server_dispatch.c
+src/admin/admin_server_dispatch_stubs.h
+src/bhyve/bhyve_capabilities.c
+src/bhyve/bhyve_command.c
+src/bhyve/bhyve_device.c
+src/bhyve/bhyve_domain.c
+src/bhyve/bhyve_driver.c
+src/bhyve/bhyve_monitor.c
+src/bhyve/bhyve_parse_command.c
+src/bhyve/bhyve_process.c
+src/conf/capabilities.c
+src/conf/cpu_conf.c
+src/conf/device_conf.c
+src/conf/domain_addr.c
+src/conf/domain_capabilities.c
+src/conf/domain_conf.c
+src/conf/domain_event.c
+src/conf/interface_conf.c
+src/conf/netdev_bandwidth_conf.c
+src/conf/netdev_vlan_conf.c
+src/conf/netdev_vport_profile_conf.c
+src/conf/network_conf.c
+src/conf/networkcommon_conf.c
+src/conf/node_device_conf.c
+src/conf/numa_conf.c
+src/conf/nwfilter_conf.c
+src/conf/nwfilter_params.c
+src/conf/object_event.c
+src/conf/secret_conf.c
+src/conf/snapshot_conf.c
+src/conf/storage_adapter_conf.c
+src/conf/storage_conf.c
+src/conf/virchrdev.c
+src/conf/virdomainobjlist.c
+src/conf/virnetworkobj.c
+src/conf/virnodedeviceobj.c
+src/conf/virnwfilterobj.c
+src/conf/virsavecookie.c
+src/conf/virsecretobj.c
+src/conf/virstorageobj.c
+src/cpu/cpu.c
+src/cpu/cpu_arm.c
+src/cpu/cpu_map.c
+src/cpu/cpu_ppc64.c
+src/cpu/cpu_s390.c
+src/cpu/cpu_x86.c
+src/datatypes.c
+src/driver.c
+src/esx/esx_driver.c
+src/esx/esx_network_driver.c
+src/esx/esx_storage_backend_iscsi.c
+src/esx/esx_storage_backend_vmfs.c
+src/esx/esx_storage_driver.c
+src/esx/esx_stream.c
+src/esx/esx_util.c
+src/esx/esx_vi.c
+src/esx/esx_vi_methods.c
+src/esx/esx_vi_types.c
+src/hyperv/hyperv_driver.c
+src/hyperv/hyperv_util.c
+src/hyperv/hyperv_wmi.c
+src/interface/interface_backend_netcf.c
+src/interface/interface_backend_udev.c
+src/internal.h
+src/libvirt-admin.c
+src/libvirt-domain-snapshot.c
+src/libvirt-domain.c
+src/libvirt-host.c
+src/libvirt-lxc.c
+src/libvirt-network.c
+src/libvirt-nodedev.c
+src/libvirt-nwfilter.c
+src/libvirt-qemu.c
+src/libvirt-secret.c
+src/libvirt-storage.c
+src/libvirt-stream.c
+src/libvirt.c
+src/libxl/libxl_capabilities.c
+src/libxl/libxl_conf.c
+src/libxl/libxl_domain.c
+src/libxl/libxl_driver.c
+src/libxl/libxl_migration.c
+src/locking/lock_daemon.c
+src/locking/lock_daemon_dispatch.c
+src/locking/lock_driver_lockd.c
+src/locking/lock_driver_sanlock.c
+src/locking/lock_manager.c
+src/locking/sanlock_helper.c
+src/logging/log_daemon.c
+src/logging/log_daemon_dispatch.c
+src/logging/log_handler.c
+src/logging/log_manager.c
+src/lxc/lxc_cgroup.c
+src/lxc/lxc_conf.c
+src/lxc/lxc_container.c
+src/lxc/lxc_controller.c
+src/lxc/lxc_domain.c
+src/lxc/lxc_driver.c
+src/lxc/lxc_fuse.c
+src/lxc/lxc_hostdev.c
+src/lxc/lxc_native.c
+src/lxc/lxc_process.c
+src/network/bridge_driver.c
+src/network/bridge_driver_linux.c
+src/network/leaseshelper.c
+src/node_device/node_device_driver.c
+src/node_device/node_device_hal.c
+src/node_device/node_device_udev.c
+src/nwfilter/nwfilter_dhcpsnoop.c
+src/nwfilter/nwfilter_driver.c
+src/nwfilter/nwfilter_ebiptables_driver.c
+src/nwfilter/nwfilter_gentech_driver.c
+src/nwfilter/nwfilter_learnipaddr.c
+src/openvz/openvz_conf.c
+src/openvz/openvz_driver.c
+src/openvz/openvz_util.c
+src/phyp/phyp_driver.c
+src/qemu/qemu_agent.c
+src/qemu/qemu_alias.c
+src/qemu/qemu_block.c
+src/qemu/qemu_capabilities.c
+src/qemu/qemu_cgroup.c
+src/qemu/qemu_command.c
+src/qemu/qemu_conf.c
+src/qemu/qemu_domain.c
+src/qemu/qemu_domain_address.c
+src/qemu/qemu_driver.c
+src/qemu/qemu_hostdev.c
+src/qemu/qemu_hotplug.c
+src/qemu/qemu_interface.c
+src/qemu/qemu_migration.c
+src/qemu/qemu_migration_cookie.c
+src/qemu/qemu_migration_params.c
+src/qemu/qemu_monitor.c
+src/qemu/qemu_monitor_json.c
+src/qemu/qemu_monitor_text.c
+src/qemu/qemu_parse_command.c
+src/qemu/qemu_process.c
+src/qemu/qemu_qapi.c
+src/remote/remote_client_bodies.h
+src/remote/remote_daemon.c
+src/remote/remote_daemon_config.c
+src/remote/remote_daemon_dispatch.c
+src/remote/remote_daemon_dispatch_stubs.h
+src/remote/remote_daemon_dispatch_qemu_stubs.h
+src/remote/remote_daemon_stream.c
+src/remote/remote_driver.c
+src/rpc/virkeepalive.c
+src/rpc/virnetclient.c
+src/rpc/virnetclientprogram.c
+src/rpc/virnetclientstream.c
+src/rpc/virnetdaemon.c
+src/rpc/virnetlibsshsession.c
+src/rpc/virnetmessage.c
+src/rpc/virnetsaslcontext.c
+src/rpc/virnetserver.c
+src/rpc/virnetserverclient.c
+src/rpc/virnetservermdns.c
+src/rpc/virnetserverprogram.c
+src/rpc/virnetserverservice.c
+src/rpc/virnetsocket.c
+src/rpc/virnetsshsession.c
+src/rpc/virnettlscontext.c
+src/secret/secret_driver.c
+src/security/security_apparmor.c
+src/security/security_dac.c
+src/security/security_driver.c
+src/security/security_manager.c
+src/security/security_selinux.c
+src/security/virt-aa-helper.c
+src/storage/parthelper.c
+src/storage/storage_backend.c
+src/storage/storage_backend_disk.c
+src/storage/storage_backend_fs.c
+src/storage/storage_backend_gluster.c
+src/storage/storage_backend_iscsi.c
+src/storage/storage_backend_logical.c
+src/storage/storage_backend_mpath.c
+src/storage/storage_backend_rbd.c
+src/storage/storage_backend_scsi.c
+src/storage/storage_backend_sheepdog.c
+src/storage/storage_backend_vstorage.c
+src/storage/storage_backend_zfs.c
+src/storage/storage_driver.c
+src/storage/storage_util.c
+src/test/test_driver.c
+src/uml/uml_conf.c
+src/uml/uml_driver.c
+src/util/iohelper.c
+src/util/viralloc.c
+src/util/virarptable.c
+src/util/viraudit.c
+src/util/virauth.c
+src/util/virauthconfig.c
+src/util/virbitmap.c
+src/util/virbuffer.c
+src/util/vircgroup.c
+src/util/virclosecallbacks.c
+src/util/vircommand.c
+src/util/virconf.c
+src/util/vircrypto.c
+src/util/virdbus.c
+src/util/virdnsmasq.c
+src/util/virerror.c
+src/util/virerror.h
+src/util/vireventpoll.c
+src/util/virfcp.c
+src/util/virfdstream.c
+src/util/virfile.c
+src/util/virfilecache.c
+src/util/virfirewall.c
+src/util/virfirmware.c
+src/util/virhash.c
+src/util/virhook.c
+src/util/virhostcpu.c
+src/util/virhostdev.c
+src/util/virhostmem.c
+src/util/viridentity.c
+src/util/virinitctl.c
+src/util/viriptables.c
+src/util/viriscsi.c
+src/util/virjson.c
+src/util/virkeyfile.c
+src/util/virlease.c
+src/util/virlockspace.c
+src/util/virlog.c
+src/util/virmacmap.c
+src/util/virmdev.c
+src/util/virnetdev.c
+src/util/virnetdevbandwidth.c
+src/util/virnetdevbridge.c
+src/util/virnetdevip.c
+src/util/virnetdevmacvlan.c
+src/util/virnetdevmidonet.c
+src/util/virnetdevopenvswitch.c
+src/util/virnetdevtap.c
+src/util/virnetdevveth.c
+src/util/virnetdevvportprofile.c
+src/util/virnetlink.c
+src/util/virnodesuspend.c
+src/util/virnuma.c
+src/util/virobject.c
+src/util/virpci.c
+src/util/virperf.c
+src/util/virpidfile.c
+src/util/virpolkit.c
+src/util/virportallocator.c
+src/util/virprocess.c
+src/util/virqemu.c
+src/util/virrandom.c
+src/util/virresctrl.c
+src/util/virrotatingfile.c
+src/util/virscsi.c
+src/util/virscsihost.c
+src/util/virscsivhost.c
+src/util/virsecret.c
+src/util/virsexpr.c
+src/util/virsocketaddr.c
+src/util/virstorageencryption.c
+src/util/virstoragefile.c
+src/util/virstoragefilebackend.c
+src/util/virstring.c
+src/util/virsysinfo.c
+src/util/virthreadjob.c
+src/util/virthreadpool.c
+src/util/virtime.c
+src/util/virtpm.c
+src/util/virtypedparam.c
+src/util/viruri.c
+src/util/virusb.c
+src/util/virutil.c
+src/util/virvhba.c
+src/util/virxml.c
+src/vbox/vbox_MSCOMGlue.c
+src/vbox/vbox_XPCOMCGlue.c
+src/vbox/vbox_common.c
+src/vbox/vbox_driver.c
+src/vbox/vbox_network.c
+src/vbox/vbox_snapshot_conf.c
+src/vbox/vbox_storage.c
+src/vbox/vbox_tmpl.c
+src/vmware/vmware_conf.c
+src/vmware/vmware_driver.c
+src/vmx/vmx.c
+src/vz/vz_driver.c
+src/vz/vz_sdk.c
+src/vz/vz_utils.c
+src/vz/vz_utils.h
+src/xenapi/xenapi_driver.c
+src/xenapi/xenapi_utils.c
+src/xenconfig/xen_common.c
+src/xenconfig/xen_sxpr.c
+src/xenconfig/xen_xl.c
+src/xenconfig/xen_xm.c
+tests/virpolkittest.c
+tools/libvirt-guests.sh.in
+tools/virsh-console.c
+tools/virsh-domain-monitor.c
+tools/virsh-domain.c
+tools/virsh-edit.c
+tools/virsh-host.c
+tools/virsh-interface.c
+tools/virsh-network.c
+tools/virsh-nodedev.c
+tools/virsh-nwfilter.c
+tools/virsh-pool.c
+tools/virsh-secret.c
+tools/virsh-snapshot.c
+tools/virsh-util.c
+tools/virsh-volume.c
+tools/virsh.c
+tools/virt-admin.c
+tools/virt-host-validate-bhyve.c
+tools/virt-host-validate-common.c
+tools/virt-host-validate-lxc.c
+tools/virt-host-validate-qemu.c
+tools/virt-host-validate.c
+tools/virt-login-shell.c
+tools/vsh.c
+tools/vsh.h
+++ /dev/null
-gnulib/lib/gai_strerror.c
-gnulib/lib/getopt.c
-gnulib/lib/regcomp.c
-src/access/viraccessdriverpolkit.c
-src/access/viraccessmanager.c
-src/admin/admin_server.c
-src/admin/admin_server_dispatch.c
-src/admin/admin_server_dispatch_stubs.h
-src/bhyve/bhyve_capabilities.c
-src/bhyve/bhyve_command.c
-src/bhyve/bhyve_device.c
-src/bhyve/bhyve_domain.c
-src/bhyve/bhyve_driver.c
-src/bhyve/bhyve_monitor.c
-src/bhyve/bhyve_parse_command.c
-src/bhyve/bhyve_process.c
-src/conf/capabilities.c
-src/conf/cpu_conf.c
-src/conf/device_conf.c
-src/conf/domain_addr.c
-src/conf/domain_capabilities.c
-src/conf/domain_conf.c
-src/conf/domain_event.c
-src/conf/interface_conf.c
-src/conf/netdev_bandwidth_conf.c
-src/conf/netdev_vlan_conf.c
-src/conf/netdev_vport_profile_conf.c
-src/conf/network_conf.c
-src/conf/networkcommon_conf.c
-src/conf/node_device_conf.c
-src/conf/numa_conf.c
-src/conf/nwfilter_conf.c
-src/conf/nwfilter_params.c
-src/conf/object_event.c
-src/conf/secret_conf.c
-src/conf/snapshot_conf.c
-src/conf/storage_adapter_conf.c
-src/conf/storage_conf.c
-src/conf/virchrdev.c
-src/conf/virdomainobjlist.c
-src/conf/virnetworkobj.c
-src/conf/virnodedeviceobj.c
-src/conf/virnwfilterobj.c
-src/conf/virsavecookie.c
-src/conf/virsecretobj.c
-src/conf/virstorageobj.c
-src/cpu/cpu.c
-src/cpu/cpu_arm.c
-src/cpu/cpu_map.c
-src/cpu/cpu_ppc64.c
-src/cpu/cpu_s390.c
-src/cpu/cpu_x86.c
-src/datatypes.c
-src/driver.c
-src/esx/esx_driver.c
-src/esx/esx_network_driver.c
-src/esx/esx_storage_backend_iscsi.c
-src/esx/esx_storage_backend_vmfs.c
-src/esx/esx_storage_driver.c
-src/esx/esx_stream.c
-src/esx/esx_util.c
-src/esx/esx_vi.c
-src/esx/esx_vi_methods.c
-src/esx/esx_vi_types.c
-src/hyperv/hyperv_driver.c
-src/hyperv/hyperv_util.c
-src/hyperv/hyperv_wmi.c
-src/interface/interface_backend_netcf.c
-src/interface/interface_backend_udev.c
-src/internal.h
-src/libvirt-admin.c
-src/libvirt-domain-snapshot.c
-src/libvirt-domain.c
-src/libvirt-host.c
-src/libvirt-lxc.c
-src/libvirt-network.c
-src/libvirt-nodedev.c
-src/libvirt-nwfilter.c
-src/libvirt-qemu.c
-src/libvirt-secret.c
-src/libvirt-storage.c
-src/libvirt-stream.c
-src/libvirt.c
-src/libxl/libxl_capabilities.c
-src/libxl/libxl_conf.c
-src/libxl/libxl_domain.c
-src/libxl/libxl_driver.c
-src/libxl/libxl_migration.c
-src/locking/lock_daemon.c
-src/locking/lock_daemon_dispatch.c
-src/locking/lock_driver_lockd.c
-src/locking/lock_driver_sanlock.c
-src/locking/lock_manager.c
-src/locking/sanlock_helper.c
-src/logging/log_daemon.c
-src/logging/log_daemon_dispatch.c
-src/logging/log_handler.c
-src/logging/log_manager.c
-src/lxc/lxc_cgroup.c
-src/lxc/lxc_conf.c
-src/lxc/lxc_container.c
-src/lxc/lxc_controller.c
-src/lxc/lxc_domain.c
-src/lxc/lxc_driver.c
-src/lxc/lxc_fuse.c
-src/lxc/lxc_hostdev.c
-src/lxc/lxc_native.c
-src/lxc/lxc_process.c
-src/network/bridge_driver.c
-src/network/bridge_driver_linux.c
-src/network/leaseshelper.c
-src/node_device/node_device_driver.c
-src/node_device/node_device_hal.c
-src/node_device/node_device_udev.c
-src/nwfilter/nwfilter_dhcpsnoop.c
-src/nwfilter/nwfilter_driver.c
-src/nwfilter/nwfilter_ebiptables_driver.c
-src/nwfilter/nwfilter_gentech_driver.c
-src/nwfilter/nwfilter_learnipaddr.c
-src/openvz/openvz_conf.c
-src/openvz/openvz_driver.c
-src/openvz/openvz_util.c
-src/phyp/phyp_driver.c
-src/qemu/qemu_agent.c
-src/qemu/qemu_alias.c
-src/qemu/qemu_block.c
-src/qemu/qemu_capabilities.c
-src/qemu/qemu_cgroup.c
-src/qemu/qemu_command.c
-src/qemu/qemu_conf.c
-src/qemu/qemu_domain.c
-src/qemu/qemu_domain_address.c
-src/qemu/qemu_driver.c
-src/qemu/qemu_hostdev.c
-src/qemu/qemu_hotplug.c
-src/qemu/qemu_interface.c
-src/qemu/qemu_migration.c
-src/qemu/qemu_migration_cookie.c
-src/qemu/qemu_migration_params.c
-src/qemu/qemu_monitor.c
-src/qemu/qemu_monitor_json.c
-src/qemu/qemu_monitor_text.c
-src/qemu/qemu_parse_command.c
-src/qemu/qemu_process.c
-src/qemu/qemu_qapi.c
-src/remote/remote_client_bodies.h
-src/remote/remote_daemon.c
-src/remote/remote_daemon_config.c
-src/remote/remote_daemon_dispatch.c
-src/remote/remote_daemon_dispatch_stubs.h
-src/remote/remote_daemon_dispatch_qemu_stubs.h
-src/remote/remote_daemon_stream.c
-src/remote/remote_driver.c
-src/rpc/virkeepalive.c
-src/rpc/virnetclient.c
-src/rpc/virnetclientprogram.c
-src/rpc/virnetclientstream.c
-src/rpc/virnetdaemon.c
-src/rpc/virnetlibsshsession.c
-src/rpc/virnetmessage.c
-src/rpc/virnetsaslcontext.c
-src/rpc/virnetserver.c
-src/rpc/virnetserverclient.c
-src/rpc/virnetservermdns.c
-src/rpc/virnetserverprogram.c
-src/rpc/virnetserverservice.c
-src/rpc/virnetsocket.c
-src/rpc/virnetsshsession.c
-src/rpc/virnettlscontext.c
-src/secret/secret_driver.c
-src/security/security_apparmor.c
-src/security/security_dac.c
-src/security/security_driver.c
-src/security/security_manager.c
-src/security/security_selinux.c
-src/security/virt-aa-helper.c
-src/storage/parthelper.c
-src/storage/storage_backend.c
-src/storage/storage_backend_disk.c
-src/storage/storage_backend_fs.c
-src/storage/storage_backend_gluster.c
-src/storage/storage_backend_iscsi.c
-src/storage/storage_backend_logical.c
-src/storage/storage_backend_mpath.c
-src/storage/storage_backend_rbd.c
-src/storage/storage_backend_scsi.c
-src/storage/storage_backend_sheepdog.c
-src/storage/storage_backend_vstorage.c
-src/storage/storage_backend_zfs.c
-src/storage/storage_driver.c
-src/storage/storage_util.c
-src/test/test_driver.c
-src/uml/uml_conf.c
-src/uml/uml_driver.c
-src/util/iohelper.c
-src/util/viralloc.c
-src/util/virarptable.c
-src/util/viraudit.c
-src/util/virauth.c
-src/util/virauthconfig.c
-src/util/virbitmap.c
-src/util/virbuffer.c
-src/util/vircgroup.c
-src/util/virclosecallbacks.c
-src/util/vircommand.c
-src/util/virconf.c
-src/util/vircrypto.c
-src/util/virdbus.c
-src/util/virdnsmasq.c
-src/util/virerror.c
-src/util/virerror.h
-src/util/vireventpoll.c
-src/util/virfcp.c
-src/util/virfdstream.c
-src/util/virfile.c
-src/util/virfilecache.c
-src/util/virfirewall.c
-src/util/virfirmware.c
-src/util/virhash.c
-src/util/virhook.c
-src/util/virhostcpu.c
-src/util/virhostdev.c
-src/util/virhostmem.c
-src/util/viridentity.c
-src/util/virinitctl.c
-src/util/viriptables.c
-src/util/viriscsi.c
-src/util/virjson.c
-src/util/virkeyfile.c
-src/util/virlease.c
-src/util/virlockspace.c
-src/util/virlog.c
-src/util/virmacmap.c
-src/util/virmdev.c
-src/util/virnetdev.c
-src/util/virnetdevbandwidth.c
-src/util/virnetdevbridge.c
-src/util/virnetdevip.c
-src/util/virnetdevmacvlan.c
-src/util/virnetdevmidonet.c
-src/util/virnetdevopenvswitch.c
-src/util/virnetdevtap.c
-src/util/virnetdevveth.c
-src/util/virnetdevvportprofile.c
-src/util/virnetlink.c
-src/util/virnodesuspend.c
-src/util/virnuma.c
-src/util/virobject.c
-src/util/virpci.c
-src/util/virperf.c
-src/util/virpidfile.c
-src/util/virpolkit.c
-src/util/virportallocator.c
-src/util/virprocess.c
-src/util/virqemu.c
-src/util/virrandom.c
-src/util/virresctrl.c
-src/util/virrotatingfile.c
-src/util/virscsi.c
-src/util/virscsihost.c
-src/util/virscsivhost.c
-src/util/virsecret.c
-src/util/virsexpr.c
-src/util/virsocketaddr.c
-src/util/virstorageencryption.c
-src/util/virstoragefile.c
-src/util/virstoragefilebackend.c
-src/util/virstring.c
-src/util/virsysinfo.c
-src/util/virthreadjob.c
-src/util/virthreadpool.c
-src/util/virtime.c
-src/util/virtpm.c
-src/util/virtypedparam.c
-src/util/viruri.c
-src/util/virusb.c
-src/util/virutil.c
-src/util/virvhba.c
-src/util/virxml.c
-src/vbox/vbox_MSCOMGlue.c
-src/vbox/vbox_XPCOMCGlue.c
-src/vbox/vbox_common.c
-src/vbox/vbox_driver.c
-src/vbox/vbox_network.c
-src/vbox/vbox_snapshot_conf.c
-src/vbox/vbox_storage.c
-src/vbox/vbox_tmpl.c
-src/vmware/vmware_conf.c
-src/vmware/vmware_driver.c
-src/vmx/vmx.c
-src/vz/vz_driver.c
-src/vz/vz_sdk.c
-src/vz/vz_utils.c
-src/vz/vz_utils.h
-src/xenapi/xenapi_driver.c
-src/xenapi/xenapi_utils.c
-src/xenconfig/xen_common.c
-src/xenconfig/xen_sxpr.c
-src/xenconfig/xen_xl.c
-src/xenconfig/xen_xm.c
-tests/virpolkittest.c
-tools/libvirt-guests.sh.in
-tools/virsh-console.c
-tools/virsh-domain-monitor.c
-tools/virsh-domain.c
-tools/virsh-edit.c
-tools/virsh-host.c
-tools/virsh-interface.c
-tools/virsh-network.c
-tools/virsh-nodedev.c
-tools/virsh-nwfilter.c
-tools/virsh-pool.c
-tools/virsh-secret.c
-tools/virsh-snapshot.c
-tools/virsh-util.c
-tools/virsh-volume.c
-tools/virsh.c
-tools/virt-admin.c
-tools/virt-host-validate-bhyve.c
-tools/virt-host-validate-common.c
-tools/virt-host-validate-lxc.c
-tools/virt-host-validate-qemu.c
-tools/virt-host-validate.c
-tools/virt-login-shell.c
-tools/vsh.c
-tools/vsh.h
--- /dev/null
+Libvirt Message Translation
+===========================
+
+Libvirt translatable messages are maintained using the GNU Gettext tools and
+file formats, in combination with the Zanata web service.
+
+Source repository
+=================
+
+The libvirt GIT repository stores the master "libvirt.pot" file and full "po"
+files for translations. The master "libvirt.pot" file can be re-generated using
+
+ make libvirt.pot
+
+The full po files can have their source locations and msgids updated using
+
+ make update-po
+
+Normally these updates are only done when either refreshing translations from
+Zanata, or when creating a new release.
+
+Zanata web service
+==================
+
+The translation of libvirt messages has been outsourced to the Fedora
+translation team using the Zanata web service:
+
+ https://fedora.zanata.org/project/view/libvirt
+
+As such, changes to translations will generally NOT be accepted as patches
+directly to libvirt GIT. Any changes made to "$LANG.mini.po" files in libvirt
+GIT will be overwritten and lost the next time content is imported from Zanata.
+
+The master "libvirt.pot" file is periodically pushed to Zanata to provide the
+translation team with content changes. New translated text is then periodically
+pulled down from Zanata to update the po files.
# include <verify.h>
# include <stdbool.h>
# include <stdint.h>
+# include <string.h>
# if STATIC_ANALYSIS
# undef NDEBUG /* Don't let a prior NDEBUG definition cause trouble. */
/* The library itself needs to know enum sizes. */
# define VIR_ENUM_SENTINELS
-/* All uses of _() within the library should pick up translations from
- * libvirt's message files, rather than from the package that is
- * linking in the library. Setting this macro before including
- * "gettext.h" means that gettext() (and _()) will properly expand to
- * dgettext. */
-# define DEFAULT_TEXT_DOMAIN PACKAGE
-# include "gettext.h"
-# define _(str) gettext(str)
+# ifdef HAVE_LIBINTL_H
+# define DEFAULT_TEXT_DOMAIN PACKAGE
+# include <libintl.h>
+# define _(str) dgettext(PACKAGE, str)
+# else /* HAVE_LIBINTL_H */
+# define _(str) str
+# endif /* HAVE_LIBINTL_H */
# define N_(str) str
# include "libvirt/libvirt.h"
virLogSetFromEnv();
+#ifdef HAVE_LIBINTL_H
if (!bindtextdomain(PACKAGE, LOCALEDIR))
goto error;
+#endif /* HAVE_LIBINTL_H */
if (!VIR_CLASS_NEW(remoteAdminPriv, virClassForObjectLockable()))
goto error;
goto error;
#endif
+#ifdef HAVE_LIBINTL_H
if (!bindtextdomain(PACKAGE, LOCALEDIR))
goto error;
+#endif /* HAVE_LIBINTL_H */
/*
* Note we must avoid everything except 'remote' driver
int
virGettextInitialize(void)
{
+#if HAVE_LIBINTL_H
if (!setlocale(LC_ALL, "")) {
perror("setlocale");
/* failure to setup locale is not fatal */
perror("textdomain");
return -1;
}
-
+#endif /* HAVE_LIBINTL_H */
return 0;
}
#include <stdio.h>
#include <stdlib.h>
-#include <gettext.h>
+#ifdef HAVE_LIBINTL_H
+# include <libintl.h>
+#endif /* HAVE_LIBINTL_H */
#include <getopt.h>
#include "internal.h"