[libvirt] [PATCH v2 00/12] include result of bootstrap in git

This patch series is motivated by the effort to adopt Meson as our build system but all of it improves the current build system on its own. It moves the burden to run bootstrap/autoreconf to developers which means it will save some time for others when there is any change to the build system. Since one of the patches is slightly bigger here is link to git: <https://gitlab.com/phrdina/libvirt.git> branch <configure> Changes in v2: - some patches removed Pavel Hrdina (12): secret: move virSecretGetSecretString into virsecret configure.ac: add check for getegid function bootstrap.conf: drop gnulib tests from libvirt bootstrap.conf: always copy files bootstrap.conf: declare bootstrap sync in configuration file bootstrap.conf: disable VC ignore files bootstrap.conf: stop creating AUTHORS file syntax-check: remove deleted daemon directory from space_indent_check autogen.sh: fix autoreconf step gnulib: store result of bootstrap in git autogen.sh: remove --dry-run option autogen.sh: remove --no-git and --gnulib-srcdir options .git-module-status | 2 + .gitignore | 18 - INSTALL | 368 + Makefile.am | 2 +- Makefile.in | 2193 + aclocal.m4 | 1717 + autogen.sh | 82 +- bootstrap.conf | 27 +- build-aux/compile | 348 + build-aux/config.guess | 1667 + build-aux/config.sub | 1793 + build-aux/depcomp | 791 + build-aux/install-sh | 529 + build-aux/ltmain.sh | 11149 ++++ build-aux/missing | 215 + build-aux/syntax-check.mk | 23 +- build-aux/test-driver | 148 + config.h.in | 2288 + configure | 55547 +++++++++++++++++++ configure.ac | 2 +- docs/Makefile.in | 2484 + docs/compiling.html.in | 13 - examples/Makefile.in | 2364 + gnulib/lib/Makefile.in | 3705 ++ gnulib/lib/_Noreturn.h | 40 + gnulib/lib/accept.c | 52 + gnulib/lib/alloca.c | 478 + gnulib/lib/alloca.in.h | 71 + gnulib/lib/arg-nonnull.h | 26 + gnulib/lib/arpa_inet.in.h | 150 + gnulib/lib/asnprintf.c | 34 + gnulib/lib/assure.h | 37 + gnulib/lib/binary-io.c | 39 + gnulib/lib/binary-io.h | 77 + gnulib/lib/bind.c | 49 + gnulib/lib/c++defs.h | 316 + gnulib/lib/chown.c | 151 + gnulib/lib/cloexec.c | 83 + gnulib/lib/cloexec.h | 38 + gnulib/lib/close.c | 71 + gnulib/lib/connect.c | 56 + gnulib/lib/dup2.c | 235 + gnulib/lib/errno.in.h | 279 + gnulib/lib/fchown-stub.c | 16 + gnulib/lib/fcntl.c | 627 + gnulib/lib/fcntl.in.h | 392 + gnulib/lib/fd-hook.c | 116 + gnulib/lib/fd-hook.h | 119 + gnulib/lib/filename.h | 54 + gnulib/lib/float+.h | 147 + gnulib/lib/float.c | 33 + gnulib/lib/float.in.h | 188 + gnulib/lib/fseek.c | 30 + gnulib/lib/fseeko.c | 164 + gnulib/lib/fstat.c | 94 + gnulib/lib/gai_strerror.c | 92 + gnulib/lib/getaddrinfo.c | 473 + gnulib/lib/getdelim.c | 147 + gnulib/lib/getdtablesize.c | 124 + gnulib/lib/getgroups.c | 131 + gnulib/lib/gethostname.c | 104 + gnulib/lib/getline.c | 27 + gnulib/lib/getpass.c | 231 + gnulib/lib/getpass.h | 4 + gnulib/lib/getpeername.c | 49 + gnulib/lib/getsockname.c | 49 + gnulib/lib/gettext.h | 301 + gnulib/lib/getugroups.c | 128 + gnulib/lib/getugroups.h | 19 + gnulib/lib/glthread/threadlib.c | 73 + gnulib/lib/gnulib.mk | 2629 + gnulib/lib/inet_ntop.c | 260 + gnulib/lib/intprops.h | 584 + gnulib/lib/ioctl.c | 92 + gnulib/lib/itold.c | 28 + gnulib/lib/limits.in.h | 104 + gnulib/lib/listen.c | 49 + gnulib/lib/localcharset.c | 1159 + gnulib/lib/localcharset.h | 137 + gnulib/lib/locale.in.h | 305 + gnulib/lib/localeconv.c | 103 + gnulib/lib/lseek.c | 71 + gnulib/lib/malloc.c | 56 + gnulib/lib/malloca.c | 105 + gnulib/lib/malloca.h | 123 + gnulib/lib/memchr.c | 172 + gnulib/lib/memchr.valgrind | 30 + gnulib/lib/mgetgroups.c | 201 + gnulib/lib/mgetgroups.h | 22 + gnulib/lib/msvc-inval.c | 129 + gnulib/lib/msvc-inval.h | 222 + gnulib/lib/msvc-nothrow.c | 51 + gnulib/lib/msvc-nothrow.h | 43 + gnulib/lib/net_if.in.h | 53 + gnulib/lib/netdb.in.h | 293 + gnulib/lib/netinet_in.in.h | 47 + gnulib/lib/nonblocking.c | 159 + gnulib/lib/nonblocking.h | 62 + gnulib/lib/open.c | 203 + gnulib/lib/openpty.c | 136 + gnulib/lib/passfd.c | 205 + gnulib/lib/passfd.h | 32 + gnulib/lib/pathmax.h | 83 + gnulib/lib/physmem.c | 330 + gnulib/lib/physmem.h | 26 + gnulib/lib/pipe.c | 50 + gnulib/lib/pipe2.c | 167 + gnulib/lib/poll.c | 621 + gnulib/lib/poll.in.h | 125 + gnulib/lib/posix_openpt.c | 108 + gnulib/lib/printf-args.c | 183 + gnulib/lib/printf-args.h | 150 + gnulib/lib/printf-parse.c | 632 + gnulib/lib/printf-parse.h | 193 + gnulib/lib/pthread_sigmask.c | 92 + gnulib/lib/pty.in.h | 131 + gnulib/lib/raise.c | 83 + gnulib/lib/rawmemchr.c | 136 + gnulib/lib/rawmemchr.valgrind | 28 + gnulib/lib/realloc.c | 79 + gnulib/lib/recv.c | 49 + gnulib/lib/select.c | 583 + gnulib/lib/send.c | 49 + gnulib/lib/setsockopt.c | 65 + gnulib/lib/sig-handler.c | 3 + gnulib/lib/sig-handler.h | 51 + gnulib/lib/sigaction.c | 204 + gnulib/lib/signal.in.h | 475 + gnulib/lib/sigprocmask.c | 349 + gnulib/lib/size_max.h | 30 + gnulib/lib/snprintf.c | 71 + gnulib/lib/socket.c | 49 + gnulib/lib/sockets.c | 161 + gnulib/lib/sockets.h | 66 + gnulib/lib/stat-time.c | 3 + gnulib/lib/stat-time.h | 252 + gnulib/lib/stat-w32.c | 425 + gnulib/lib/stat-w32.h | 37 + gnulib/lib/stat.c | 433 + gnulib/lib/stdalign.in.h | 121 + gnulib/lib/stdbool.in.h | 132 + gnulib/lib/stddef.in.h | 121 + gnulib/lib/stdint.in.h | 746 + gnulib/lib/stdio-impl.h | 212 + gnulib/lib/stdio-read.c | 164 + gnulib/lib/stdio-write.c | 202 + gnulib/lib/stdio.in.h | 1444 + gnulib/lib/stdlib.in.h | 1112 + gnulib/lib/strchrnul.c | 142 + gnulib/lib/strchrnul.valgrind | 28 + gnulib/lib/strdup.c | 54 + gnulib/lib/streq.h | 176 + gnulib/lib/string.in.h | 1067 + gnulib/lib/strtok_r.c | 76 + gnulib/lib/sys_ioctl.in.h | 79 + gnulib/lib/sys_select.in.h | 319 + gnulib/lib/sys_socket.c | 4 + gnulib/lib/sys_socket.in.h | 721 + gnulib/lib/sys_stat.in.h | 823 + gnulib/lib/sys_time.in.h | 224 + gnulib/lib/sys_types.in.h | 106 + gnulib/lib/sys_uio.in.h | 63 + gnulib/lib/sys_utsname.in.h | 108 + gnulib/lib/sys_wait.in.h | 131 + gnulib/lib/termios.in.h | 73 + gnulib/lib/time.in.h | 364 + gnulib/lib/time_r.c | 44 + gnulib/lib/ttyname_r.c | 114 + gnulib/lib/uname.c | 268 + gnulib/lib/unistd.c | 4 + gnulib/lib/unistd.in.h | 1719 + gnulib/lib/unitypes.in.h | 46 + gnulib/lib/uniwidth.in.h | 72 + gnulib/lib/uniwidth/cjk.h | 37 + gnulib/lib/uniwidth/width.c | 468 + gnulib/lib/vasnprintf.c | 5615 ++ gnulib/lib/vasnprintf.h | 79 + gnulib/lib/verify.h | 301 + gnulib/lib/w32sock.h | 140 + gnulib/lib/waitpid.c | 30 + gnulib/lib/warn-on-use.h | 131 + gnulib/lib/wchar.in.h | 1144 + gnulib/lib/wctype-h.c | 4 + gnulib/lib/wctype.in.h | 679 + gnulib/lib/wcwidth.c | 73 + gnulib/lib/xalloc-oversized.h | 60 + gnulib/lib/xsize.c | 3 + gnulib/lib/xsize.h | 117 + gnulib/tests/Makefile.am | 32 - include/libvirt/Makefile.in | 1778 + m4/00gnulib.m4 | 46 + m4/absolute-header.m4 | 102 + m4/alloca.m4 | 128 + m4/arpa_inet_h.m4 | 59 + m4/asm-underscore.m4 | 72 + m4/chown.m4 | 216 + m4/close.m4 | 35 + m4/codeset.m4 | 24 + m4/configmake.m4 | 27 + m4/dup2.m4 | 117 + m4/eealloc.m4 | 31 + m4/environ.m4 | 45 + m4/errno_h.m4 | 133 + m4/exponentd.m4 | 116 + m4/extensions.m4 | 189 + m4/extern-inline.m4 | 114 + m4/fcntl-o.m4 | 139 + m4/fcntl.m4 | 126 + m4/fcntl_h.m4 | 52 + m4/float_h.m4 | 108 + m4/fseek.m4 | 15 + m4/fseeko.m4 | 77 + m4/fstat.m4 | 39 + m4/getaddrinfo.m4 | 239 + m4/getdelim.m4 | 98 + m4/getdtablesize.m4 | 60 + m4/getgroups.m4 | 109 + m4/gethostname.m4 | 107 + m4/getline.m4 | 109 + m4/getpass.m4 | 106 + m4/getugroups.m4 | 11 + m4/gnulib-cache.m4 | 162 + m4/gnulib-common.m4 | 459 + m4/gnulib-comp.m4 | 1070 + m4/gnulib-tool.m4 | 57 + m4/hostent.m4 | 49 + m4/include_next.m4 | 224 + m4/inet_ntop.m4 | 70 + m4/intmax_t.m4 | 59 + m4/inttypes_h.m4 | 29 + m4/ioctl.m4 | 44 + m4/largefile.m4 | 177 + m4/libtool.m4 | 8372 +++ m4/libunistring-base.m4 | 141 + m4/limits-h.m4 | 43 + m4/localcharset.m4 | 11 + m4/locale_h.m4 | 158 + m4/localeconv.m4 | 22 + m4/lseek.m4 | 71 + m4/ltoptions.m4 | 437 + m4/ltsugar.m4 | 124 + m4/ltversion.m4 | 23 + m4/lt~obsolete.m4 | 99 + m4/malloc.m4 | 104 + m4/malloca.m4 | 14 + m4/manywarnings-c++.m4 | 245 + m4/manywarnings.m4 | 339 + m4/math_h.m4 | 369 + m4/memchr.m4 | 112 + m4/mgetgroups.m4 | 10 + m4/mmap-anon.m4 | 55 + m4/mode_t.m4 | 26 + m4/msvc-inval.m4 | 19 + m4/msvc-nothrow.m4 | 10 + m4/multiarch.m4 | 62 + m4/net_if_h.m4 | 32 + m4/netdb_h.m4 | 44 + m4/netinet_in_h.m4 | 31 + m4/nonblocking.m4 | 29 + m4/off_t.m4 | 18 + m4/open-cloexec.m4 | 21 + m4/open-slash.m4 | 59 + m4/open.m4 | 56 + m4/passfd.m4 | 23 + m4/pathmax.m4 | 42 + m4/physmem.m4 | 46 + m4/pipe.m4 | 15 + m4/pipe2.m4 | 18 + m4/poll.m4 | 107 + m4/poll_h.m4 | 49 + m4/posix-shell.m4 | 63 + m4/posix_openpt.m4 | 19 + m4/printf.m4 | 1692 + m4/pthread_sigmask.m4 | 273 + m4/pty.m4 | 160 + m4/pty_h.m4 | 73 + m4/raise.m4 | 36 + m4/rawmemchr.m4 | 20 + m4/realloc.m4 | 82 + m4/select.m4 | 116 + m4/servent.m4 | 51 + m4/sigaction.m4 | 40 + m4/signal_h.m4 | 83 + m4/signalblocking.m4 | 25 + m4/sigpipe.m4 | 29 + m4/size_max.m4 | 75 + m4/snprintf.m4 | 62 + m4/socketlib.m4 | 90 + m4/sockets.m4 | 17 + m4/socklen.m4 | 76 + m4/sockpfaf.m4 | 84 + m4/ssize_t.m4 | 23 + m4/stat-time.m4 | 83 + m4/stat.m4 | 74 + m4/stdalign.m4 | 57 + m4/stdbool.m4 | 122 + m4/stddef_h.m4 | 72 + m4/stdint.m4 | 535 + m4/stdint_h.m4 | 27 + m4/stdio_h.m4 | 225 + m4/stdlib_h.m4 | 136 + m4/strchrnul.m4 | 50 + m4/strdup.m4 | 36 + m4/string_h.m4 | 122 + m4/strtok_r.m4 | 73 + m4/sys_ioctl_h.m4 | 64 + m4/sys_select_h.m4 | 95 + m4/sys_socket_h.m4 | 188 + m4/sys_stat_h.m4 | 100 + m4/sys_time_h.m4 | 110 + m4/sys_types_h.m4 | 60 + m4/sys_uio_h.m4 | 31 + m4/sys_utsname_h.m4 | 54 + m4/sys_wait_h.m4 | 36 + m4/termios_h.m4 | 43 + m4/threadlib.m4 | 586 + m4/time_h.m4 | 144 + m4/time_r.m4 | 99 + m4/ttyname_r.m4 | 133 + m4/uname.m4 | 19 + m4/unistd_h.m4 | 201 + m4/vasnprintf.m4 | 288 + m4/waitpid.m4 | 14 + m4/warn-on-use.m4 | 51 + m4/warnings.m4 | 115 + m4/wchar_h.m4 | 241 + m4/wchar_t.m4 | 24 + m4/wctype_h.m4 | 216 + m4/wcwidth.m4 | 131 + m4/wint_t.m4 | 74 + m4/xsize.m4 | 12 + po/Makefile.in | 1750 + po/POTFILES.in | 1 - src/Makefile.in | 15723 ++++++ src/libvirt_private.syms | 5 +- src/libxl/libxl_conf.c | 2 +- src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_process.c | 2 +- src/qemu/qemu_tpm.c | 2 +- src/secret/Makefile.inc.am | 11 - src/secret/secret_util.c | 102 - src/secret/secret_util.h | 33 - src/storage/storage_backend_iscsi.c | 2 +- src/storage/storage_backend_iscsi_direct.c | 2 +- src/storage/storage_backend_rbd.c | 2 +- src/storage/storage_util.c | 2 +- src/util/virsecret.c | 69 + src/util/virsecret.h | 8 + tests/Makefile.in | 7432 +++ tools/Makefile.in | 3597 ++ 350 files changed, 182955 insertions(+), 323 deletions(-) create mode 100644 .git-module-status create mode 100644 INSTALL create mode 100644 Makefile.in create mode 100644 aclocal.m4 create mode 100755 build-aux/compile create mode 100755 build-aux/config.guess create mode 100755 build-aux/config.sub create mode 100755 build-aux/depcomp create mode 100755 build-aux/install-sh create mode 100644 build-aux/ltmain.sh create mode 100755 build-aux/missing create mode 100755 build-aux/test-driver create mode 100644 config.h.in create mode 100755 configure create mode 100644 docs/Makefile.in create mode 100644 examples/Makefile.in create mode 100644 gnulib/lib/Makefile.in create mode 100644 gnulib/lib/_Noreturn.h create mode 100644 gnulib/lib/accept.c create mode 100644 gnulib/lib/alloca.c create mode 100644 gnulib/lib/alloca.in.h create mode 100644 gnulib/lib/arg-nonnull.h create mode 100644 gnulib/lib/arpa_inet.in.h create mode 100644 gnulib/lib/asnprintf.c create mode 100644 gnulib/lib/assure.h create mode 100644 gnulib/lib/binary-io.c create mode 100644 gnulib/lib/binary-io.h create mode 100644 gnulib/lib/bind.c create mode 100644 gnulib/lib/c++defs.h create mode 100644 gnulib/lib/chown.c create mode 100644 gnulib/lib/cloexec.c create mode 100644 gnulib/lib/cloexec.h create mode 100644 gnulib/lib/close.c create mode 100644 gnulib/lib/connect.c create mode 100644 gnulib/lib/dup2.c create mode 100644 gnulib/lib/errno.in.h create mode 100644 gnulib/lib/fchown-stub.c create mode 100644 gnulib/lib/fcntl.c create mode 100644 gnulib/lib/fcntl.in.h create mode 100644 gnulib/lib/fd-hook.c create mode 100644 gnulib/lib/fd-hook.h create mode 100644 gnulib/lib/filename.h create mode 100644 gnulib/lib/float+.h create mode 100644 gnulib/lib/float.c create mode 100644 gnulib/lib/float.in.h create mode 100644 gnulib/lib/fseek.c create mode 100644 gnulib/lib/fseeko.c create mode 100644 gnulib/lib/fstat.c create mode 100644 gnulib/lib/gai_strerror.c create mode 100644 gnulib/lib/getaddrinfo.c create mode 100644 gnulib/lib/getdelim.c create mode 100644 gnulib/lib/getdtablesize.c create mode 100644 gnulib/lib/getgroups.c create mode 100644 gnulib/lib/gethostname.c create mode 100644 gnulib/lib/getline.c create mode 100644 gnulib/lib/getpass.c create mode 100644 gnulib/lib/getpass.h create mode 100644 gnulib/lib/getpeername.c create mode 100644 gnulib/lib/getsockname.c create mode 100644 gnulib/lib/gettext.h create mode 100644 gnulib/lib/getugroups.c create mode 100644 gnulib/lib/getugroups.h create mode 100644 gnulib/lib/glthread/threadlib.c create mode 100644 gnulib/lib/gnulib.mk create mode 100644 gnulib/lib/inet_ntop.c create mode 100644 gnulib/lib/intprops.h create mode 100644 gnulib/lib/ioctl.c create mode 100644 gnulib/lib/itold.c create mode 100644 gnulib/lib/limits.in.h create mode 100644 gnulib/lib/listen.c create mode 100644 gnulib/lib/localcharset.c create mode 100644 gnulib/lib/localcharset.h create mode 100644 gnulib/lib/locale.in.h create mode 100644 gnulib/lib/localeconv.c create mode 100644 gnulib/lib/lseek.c create mode 100644 gnulib/lib/malloc.c create mode 100644 gnulib/lib/malloca.c create mode 100644 gnulib/lib/malloca.h create mode 100644 gnulib/lib/memchr.c create mode 100644 gnulib/lib/memchr.valgrind create mode 100644 gnulib/lib/mgetgroups.c create mode 100644 gnulib/lib/mgetgroups.h create mode 100644 gnulib/lib/msvc-inval.c create mode 100644 gnulib/lib/msvc-inval.h create mode 100644 gnulib/lib/msvc-nothrow.c create mode 100644 gnulib/lib/msvc-nothrow.h create mode 100644 gnulib/lib/net_if.in.h create mode 100644 gnulib/lib/netdb.in.h create mode 100644 gnulib/lib/netinet_in.in.h create mode 100644 gnulib/lib/nonblocking.c create mode 100644 gnulib/lib/nonblocking.h create mode 100644 gnulib/lib/open.c create mode 100644 gnulib/lib/openpty.c create mode 100644 gnulib/lib/passfd.c create mode 100644 gnulib/lib/passfd.h create mode 100644 gnulib/lib/pathmax.h create mode 100644 gnulib/lib/physmem.c create mode 100644 gnulib/lib/physmem.h create mode 100644 gnulib/lib/pipe.c create mode 100644 gnulib/lib/pipe2.c create mode 100644 gnulib/lib/poll.c create mode 100644 gnulib/lib/poll.in.h create mode 100644 gnulib/lib/posix_openpt.c create mode 100644 gnulib/lib/printf-args.c create mode 100644 gnulib/lib/printf-args.h create mode 100644 gnulib/lib/printf-parse.c create mode 100644 gnulib/lib/printf-parse.h create mode 100644 gnulib/lib/pthread_sigmask.c create mode 100644 gnulib/lib/pty.in.h create mode 100644 gnulib/lib/raise.c create mode 100644 gnulib/lib/rawmemchr.c create mode 100644 gnulib/lib/rawmemchr.valgrind create mode 100644 gnulib/lib/realloc.c create mode 100644 gnulib/lib/recv.c create mode 100644 gnulib/lib/select.c create mode 100644 gnulib/lib/send.c create mode 100644 gnulib/lib/setsockopt.c create mode 100644 gnulib/lib/sig-handler.c create mode 100644 gnulib/lib/sig-handler.h create mode 100644 gnulib/lib/sigaction.c create mode 100644 gnulib/lib/signal.in.h create mode 100644 gnulib/lib/sigprocmask.c create mode 100644 gnulib/lib/size_max.h create mode 100644 gnulib/lib/snprintf.c create mode 100644 gnulib/lib/socket.c create mode 100644 gnulib/lib/sockets.c create mode 100644 gnulib/lib/sockets.h create mode 100644 gnulib/lib/stat-time.c create mode 100644 gnulib/lib/stat-time.h create mode 100644 gnulib/lib/stat-w32.c create mode 100644 gnulib/lib/stat-w32.h create mode 100644 gnulib/lib/stat.c create mode 100644 gnulib/lib/stdalign.in.h create mode 100644 gnulib/lib/stdbool.in.h create mode 100644 gnulib/lib/stddef.in.h create mode 100644 gnulib/lib/stdint.in.h create mode 100644 gnulib/lib/stdio-impl.h create mode 100644 gnulib/lib/stdio-read.c create mode 100644 gnulib/lib/stdio-write.c create mode 100644 gnulib/lib/stdio.in.h create mode 100644 gnulib/lib/stdlib.in.h create mode 100644 gnulib/lib/strchrnul.c create mode 100644 gnulib/lib/strchrnul.valgrind create mode 100644 gnulib/lib/strdup.c create mode 100644 gnulib/lib/streq.h create mode 100644 gnulib/lib/string.in.h create mode 100644 gnulib/lib/strtok_r.c create mode 100644 gnulib/lib/sys_ioctl.in.h create mode 100644 gnulib/lib/sys_select.in.h create mode 100644 gnulib/lib/sys_socket.c create mode 100644 gnulib/lib/sys_socket.in.h create mode 100644 gnulib/lib/sys_stat.in.h create mode 100644 gnulib/lib/sys_time.in.h create mode 100644 gnulib/lib/sys_types.in.h create mode 100644 gnulib/lib/sys_uio.in.h create mode 100644 gnulib/lib/sys_utsname.in.h create mode 100644 gnulib/lib/sys_wait.in.h create mode 100644 gnulib/lib/termios.in.h create mode 100644 gnulib/lib/time.in.h create mode 100644 gnulib/lib/time_r.c create mode 100644 gnulib/lib/ttyname_r.c create mode 100644 gnulib/lib/uname.c create mode 100644 gnulib/lib/unistd.c create mode 100644 gnulib/lib/unistd.in.h create mode 100644 gnulib/lib/unitypes.in.h create mode 100644 gnulib/lib/uniwidth.in.h create mode 100644 gnulib/lib/uniwidth/cjk.h create mode 100644 gnulib/lib/uniwidth/width.c create mode 100644 gnulib/lib/vasnprintf.c create mode 100644 gnulib/lib/vasnprintf.h create mode 100644 gnulib/lib/verify.h create mode 100644 gnulib/lib/w32sock.h create mode 100644 gnulib/lib/waitpid.c create mode 100644 gnulib/lib/warn-on-use.h create mode 100644 gnulib/lib/wchar.in.h create mode 100644 gnulib/lib/wctype-h.c create mode 100644 gnulib/lib/wctype.in.h create mode 100644 gnulib/lib/wcwidth.c create mode 100644 gnulib/lib/xalloc-oversized.h create mode 100644 gnulib/lib/xsize.c create mode 100644 gnulib/lib/xsize.h delete mode 100644 gnulib/tests/Makefile.am create mode 100644 include/libvirt/Makefile.in create mode 100644 m4/00gnulib.m4 create mode 100644 m4/absolute-header.m4 create mode 100644 m4/alloca.m4 create mode 100644 m4/arpa_inet_h.m4 create mode 100644 m4/asm-underscore.m4 create mode 100644 m4/chown.m4 create mode 100644 m4/close.m4 create mode 100644 m4/codeset.m4 create mode 100644 m4/configmake.m4 create mode 100644 m4/dup2.m4 create mode 100644 m4/eealloc.m4 create mode 100644 m4/environ.m4 create mode 100644 m4/errno_h.m4 create mode 100644 m4/exponentd.m4 create mode 100644 m4/extensions.m4 create mode 100644 m4/extern-inline.m4 create mode 100644 m4/fcntl-o.m4 create mode 100644 m4/fcntl.m4 create mode 100644 m4/fcntl_h.m4 create mode 100644 m4/float_h.m4 create mode 100644 m4/fseek.m4 create mode 100644 m4/fseeko.m4 create mode 100644 m4/fstat.m4 create mode 100644 m4/getaddrinfo.m4 create mode 100644 m4/getdelim.m4 create mode 100644 m4/getdtablesize.m4 create mode 100644 m4/getgroups.m4 create mode 100644 m4/gethostname.m4 create mode 100644 m4/getline.m4 create mode 100644 m4/getpass.m4 create mode 100644 m4/getugroups.m4 create mode 100644 m4/gnulib-cache.m4 create mode 100644 m4/gnulib-common.m4 create mode 100644 m4/gnulib-comp.m4 create mode 100644 m4/gnulib-tool.m4 create mode 100644 m4/hostent.m4 create mode 100644 m4/include_next.m4 create mode 100644 m4/inet_ntop.m4 create mode 100644 m4/intmax_t.m4 create mode 100644 m4/inttypes_h.m4 create mode 100644 m4/ioctl.m4 create mode 100644 m4/largefile.m4 create mode 100644 m4/libtool.m4 create mode 100644 m4/libunistring-base.m4 create mode 100644 m4/limits-h.m4 create mode 100644 m4/localcharset.m4 create mode 100644 m4/locale_h.m4 create mode 100644 m4/localeconv.m4 create mode 100644 m4/lseek.m4 create mode 100644 m4/ltoptions.m4 create mode 100644 m4/ltsugar.m4 create mode 100644 m4/ltversion.m4 create mode 100644 m4/lt~obsolete.m4 create mode 100644 m4/malloc.m4 create mode 100644 m4/malloca.m4 create mode 100644 m4/manywarnings-c++.m4 create mode 100644 m4/manywarnings.m4 create mode 100644 m4/math_h.m4 create mode 100644 m4/memchr.m4 create mode 100644 m4/mgetgroups.m4 create mode 100644 m4/mmap-anon.m4 create mode 100644 m4/mode_t.m4 create mode 100644 m4/msvc-inval.m4 create mode 100644 m4/msvc-nothrow.m4 create mode 100644 m4/multiarch.m4 create mode 100644 m4/net_if_h.m4 create mode 100644 m4/netdb_h.m4 create mode 100644 m4/netinet_in_h.m4 create mode 100644 m4/nonblocking.m4 create mode 100644 m4/off_t.m4 create mode 100644 m4/open-cloexec.m4 create mode 100644 m4/open-slash.m4 create mode 100644 m4/open.m4 create mode 100644 m4/passfd.m4 create mode 100644 m4/pathmax.m4 create mode 100644 m4/physmem.m4 create mode 100644 m4/pipe.m4 create mode 100644 m4/pipe2.m4 create mode 100644 m4/poll.m4 create mode 100644 m4/poll_h.m4 create mode 100644 m4/posix-shell.m4 create mode 100644 m4/posix_openpt.m4 create mode 100644 m4/printf.m4 create mode 100644 m4/pthread_sigmask.m4 create mode 100644 m4/pty.m4 create mode 100644 m4/pty_h.m4 create mode 100644 m4/raise.m4 create mode 100644 m4/rawmemchr.m4 create mode 100644 m4/realloc.m4 create mode 100644 m4/select.m4 create mode 100644 m4/servent.m4 create mode 100644 m4/sigaction.m4 create mode 100644 m4/signal_h.m4 create mode 100644 m4/signalblocking.m4 create mode 100644 m4/sigpipe.m4 create mode 100644 m4/size_max.m4 create mode 100644 m4/snprintf.m4 create mode 100644 m4/socketlib.m4 create mode 100644 m4/sockets.m4 create mode 100644 m4/socklen.m4 create mode 100644 m4/sockpfaf.m4 create mode 100644 m4/ssize_t.m4 create mode 100644 m4/stat-time.m4 create mode 100644 m4/stat.m4 create mode 100644 m4/stdalign.m4 create mode 100644 m4/stdbool.m4 create mode 100644 m4/stddef_h.m4 create mode 100644 m4/stdint.m4 create mode 100644 m4/stdint_h.m4 create mode 100644 m4/stdio_h.m4 create mode 100644 m4/stdlib_h.m4 create mode 100644 m4/strchrnul.m4 create mode 100644 m4/strdup.m4 create mode 100644 m4/string_h.m4 create mode 100644 m4/strtok_r.m4 create mode 100644 m4/sys_ioctl_h.m4 create mode 100644 m4/sys_select_h.m4 create mode 100644 m4/sys_socket_h.m4 create mode 100644 m4/sys_stat_h.m4 create mode 100644 m4/sys_time_h.m4 create mode 100644 m4/sys_types_h.m4 create mode 100644 m4/sys_uio_h.m4 create mode 100644 m4/sys_utsname_h.m4 create mode 100644 m4/sys_wait_h.m4 create mode 100644 m4/termios_h.m4 create mode 100644 m4/threadlib.m4 create mode 100644 m4/time_h.m4 create mode 100644 m4/time_r.m4 create mode 100644 m4/ttyname_r.m4 create mode 100644 m4/uname.m4 create mode 100644 m4/unistd_h.m4 create mode 100644 m4/vasnprintf.m4 create mode 100644 m4/waitpid.m4 create mode 100644 m4/warn-on-use.m4 create mode 100644 m4/warnings.m4 create mode 100644 m4/wchar_h.m4 create mode 100644 m4/wchar_t.m4 create mode 100644 m4/wctype_h.m4 create mode 100644 m4/wcwidth.m4 create mode 100644 m4/wint_t.m4 create mode 100644 m4/xsize.m4 create mode 100644 po/Makefile.in create mode 100644 src/Makefile.in delete mode 100644 src/secret/secret_util.c delete mode 100644 src/secret/secret_util.h create mode 100644 tests/Makefile.in create mode 100644 tools/Makefile.in -- 2.24.1

The function virSecretGetSecretString calls into secret driver and is used from other hypervisros drivers and as such makes more sense in util. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- po/POTFILES.in | 1 - src/libvirt_private.syms | 5 +- src/libxl/libxl_conf.c | 2 +- src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_process.c | 2 +- src/qemu/qemu_tpm.c | 2 +- src/secret/Makefile.inc.am | 11 --- src/secret/secret_util.c | 102 --------------------- src/secret/secret_util.h | 33 ------- src/storage/storage_backend_iscsi.c | 2 +- src/storage/storage_backend_iscsi_direct.c | 2 +- src/storage/storage_backend_rbd.c | 2 +- src/storage/storage_util.c | 2 +- src/util/virsecret.c | 69 ++++++++++++++ src/util/virsecret.h | 8 ++ 15 files changed, 86 insertions(+), 159 deletions(-) delete mode 100644 src/secret/secret_util.c delete mode 100644 src/secret/secret_util.h diff --git a/po/POTFILES.in b/po/POTFILES.in index faf173584e..e266871907 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -190,7 +190,6 @@ @SRCDIR@/src/rpc/virnetsshsession.c @SRCDIR@/src/rpc/virnettlscontext.c @SRCDIR@/src/secret/secret_driver.c -@SRCDIR@/src/secret/secret_util.c @SRCDIR@/src/security/security_apparmor.c @SRCDIR@/src/security/security_dac.c @SRCDIR@/src/security/security_driver.c diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b97906b852..b1a56f1261 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1449,10 +1449,6 @@ virLogManagerFree; virLogManagerNew; -# secret/secret_util.h -virSecretGetSecretString; - - # security/security_driver.h virSecurityDriverLookup; @@ -3001,6 +2997,7 @@ virSecurityLabelDefNew; # util/virsecret.h +virSecretGetSecretString; virSecretLookupDefClear; virSecretLookupDefCopy; virSecretLookupFormatSecret; diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 2488bb9d32..e41e84e3e2 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -41,7 +41,7 @@ #include "libxl_conf.h" #include "libxl_utils.h" #include "virstoragefile.h" -#include "secret_util.h" +#include "virsecret.h" #include "cpu/cpu.h" #include "xen_common.h" #include "xen_xl.h" diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 24e84a5966..ec8207b36f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -56,7 +56,7 @@ #include "vircrypto.h" #include "virrandom.h" #include "virsystemd.h" -#include "secret_util.h" +#include "virsecret.h" #include "logging/log_manager.h" #include "locking/domain_lock.h" #include "virdomainsnapshotobjlist.h" diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 4195042194..3c2f2458b5 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -83,7 +83,7 @@ #include "virnuma.h" #include "virstring.h" #include "virhostdev.h" -#include "secret_util.h" +#include "virsecret.h" #include "configmake.h" #include "nwfilter_conf.h" #include "netdev_bandwidth_conf.h" diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c index 28800a100c..262e6c4f07 100644 --- a/src/qemu/qemu_tpm.c +++ b/src/qemu/qemu_tpm.c @@ -42,7 +42,7 @@ #include "configmake.h" #include "qemu_tpm.h" #include "virtpm.h" -#include "secret_util.h" +#include "virsecret.h" #define VIR_FROM_THIS VIR_FROM_NONE diff --git a/src/secret/Makefile.inc.am b/src/secret/Makefile.inc.am index d332060e38..4f0956a7a4 100644 --- a/src/secret/Makefile.inc.am +++ b/src/secret/Makefile.inc.am @@ -5,11 +5,6 @@ SECRET_DRIVER_SOURCES = \ secret/secret_driver.c \ $(NULL) -SECRET_UTIL_SOURCES = \ - secret/secret_util.h \ - secret/secret_util.c \ - $(NULL) - DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(SECRET_DRIVER_SOURCES)) STATEFUL_DRIVER_SOURCE_FILES += \ @@ -17,14 +12,8 @@ STATEFUL_DRIVER_SOURCE_FILES += \ EXTRA_DIST += \ $(SECRET_DRIVER_SOURCES) \ - $(SECRET_UTIL_SOURCES) \ $(NULL) -noinst_LTLIBRARIES += libvirt_secret.la -libvirt_la_BUILT_LIBADD += libvirt_secret.la -libvirt_secret_la_CFLAGS = $(AM_CFLAGS) -libvirt_secret_la_LDFLAGS = $(AM_LDFLAGS) -libvirt_secret_la_SOURCES = $(SECRET_UTIL_SOURCES) if WITH_SECRETS mod_LTLIBRARIES += libvirt_driver_secret.la diff --git a/src/secret/secret_util.c b/src/secret/secret_util.c deleted file mode 100644 index 27e164a425..0000000000 --- a/src/secret/secret_util.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * secret_util.c: secret related utility functions - * - * Copyright (C) 2016 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include <config.h> - -#include "secret_util.h" -#include "viralloc.h" -#include "virerror.h" -#include "virlog.h" -#include "virobject.h" -#include "viruuid.h" -#include "datatypes.h" - -#define VIR_FROM_THIS VIR_FROM_SECRET - -VIR_LOG_INIT("secret.secret_util"); - - -/* virSecretGetSecretString: - * @conn: Pointer to the connection driver to make secret driver call - * @seclookupdef: Secret lookup def - * @secretUsageType: Type of secret usage for usage lookup - * @secret: returned secret as a sized stream of unsigned chars - * @secret_size: Return size of the secret - either raw text or base64 - * - * Lookup the secret for the usage type and return it as raw text. - * It is up to the caller to encode the secret further. - * - * Returns 0 on success, -1 on failure. On success the memory in secret - * needs to be cleared and free'd after usage. - */ -int -virSecretGetSecretString(virConnectPtr conn, - virSecretLookupTypeDefPtr seclookupdef, - virSecretUsageType secretUsageType, - uint8_t **secret, - size_t *secret_size) -{ - virSecretPtr sec = NULL; - int ret = -1; - - switch (seclookupdef->type) { - case VIR_SECRET_LOOKUP_TYPE_UUID: - sec = conn->secretDriver->secretLookupByUUID(conn, seclookupdef->u.uuid); - break; - - case VIR_SECRET_LOOKUP_TYPE_USAGE: - sec = conn->secretDriver->secretLookupByUsage(conn, secretUsageType, - seclookupdef->u.usage); - break; - } - - if (!sec) - goto cleanup; - - /* NB: NONE is a byproduct of the qemuxml2argvtest test mocking - * for UUID lookups. Normal secret XML processing would fail if - * the usage type was NONE and since we have no way to set the - * expected usage in that environment, let's just accept NONE */ - if (sec->usageType != VIR_SECRET_USAGE_TYPE_NONE && - sec->usageType != secretUsageType) { - char uuidstr[VIR_UUID_STRING_BUFLEN]; - - virUUIDFormat(seclookupdef->u.uuid, uuidstr); - virReportError(VIR_ERR_INVALID_ARG, - _("secret with uuid %s is of type '%s' not " - "expected '%s' type"), - uuidstr, virSecretUsageTypeToString(sec->usageType), - virSecretUsageTypeToString(secretUsageType)); - goto cleanup; - } - - *secret = conn->secretDriver->secretGetValue(sec, secret_size, 0, - VIR_SECRET_GET_VALUE_INTERNAL_CALL); - - if (!*secret) - goto cleanup; - - ret = 0; - - cleanup: - virObjectUnref(sec); - return ret; -} diff --git a/src/secret/secret_util.h b/src/secret/secret_util.h deleted file mode 100644 index ff23df63b7..0000000000 --- a/src/secret/secret_util.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * secret_util.h: secret related utility functions - * - * Copyright (C) 2016 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#pragma once - -#include "internal.h" -#include "virsecret.h" - -int virSecretGetSecretString(virConnectPtr conn, - virSecretLookupTypeDefPtr seclookupdef, - virSecretUsageType secretUsageType, - uint8_t **ret_secret, - size_t *ret_secret_size) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4) - ATTRIBUTE_NONNULL(5) G_GNUC_WARN_UNUSED_RESULT; diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c index ee39cbf88d..c02fbb5eaa 100644 --- a/src/storage/storage_backend_iscsi.c +++ b/src/storage/storage_backend_iscsi.c @@ -39,7 +39,7 @@ #include "virobject.h" #include "virstring.h" #include "viruuid.h" -#include "secret_util.h" +#include "virsecret.h" #include "storage_util.h" #define VIR_FROM_THIS VIR_FROM_STORAGE diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c index 3a5e2bb9f0..c37c671db6 100644 --- a/src/storage/storage_backend_iscsi_direct.c +++ b/src/storage/storage_backend_iscsi_direct.c @@ -24,7 +24,7 @@ #include <iscsi/scsi-lowlevel.h> #include "datatypes.h" -#include "secret_util.h" +#include "virsecret.h" #include "storage_backend_iscsi_direct.h" #include "storage_util.h" #include "viralloc.h" diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c index 88e7a4b236..f0b7653736 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -33,7 +33,7 @@ #include "virrandom.h" #include "rados/librados.h" #include "rbd/librbd.h" -#include "secret_util.h" +#include "virsecret.h" #include "storage_util.h" #define VIR_FROM_THIS VIR_FROM_STORAGE diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index ebc262278d..987d937b04 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -62,7 +62,7 @@ #include "viralloc.h" #include "internal.h" #include "secret_conf.h" -#include "secret_util.h" +#include "virsecret.h" #include "vircrypto.h" #include "viruuid.h" #include "virstoragefile.h" diff --git a/src/util/virsecret.c b/src/util/virsecret.c index 174ce544c0..f44d964198 100644 --- a/src/util/virsecret.c +++ b/src/util/virsecret.c @@ -21,6 +21,7 @@ #include <config.h> +#include "datatypes.h" #include "viralloc.h" #include "virerror.h" #include "virlog.h" @@ -125,3 +126,71 @@ virSecretLookupFormatSecret(virBufferPtr buf, virBufferAddLit(buf, "/>\n"); } } + + +/* virSecretGetSecretString: + * @conn: Pointer to the connection driver to make secret driver call + * @seclookupdef: Secret lookup def + * @secretUsageType: Type of secret usage for usage lookup + * @secret: returned secret as a sized stream of unsigned chars + * @secret_size: Return size of the secret - either raw text or base64 + * + * Lookup the secret for the usage type and return it as raw text. + * It is up to the caller to encode the secret further. + * + * Returns 0 on success, -1 on failure. On success the memory in secret + * needs to be cleared and free'd after usage. + */ +int +virSecretGetSecretString(virConnectPtr conn, + virSecretLookupTypeDefPtr seclookupdef, + virSecretUsageType secretUsageType, + uint8_t **secret, + size_t *secret_size) +{ + virSecretPtr sec = NULL; + int ret = -1; + + switch (seclookupdef->type) { + case VIR_SECRET_LOOKUP_TYPE_UUID: + sec = conn->secretDriver->secretLookupByUUID(conn, seclookupdef->u.uuid); + break; + + case VIR_SECRET_LOOKUP_TYPE_USAGE: + sec = conn->secretDriver->secretLookupByUsage(conn, secretUsageType, + seclookupdef->u.usage); + break; + } + + if (!sec) + goto cleanup; + + /* NB: NONE is a byproduct of the qemuxml2argvtest test mocking + * for UUID lookups. Normal secret XML processing would fail if + * the usage type was NONE and since we have no way to set the + * expected usage in that environment, let's just accept NONE */ + if (sec->usageType != VIR_SECRET_USAGE_TYPE_NONE && + sec->usageType != secretUsageType) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + + virUUIDFormat(seclookupdef->u.uuid, uuidstr); + virReportError(VIR_ERR_INVALID_ARG, + _("secret with uuid %s is of type '%s' not " + "expected '%s' type"), + uuidstr, virSecretUsageTypeToString(sec->usageType), + virSecretUsageTypeToString(secretUsageType)); + goto cleanup; + } + + *secret = conn->secretDriver->secretGetValue(sec, secret_size, 0, + VIR_SECRET_GET_VALUE_INTERNAL_CALL); + + if (!*secret) + goto cleanup; + + ret = 0; + + cleanup: + virObjectUnref(sec); + return ret; +} diff --git a/src/util/virsecret.h b/src/util/virsecret.h index 8bc8a24e0f..bf056cb3b2 100644 --- a/src/util/virsecret.h +++ b/src/util/virsecret.h @@ -56,3 +56,11 @@ int virSecretLookupParseSecret(xmlNodePtr secretnode, void virSecretLookupFormatSecret(virBufferPtr buf, const char *secrettype, virSecretLookupTypeDefPtr def); + +int virSecretGetSecretString(virConnectPtr conn, + virSecretLookupTypeDefPtr seclookupdef, + virSecretUsageType secretUsageType, + uint8_t **ret_secret, + size_t *ret_secret_size) + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4) + ATTRIBUTE_NONNULL(5) G_GNUC_WARN_UNUSED_RESULT; -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:11PM +0100, Pavel Hrdina wrote:
The function virSecretGetSecretString calls into secret driver and is used from other hypervisros drivers and as such makes more sense in util.
s/hypervisros/hypervisors/ Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

We already use this function and so far we've been lucky that the same check is done by gnulib. This will change once we will drop gnulib and also make it obvious that we have to do the same check in Meson as well. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 002a3dcdb0..cbfb3fe1aa 100644 --- a/configure.ac +++ b/configure.ac @@ -355,6 +355,7 @@ dnl and various less common threadsafe functions AC_CHECK_FUNCS_ONCE([\ cfmakeraw \ fallocate \ + getegid \ geteuid \ getgid \ getifaddrs \ -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:12PM +0100, Pavel Hrdina wrote:
We already use this function and so far we've been lucky that the same check is done by gnulib. This will change once we will drop gnulib and also make it obvious that we have to do the same check in Meson as well.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 1 + 1 file changed, 1 insertion(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

We are in process of removing gnulib and adopting meson as our build system. In order to help with the transition let's drop gnulib tests. This will also help with the fact that before we will be able to drop gnulib completely we will store output of bootstrap in git. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 2 -- Makefile.am | 2 +- bootstrap.conf | 13 ------------- configure.ac | 1 - gnulib/tests/Makefile.am | 32 -------------------------------- 5 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 gnulib/tests/Makefile.am diff --git a/.gitignore b/.gitignore index 2d6e3e3194..2139d176da 100644 --- a/.gitignore +++ b/.gitignore @@ -27,12 +27,10 @@ Makefile.in # gnulib related ignores !/gnulib/lib/Makefile.am -!/gnulib/tests/Makefile.am *.rej *~ /gnulib/lib/* /gnulib/m4/* -/gnulib/tests/* # git related ignores *.orig diff --git a/Makefile.am b/Makefile.am index 0d7ccc74db..8a8eecb697 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,7 +23,7 @@ GENHTML = genhtml # so force it explicitly DISTCHECK_CONFIGURE_FLAGS = --enable-werror -SUBDIRS = . gnulib/lib include/libvirt src tools docs gnulib/tests \ +SUBDIRS = . gnulib/lib include/libvirt src tools docs \ tests po examples XZ_OPT ?= -v -T0 diff --git a/bootstrap.conf b/bootstrap.conf index ae9ecb4039..13d0e77514 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -143,13 +143,10 @@ fi gnulib_name=libgnu m4_base=m4 source_base=gnulib/lib -tests_base=gnulib/tests gnulib_tool_option_extras="\ --lgpl=2\ - --with-tests\ --makefile-name=gnulib.mk\ --avoid=pt_chown\ - --avoid=lock-tests\ " local_gl_dir=gnulib/local @@ -184,16 +181,6 @@ gnulib_extra_files=" doc/INSTALL " - -bootstrap_post_import_hook() -{ - # Change paths in gnulib/tests/gnulib.mk from "../../.." to "../..", - # and make tests conditional by changing "TESTS" to "GNULIB_TESTS". - m=gnulib/tests/gnulib.mk - sed 's,\.\./\.\./\.\.,../..,g; s/^TESTS /GNULIB_TESTS /' $m > $m-t - mv -f $m-t $m -} - bootstrap_epilogue() { echo "$0: done. Now you can run 'mkdir build && cd build && ../configure'." diff --git a/configure.ac b/configure.ac index cbfb3fe1aa..2be909b7ce 100644 --- a/configure.ac +++ b/configure.ac @@ -922,7 +922,6 @@ AC_CONFIG_FILES([run], AC_CONFIG_FILES([\ Makefile src/Makefile include/libvirt/Makefile docs/Makefile \ gnulib/lib/Makefile \ - gnulib/tests/Makefile \ .color_coded \ .ycm_extra_conf.py \ libvirt.pc \ diff --git a/gnulib/tests/Makefile.am b/gnulib/tests/Makefile.am deleted file mode 100644 index 7062cbaf87..0000000000 --- a/gnulib/tests/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -## Makefile for gnulib/lib - -## Copyright (C) 2011, 2013 Red Hat, Inc. -## -## This library is free software; you can redistribute it and/or -## modify it under the terms of the GNU Lesser General Public -## License as published by the Free Software Foundation; either -## version 2.1 of the License, or (at your option) any later version. -## -## This library is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## Lesser General Public License for more details. -## -## You should have received a copy of the GNU Lesser General Public -## License along with this library. If not, see -## <http://www.gnu.org/licenses/>. - -include gnulib.mk - -GNULIB_TESTS0 = -GNULIB_TESTS1 = $(GNULIB_TESTS) -if WITH_EXPENSIVE_TESTS -## Automake requires that at least one conditional call out all tests to -## be run, for those tests to be shipped in the tarball -TESTS = $(GNULIB_TESTS) -endif WITH_EXPENSIVE_TESTS -## However, we want to change the set of tests based on the make environment, -## where the default was set at configure time. Use GNU make constructs to -## hide our actions from Automake, so we don't get it too confused. -VIR_TEST_EXPENSIVE ?= $(VIR_TEST_EXPENSIVE_DEFAULT) -$(eval TESTS=$(GNULIB_TESTS$(VIR_TEST_EXPENSIVE))) -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:13PM +0100, Pavel Hrdina wrote:
We are in process of removing gnulib and adopting meson as our build system. In order to help with the transition let's drop gnulib tests.
This will also help with the fact that before we will be able to drop gnulib completely we will store output of bootstrap in git.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 2 -- Makefile.am | 2 +- bootstrap.conf | 13 ------------- configure.ac | 1 - gnulib/tests/Makefile.am | 32 -------------------------------- 5 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 gnulib/tests/Makefile.am
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Preparation for having bootstrap result in git. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- bootstrap.conf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index 13d0e77514..3798284dad 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -127,11 +127,7 @@ gnulib_modules="$gnulib_modules wcwidth" SKIP_PO=true -# Enable copy-mode for MSYS/MinGW. MSYS' ln doesn't work well in the way -# bootstrap uses it with relative paths. -if test -n "$MSYSTEM"; then - copy=true -fi +copy=true # Tell gnulib to: -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:14PM +0100, Pavel Hrdina wrote:
Preparation for having bootstrap result in git.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- bootstrap.conf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- bootstrap.conf | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index 9afad8f9d5..a119b099cb 100755 --- a/autogen.sh +++ b/autogen.sh @@ -147,7 +147,7 @@ if test -d .git || test -f .git; then dry_run=2 else echo "Running bootstrap..." - ./bootstrap$no_git --bootstrap-sync || { + ./bootstrap$no_git || { die "bootstrap failed" } gnulib_hash >"$state_file" diff --git a/bootstrap.conf b/bootstrap.conf index 3798284dad..5e2e7b1310 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -129,6 +129,8 @@ SKIP_PO=true copy=true +bootstrap_sync=true + # Tell gnulib to: # require LGPLv2+ -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:15PM +0100, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- bootstrap.conf | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

We already ignore most of these files and the .gitignore files as well. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 5 ++++- bootstrap.conf | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2139d176da..949bd3bc5a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,12 @@ /INSTALL /aclocal.m4 /autom4te.cache -/build-aux/.gitignore /build-aux/compile +/build-aux/config.guess +/build-aux/config.sub /build-aux/depcomp +/build-aux/install-sh +/build-aux/ltmain.sh /build-aux/missing /build-aux/test-driver /config.h.in diff --git a/bootstrap.conf b/bootstrap.conf index 5e2e7b1310..43f762da1e 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -131,6 +131,8 @@ copy=true bootstrap_sync=true +vc_ignore= + # Tell gnulib to: # require LGPLv2+ @@ -145,6 +147,7 @@ gnulib_tool_option_extras="\ --lgpl=2\ --makefile-name=gnulib.mk\ --avoid=pt_chown\ + --no-vc-files\ " local_gl_dir=gnulib/local -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:16PM +0100, Pavel Hrdina wrote:
We already ignore most of these files and the .gitignore files as well.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 5 ++++- bootstrap.conf | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

The existence of AUTHORS file is required for GNU projects but since commit <8bfb36db40f38e92823b657b5a342652064b5adc> we do not require these files to exist. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- bootstrap.conf | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/autogen.sh b/autogen.sh index a119b099cb..a1f1943adb 100755 --- a/autogen.sh +++ b/autogen.sh @@ -127,7 +127,7 @@ if test -d .git || test -f .git; then expected_hash=$(cat "$state_file" 2>/dev/null) actual_hash=$(gnulib_hash "$no_git") - if test "$actual_hash" = "$expected_hash" && test -f AUTHORS; then + if test "$actual_hash" = "$expected_hash"; 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 diff --git a/bootstrap.conf b/bootstrap.conf index 43f762da1e..b498c1e34b 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -170,9 +170,6 @@ xmllint - xsltproc - " -# Automake requires that AUTHORS exist. -touch AUTHORS || exit 1 - # Override bootstrap's list - we don't use mdate-sh or texinfo.tex. gnulib_extra_files=" build-aux/install-sh -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:17PM +0100, Pavel Hrdina wrote:
The existence of AUTHORS file is required for GNU projects but since commit <8bfb36db40f38e92823b657b5a342652064b5adc> we do not require these files to exist.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- bootstrap.conf | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- build-aux/syntax-check.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 7e7c59c3df..b2f4bf59f8 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -572,7 +572,7 @@ sc_size_of_brackets: # Ensure that no C source file, docs, or rng schema uses TABs for # indentation. Also match *.h.in files, to get libvirt.h.in. Exclude # files in gnulib, since they're imported. -space_indent_files=(\.(aug(\.in)?|rng|s?[ch](\.in)?|html.in|py|pl|syms)|(daemon|tools)/.*\.in) +space_indent_files=(\.(aug(\.in)?|rng|s?[ch](\.in)?|html.in|py|pl|syms)|tools/.*\.in) sc_TAB_in_indentation: @prohibit='^ * ' \ in_vc_files='$(space_indent_files)$$' \ -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:18PM +0100, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- build-aux/syntax-check.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Running bootstrap and autoreconf from autogen.sh produced different files in build-aux directory. The reason is that gnulib usually have newer version of these files and overwrites them after the autoreconf step. In order to fix it remove the --install and --force options, in addition introduce --verbose option in order to reflect what bootstrap is doing. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index a1f1943adb..47446dc785 100755 --- a/autogen.sh +++ b/autogen.sh @@ -134,7 +134,7 @@ if test -d .git || test -f .git; then # dry run, of course... if test -z "$dry_run"; then echo "Running autoreconf..." - autoreconf -if || { + autoreconf -v || { die "autoreconf failed" } fi -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:19PM +0100, Pavel Hrdina wrote:
Running bootstrap and autoreconf from autogen.sh produced different files in build-aux directory. The reason is that gnulib usually have newer version of these files and overwrites them after the autoreconf step.
In order to fix it remove the --install and --force options, in addition introduce --verbose option in order to reflect what bootstrap is doing.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

There is no need to run bootstrap every time a clean git checkout is done as the result will be always the same. We only need to run it when there is some change to gnulib modules or when we update to new gnulib or there is a change to the build system. All of the steps above are done as by developers and therefore it can be part of git. The benefits are that from this point nothing will modify source dir when building libvirt, the configure time will be way quicker and it helps with the planned adoption of Meson as our build system. The drawbacks are that developers will have to regenerate these files when doing changes mentioned above and there is a significant amount of files and code lines part of our git checkout. However, with the ongoing effort to eliminate gnulib in favor of GLib all of the gnulib code will be eventually dropped. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- This patch is truncated as it's too big, you can get it from git repository mentioned in cover latter.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 53 +++++++++++++++-------------------------------------- 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/autogen.sh b/autogen.sh index 47446dc785..f20a61ed29 100755 --- a/autogen.sh +++ b/autogen.sh @@ -20,21 +20,11 @@ test -f src/libvirt.c || { die "$0 must live in the top-level libvirt directory" } -dry_run= no_git= gnulib_srcdir= extra_args= while test "$#" -gt 0; do case "$1" in - --dry-run) - # This variable will serve both as an indicator of the fact that - # a dry run has been requested, and to store the result of the - # dry run. It will be ultimately used as return code for the - # script: 0 means no action is necessary, 2 means that autogen.sh - # needs to be executed, and 1 is reserved for failures - dry_run=0 - shift - ;; --no-git) no_git=" $1" shift @@ -105,12 +95,10 @@ if test -d .git || test -f .git; then done fi if test "$CLEAN_SUBMODULE" && test -z "$no_git"; then - if test -z "$dry_run"; then - echo "Cleaning up submodules..." - git submodule foreach 'git clean -dfqx && git reset --hard' || { - die "Cleaning up submodules failed" - } - fi + echo "Cleaning up submodules..." + git submodule foreach 'git clean -dfqx && git reset --hard' || { + die "Cleaning up submodules failed" + } fi # Update all submodules. If any of the submodules has not been @@ -130,34 +118,23 @@ if test -d .git || test -f .git; then if test "$actual_hash" = "$expected_hash"; 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 - # dry run, of course... - if test -z "$dry_run"; then - echo "Running autoreconf..." - autoreconf -v || { - die "autoreconf failed" - } - fi + # we just need to run autoreconf. + echo "Running autoreconf..." + autoreconf -v || { + die "autoreconf failed" + } else # Whenever the gnulib submodule or any of the related bits # has been changed in some way (see gnulib_hash) we need to - # run bootstrap again. If we're performing a dry run, we - # change the return code instead to signal our caller - if test "$dry_run"; then - dry_run=2 - else - echo "Running bootstrap..." - ./bootstrap$no_git || { - die "bootstrap failed" - } - gnulib_hash >"$state_file" - fi + # run bootstrap again. + echo "Running bootstrap..." + ./bootstrap$no_git || { + die "bootstrap failed" + } + gnulib_hash >"$state_file" fi fi -# When performing a dry run, we can stop here -test "$dry_run" && exit "$dry_run" - # If asked not to run configure, we can stop here test "$NOCONFIGURE" && exit 0 -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:21PM +0100, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 53 +++++++++++++++-------------------------------------- 1 file changed, 15 insertions(+), 38 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Now that we have bootstrap output stored in git there is no need for these options. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 29 +++-------------------------- docs/compiling.html.in | 13 ------------- 2 files changed, 3 insertions(+), 39 deletions(-) diff --git a/autogen.sh b/autogen.sh index f20a61ed29..f947c3f963 100755 --- a/autogen.sh +++ b/autogen.sh @@ -20,24 +20,9 @@ test -f src/libvirt.c || { die "$0 must live in the top-level libvirt directory" } -no_git= -gnulib_srcdir= extra_args= while test "$#" -gt 0; do case "$1" in - --no-git) - no_git=" $1" - shift - ;; - --gnulib-srcdir=*) - gnulib_srcdir=" $1" - shift - ;; - --gnulib-srcdir) - gnulib_srcdir=" $1=$2" - shift - shift - ;; --system) prefix=/usr sysconfdir=/etc @@ -57,17 +42,9 @@ while test "$#" -gt 0; do ;; esac done -no_git="$no_git$gnulib_srcdir" gnulib_hash() { - local no_git=$1 - - if test "$no_git"; then - echo "no-git" - return - fi - # Compute the hash we'll use to determine whether rerunning bootstrap # is required. The first is just the SHA1 that selects a gnulib snapshot. # The second ensures that whenever we change the set of gnulib modules used @@ -94,7 +71,7 @@ if test -d .git || test -f .git; then esac done fi - if test "$CLEAN_SUBMODULE" && test -z "$no_git"; then + if test "$CLEAN_SUBMODULE"; then echo "Cleaning up submodules..." git submodule foreach 'git clean -dfqx && git reset --hard' || { die "Cleaning up submodules failed" @@ -113,7 +90,7 @@ if test -d .git || test -f .git; then # successful bootstrap run, is stored on disk state_file=.git-module-status expected_hash=$(cat "$state_file" 2>/dev/null) - actual_hash=$(gnulib_hash "$no_git") + actual_hash=$(gnulib_hash) if test "$actual_hash" = "$expected_hash"; then # The gnulib hash matches our expectations, and all the files @@ -128,7 +105,7 @@ if test -d .git || test -f .git; then # has been changed in some way (see gnulib_hash) we need to # run bootstrap again. echo "Running bootstrap..." - ./bootstrap$no_git || { + ./bootstrap || { die "bootstrap failed" } gnulib_hash >"$state_file" diff --git a/docs/compiling.html.in b/docs/compiling.html.in index 5869ebb90f..31833decc6 100644 --- a/docs/compiling.html.in +++ b/docs/compiling.html.in @@ -82,19 +82,6 @@ $ <b>sudo</b> <i>make install</i></pre> disk space requirements and network download time, regardless of which actual commit you have in that reference directory. </p> - <p> - However, if you are developing on a platform where git is not - available, or are behind a firewall that does not allow for git - to easily obtain the gnulib submodule, it is possible to instead - use a static mode of operation where you are then responsible - for updating the git submodule yourself. In this mode, you must - track the exact gnulib commit needed by libvirt (usually not the - latest gnulib.git) via alternative means, such as a shared NFS - drive or manual download, and run this any time libvirt.git - updates the commit stored in the .gnulib submodule:</p> - <pre> -$ GNULIB_SRCDIR=/path/to/gnulib ./autogen.sh --no-git - </pre> <p>To build & install libvirt to your home directory the following commands can be run: -- 2.24.1

On Thu, Jan 09, 2020 at 03:53:22PM +0100, Pavel Hrdina wrote:
Now that we have bootstrap output stored in git there is no need for these options.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- autogen.sh | 29 +++-------------------------- docs/compiling.html.in | 13 ------------- 2 files changed, 3 insertions(+), 39 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, Jan 09, 2020 at 03:53:10PM +0100, Pavel Hrdina wrote:
This patch series is motivated by the effort to adopt Meson as our build system but all of it improves the current build system on its own.
It moves the burden to run bootstrap/autoreconf to developers which means it will save some time for others when there is any change to the build system.
Since one of the patches is slightly bigger here is link to git:
<https://gitlab.com/phrdina/libvirt.git> branch <configure>
FYI, I am getting really close to being able to post another series which entirely kills off gnulib. I'm down to 4 modules left today, and a bunch of testing. If all goes well I'll likely be done by end of this week. Most of these patches are still OK to push, but I'm thinking it is nicer to hold off on pushing the really big patch 10 which actually commits all the gnulib files. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Wed, Jan 15, 2020 at 06:47:41PM +0000, Daniel P. Berrangé wrote:
On Thu, Jan 09, 2020 at 03:53:10PM +0100, Pavel Hrdina wrote:
This patch series is motivated by the effort to adopt Meson as our build system but all of it improves the current build system on its own.
It moves the burden to run bootstrap/autoreconf to developers which means it will save some time for others when there is any change to the build system.
Since one of the patches is slightly bigger here is link to git:
<https://gitlab.com/phrdina/libvirt.git> branch <configure>
FYI, I am getting really close to being able to post another series which entirely kills off gnulib. I'm down to 4 modules left today, and a bunch of testing. If all goes well I'll likely be done by end of this week.
Most of these patches are still OK to push, but I'm thinking it is nicer to hold off on pushing the really big patch 10 which actually commits all the gnulib files.
Well nice work. I was not hoping to get rid of gnulib before the Meson rewrite, but it will make things easier so I'm perfectly fine to wait for that. I'll do review ASAP once the patches are on list. Pavel
participants (2)
-
Daniel P. Berrangé
-
Pavel Hrdina