diff --git a/0002-Forbid-AX_-prefixed-patterns-more-selectively.patch b/0002-Forbid-AX_-prefixed-patterns-more-selectively.patch new file mode 100644 index 0000000000000000000000000000000000000000..3d8211a5aef16b01b33d0da3d8156183ed343733 --- /dev/null +++ b/0002-Forbid-AX_-prefixed-patterns-more-selectively.patch @@ -0,0 +1,44 @@ +From 6ef67cff6ba26645f9cbe23ffb401f3d49a66429 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 21 Jan 2019 14:28:24 +0000 +Subject: [PATCH] configure.ac: Forbid AX_-prefixed patterns more selectively + +We want to make autoconf fail early and with a user-comprehensible +message if autoconf-archive isn't installed, rather than generating +a configure script with syntax errors, or a configure script that runs +successfully but doesn't do what we intended. + +However, autoconf-archive doesn't actually guarantee not to use +AX_-prefixed shell variable names without m4_pattern_allow'ing them +(unlike Autoconf, Automake, Libtool and pkg-config, which explicitly use +m4_pattern_allow for variables with AC_, AM_, LT_ and PKG_ prefixes), so +it isn't safe to assume that they won't be used. In particular, recent +versions of AX_CHECK_GNU_MAKE appear to be using +$AX_CHECK_GNU_MAKE_HEADLINE as a shell variable. + +Instead, specifically forbid the names of the finite list of macros +that we actually use. + +Signed-off-by: Simon McVittie +Resolves: dbus#249 +(cherry picked from commit ee09cc0acdc1c34e8ae999adf9922f3d0d66f407) +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index cc8686037..d876a2fd5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,7 +10,7 @@ AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?produc + + AC_CONFIG_AUX_DIR([build-aux]) + +-m4_pattern_forbid([^AX_], ++m4_pattern_forbid([^AX_(CHECK_ENABLE_DEBUG|CODE_COVERAGE|COMPILER_FLAGS|COMPILER_FLAGS_(CFLAGS|CXXFLAGS|LDFLAGS))\b], + [Unexpanded AX_ macro found. Please install GNU autoconf-archive]) + + AC_CANONICAL_HOST +-- +GitLab + diff --git a/0003-Adapt-to-API-change-in-AX_CODE_COVERAGE-version-28.patch b/0003-Adapt-to-API-change-in-AX_CODE_COVERAGE-version-28.patch new file mode 100644 index 0000000000000000000000000000000000000000..bd22d922d0fe897132b038c3aba790fd83daf266 --- /dev/null +++ b/0003-Adapt-to-API-change-in-AX_CODE_COVERAGE-version-28.patch @@ -0,0 +1,582 @@ +From d9ef0226e2ff346f80c0c8ba1a0fec19c553b458 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 21 Jan 2019 17:51:07 +0000 +Subject: [PATCH] Adapt to API change in AX_CODE_COVERAGE version 28 + +AX_CODE_COVERAGE recently changed the way it embedded its Makefile rules +in the output file: instead of using @CODE_COVERAGE_RULES@, users +are now meant to include aminclude_static.am. + +The new AX_CODE_COVERAGE is only in the latest autoconf-archive release, +version 2019.01.06, which is inconveniently new, so bundle everything +we need for the moment. + +This requires us to stop using the deprecated CODE_COVERAGE_LDFLAGS +(which we still used to support older versions of autoconf-archive) +and replace them with CODE_COVERAGE_LIBS. + +Signed-off-by: Simon McVittie +(cherry picked from commit 2938c2125ebcd001e470aeac1ffac45b6b1ebe89) +Closes: dbus#265 +--- + Makefile.am | 2 +- + bus/Makefile.am | 6 +- + dbus/Makefile.am | 2 +- + m4/ax_ac_append_to_file.m4 | 32 +++++ + m4/ax_ac_print_to_file.m4 | 32 +++++ + m4/ax_add_am_macro_static.m4 | 28 ++++ + m4/ax_am_macros_static.m4 | 38 +++++ + m4/ax_code_coverage.m4 | 272 +++++++++++++++++++++++++++++++++++ + m4/ax_file_escapes.m4 | 30 ++++ + test/Makefile.am | 4 +- + 11 files changed, 443 insertions(+), 7 deletions(-) + create mode 100644 m4/ax_ac_append_to_file.m4 + create mode 100644 m4/ax_ac_print_to_file.m4 + create mode 100644 m4/ax_add_am_macro_static.m4 + create mode 100644 m4/ax_am_macros_static.m4 + create mode 100644 m4/ax_code_coverage.m4 + create mode 100644 m4/ax_file_escapes.m4 + +diff --git a/Makefile.am b/Makefile.am +index 9a9023018..45183cb0c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -51,4 +51,4 @@ DISTCHECK_CONFIGURE_FLAGS = \ + ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + + # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE +-@CODE_COVERAGE_RULES@ ++include $(top_srcdir)/aminclude_static.am +diff --git a/bus/Makefile.am b/bus/Makefile.am +index 9ae30716b..c91706310 100644 +--- a/bus/Makefile.am ++++ b/bus/Makefile.am +@@ -6,7 +6,7 @@ systemdtmpfilesdir = $(prefix)/lib/tmpfiles.d + systemdsysusersdir = $(prefix)/lib/sysusers.d + + DBUS_BUS_LIBS = \ +- $(CODE_COVERAGE_LDFLAGS) \ ++ $(CODE_COVERAGE_LIBS) \ + $(EXPAT_LIBS) \ + $(SELINUX_LIBS) \ + $(APPARMOR_LIBS) \ +@@ -16,7 +16,7 @@ DBUS_BUS_LIBS = \ + $(NULL) + + DBUS_LAUNCHER_LIBS = \ +- $(CODE_COVERAGE_LDFLAGS) \ ++ $(CODE_COVERAGE_LIBS) \ + $(EXPAT_LIBS) \ + $(THREAD_LIBS) \ + $(NETWORK_libs) \ +@@ -306,4 +306,4 @@ systemduserunit_DATA = \ + endif + + # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE +-@CODE_COVERAGE_RULES@ ++include $(top_srcdir)/aminclude_static.am +diff --git a/dbus/Makefile.am b/dbus/Makefile.am +index b2913ef0e..ec8e2a5ee 100644 +--- a/dbus/Makefile.am ++++ b/dbus/Makefile.am +@@ -329,7 +329,7 @@ test_dbus_SOURCES= \ + test_dbus_LDADD = libdbus-internal.la + + # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE +-@CODE_COVERAGE_RULES@ ++include $(top_srcdir)/aminclude_static.am + + clean-local: + $(AM_V_at)rm -fr ./.dbus-keyrings +diff --git a/m4/ax_ac_append_to_file.m4 b/m4/ax_ac_append_to_file.m4 +new file mode 100644 +index 000000000..242b3d520 +--- /dev/null ++++ b/m4/ax_ac_append_to_file.m4 +@@ -0,0 +1,32 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_ac_append_to_file.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_AC_APPEND_TO_FILE([FILE],[DATA]) ++# ++# DESCRIPTION ++# ++# Appends the specified data to the specified Autoconf is run. If you want ++# to append to a file when configure is run use AX_APPEND_TO_FILE instead. ++# ++# LICENSE ++# ++# Copyright (c) 2009 Allan Caffee ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 10 ++ ++AC_DEFUN([AX_AC_APPEND_TO_FILE],[ ++AC_REQUIRE([AX_FILE_ESCAPES]) ++m4_esyscmd( ++AX_FILE_ESCAPES ++[ ++printf "%s" "$2" >> "$1" ++]) ++]) +diff --git a/m4/ax_ac_print_to_file.m4 b/m4/ax_ac_print_to_file.m4 +new file mode 100644 +index 000000000..642dfc151 +--- /dev/null ++++ b/m4/ax_ac_print_to_file.m4 +@@ -0,0 +1,32 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_ac_print_to_file.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_AC_PRINT_TO_FILE([FILE],[DATA]) ++# ++# DESCRIPTION ++# ++# Writes the specified data to the specified file when Autoconf is run. If ++# you want to print to a file when configure is run use AX_PRINT_TO_FILE ++# instead. ++# ++# LICENSE ++# ++# Copyright (c) 2009 Allan Caffee ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 10 ++ ++AC_DEFUN([AX_AC_PRINT_TO_FILE],[ ++m4_esyscmd( ++AC_REQUIRE([AX_FILE_ESCAPES]) ++[ ++printf "%s" "$2" > "$1" ++]) ++]) +diff --git a/m4/ax_add_am_macro_static.m4 b/m4/ax_add_am_macro_static.m4 +new file mode 100644 +index 000000000..6442d24b7 +--- /dev/null ++++ b/m4/ax_add_am_macro_static.m4 +@@ -0,0 +1,28 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_add_am_macro_static.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_ADD_AM_MACRO_STATIC([RULE]) ++# ++# DESCRIPTION ++# ++# Adds the specified rule to $AMINCLUDE. ++# ++# LICENSE ++# ++# Copyright (c) 2009 Tom Howard ++# Copyright (c) 2009 Allan Caffee ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 8 ++ ++AC_DEFUN([AX_ADD_AM_MACRO_STATIC],[ ++ AC_REQUIRE([AX_AM_MACROS_STATIC]) ++ AX_AC_APPEND_TO_FILE(AMINCLUDE_STATIC,[$1]) ++]) +diff --git a/m4/ax_am_macros_static.m4 b/m4/ax_am_macros_static.m4 +new file mode 100644 +index 000000000..f4cee8c89 +--- /dev/null ++++ b/m4/ax_am_macros_static.m4 +@@ -0,0 +1,38 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_am_macros_static.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_AM_MACROS_STATIC ++# ++# DESCRIPTION ++# ++# Adds support for macros that create Automake rules. You must manually ++# add the following line ++# ++# include $(top_srcdir)/aminclude_static.am ++# ++# to your Makefile.am files. ++# ++# LICENSE ++# ++# Copyright (c) 2009 Tom Howard ++# Copyright (c) 2009 Allan Caffee ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 11 ++ ++AC_DEFUN([AMINCLUDE_STATIC],[aminclude_static.am]) ++ ++AC_DEFUN([AX_AM_MACROS_STATIC], ++[ ++AX_AC_PRINT_TO_FILE(AMINCLUDE_STATIC,[ ++# ]AMINCLUDE_STATIC[ generated automatically by Autoconf ++# from AX_AM_MACROS_STATIC on ]m4_esyscmd([LC_ALL=C date])[ ++]) ++]) +diff --git a/m4/ax_code_coverage.m4 b/m4/ax_code_coverage.m4 +new file mode 100644 +index 000000000..3d36924b1 +--- /dev/null ++++ b/m4/ax_code_coverage.m4 +@@ -0,0 +1,272 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CODE_COVERAGE() ++# ++# DESCRIPTION ++# ++# Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS, ++# CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included ++# in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every ++# build target (program or library) which should be built with code ++# coverage support. Also add rules using AX_ADD_AM_MACRO_STATIC; and ++# $enable_code_coverage which can be used in subsequent configure output. ++# CODE_COVERAGE_ENABLED is defined and substituted, and corresponds to the ++# value of the --enable-code-coverage option, which defaults to being ++# disabled. ++# ++# Test also for gcov program and create GCOV variable that could be ++# substituted. ++# ++# Note that all optimization flags in CFLAGS must be disabled when code ++# coverage is enabled. ++# ++# Usage example: ++# ++# configure.ac: ++# ++# AX_CODE_COVERAGE ++# ++# Makefile.am: ++# ++# include $(top_srcdir)/aminclude_static.am ++# ++# my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ... ++# my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ... ++# my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ... ++# my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ... ++# ++# clean-local: code-coverage-clean ++# distclean-local: code-coverage-dist-clean ++# ++# This results in a "check-code-coverage" rule being added to any ++# Makefile.am which do "include $(top_srcdir)/aminclude_static.am" ++# (assuming the module has been configured with --enable-code-coverage). ++# Running `make check-code-coverage` in that directory will run the ++# module's test suite (`make check`) and build a code coverage report ++# detailing the code which was touched, then print the URI for the report. ++# ++# This code was derived from Makefile.decl in GLib, originally licensed ++# under LGPLv2.1+. ++# ++# LICENSE ++# ++# Copyright (c) 2012, 2016 Philip Withnall ++# Copyright (c) 2012 Xan Lopez ++# Copyright (c) 2012 Christian Persch ++# Copyright (c) 2012 Paolo Borelli ++# Copyright (c) 2012 Dan Winship ++# Copyright (c) 2015,2018 Bastien ROUCARIES ++# ++# 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 program. If not, see . ++ ++#serial 32 ++ ++m4_define(_AX_CODE_COVERAGE_RULES,[ ++AX_ADD_AM_MACRO_STATIC([ ++# Code coverage ++# ++# Optional: ++# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. ++# Multiple directories may be specified, separated by whitespace. ++# (Default: \$(top_builddir)) ++# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated ++# by lcov for code coverage. (Default: ++# \$(PACKAGE_NAME)-\$(PACKAGE_VERSION)-coverage.info) ++# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage ++# reports to be created. (Default: ++# \$(PACKAGE_NAME)-\$(PACKAGE_VERSION)-coverage) ++# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, ++# set to 0 to disable it and leave empty to stay with the default. ++# (Default: empty) ++# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov ++# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) ++# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov ++# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) ++# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov ++# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the ++# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) ++# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov ++# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) ++# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering ++# lcov instance. (Default: empty) ++# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov ++# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) ++# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the ++# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) ++# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml ++# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) ++# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore ++# ++# The generated report will be titled using the \$(PACKAGE_NAME) and ++# \$(PACKAGE_VERSION). In order to add the current git hash to the title, ++# use the git-version-gen script, available online. ++# Optional variables ++# run only on top dir ++if CODE_COVERAGE_ENABLED ++ ifeq (\$(abs_builddir), \$(abs_top_builddir)) ++CODE_COVERAGE_DIRECTORY ?= \$(top_builddir) ++CODE_COVERAGE_OUTPUT_FILE ?= \$(PACKAGE_NAME)-\$(PACKAGE_VERSION)-coverage.info ++CODE_COVERAGE_OUTPUT_DIRECTORY ?= \$(PACKAGE_NAME)-\$(PACKAGE_VERSION)-coverage ++ ++CODE_COVERAGE_BRANCH_COVERAGE ?= ++CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= \$(if \$(CODE_COVERAGE_BRANCH_COVERAGE),\ ++--rc lcov_branch_coverage=\$(CODE_COVERAGE_BRANCH_COVERAGE)) ++CODE_COVERAGE_LCOV_SHOPTS ?= \$(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) ++CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool \"\$(GCOV)\" ++CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= \$(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) ++CODE_COVERAGE_LCOV_OPTIONS ?= \$(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) ++CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= ++CODE_COVERAGE_LCOV_RMOPTS ?= \$(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) ++CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ ++\$(if \$(CODE_COVERAGE_BRANCH_COVERAGE),\ ++--rc genhtml_branch_coverage=\$(CODE_COVERAGE_BRANCH_COVERAGE)) ++CODE_COVERAGE_GENHTML_OPTIONS ?= \$(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) ++CODE_COVERAGE_IGNORE_PATTERN ?= ++ ++GITIGNOREFILES = \$(GITIGNOREFILES) \$(CODE_COVERAGE_OUTPUT_FILE) \$(CODE_COVERAGE_OUTPUT_DIRECTORY) ++code_coverage_v_lcov_cap = \$(code_coverage_v_lcov_cap_\$(V)) ++code_coverage_v_lcov_cap_ = \$(code_coverage_v_lcov_cap_\$(AM_DEFAULT_VERBOSITY)) ++code_coverage_v_lcov_cap_0 = @echo \" LCOV --capture\" \$(CODE_COVERAGE_OUTPUT_FILE); ++code_coverage_v_lcov_ign = \$(code_coverage_v_lcov_ign_\$(V)) ++code_coverage_v_lcov_ign_ = \$(code_coverage_v_lcov_ign_\$(AM_DEFAULT_VERBOSITY)) ++code_coverage_v_lcov_ign_0 = @echo \" LCOV --remove /tmp/*\" \$(CODE_COVERAGE_IGNORE_PATTERN); ++code_coverage_v_genhtml = \$(code_coverage_v_genhtml_\$(V)) ++code_coverage_v_genhtml_ = \$(code_coverage_v_genhtml_\$(AM_DEFAULT_VERBOSITY)) ++code_coverage_v_genhtml_0 = @echo \" GEN \" \"\$(CODE_COVERAGE_OUTPUT_DIRECTORY)\"; ++code_coverage_quiet = \$(code_coverage_quiet_\$(V)) ++code_coverage_quiet_ = \$(code_coverage_quiet_\$(AM_DEFAULT_VERBOSITY)) ++code_coverage_quiet_0 = --quiet ++ ++# sanitizes the test-name: replaces with underscores: dashes and dots ++code_coverage_sanitize = \$(subst -,_,\$(subst .,_,\$(1))) ++ ++# Use recursive makes in order to ignore errors during check ++check-code-coverage: ++ -\$(AM_V_at)\$(MAKE) \$(AM_MAKEFLAGS) -k check ++ \$(AM_V_at)\$(MAKE) \$(AM_MAKEFLAGS) code-coverage-capture ++ ++# Capture code coverage data ++code-coverage-capture: code-coverage-capture-hook ++ \$(code_coverage_v_lcov_cap)\$(LCOV) \$(code_coverage_quiet) \$(addprefix --directory ,\$(CODE_COVERAGE_DIRECTORY)) --capture --output-file \"\$(CODE_COVERAGE_OUTPUT_FILE).tmp\" --test-name \"\$(call code_coverage_sanitize,\$(PACKAGE_NAME)-\$(PACKAGE_VERSION))\" --no-checksum --compat-libtool \$(CODE_COVERAGE_LCOV_SHOPTS) \$(CODE_COVERAGE_LCOV_OPTIONS) ++ \$(code_coverage_v_lcov_ign)\$(LCOV) \$(code_coverage_quiet) \$(addprefix --directory ,\$(CODE_COVERAGE_DIRECTORY)) --remove \"\$(CODE_COVERAGE_OUTPUT_FILE).tmp\" \"/tmp/*\" \$(CODE_COVERAGE_IGNORE_PATTERN) --output-file \"\$(CODE_COVERAGE_OUTPUT_FILE)\" \$(CODE_COVERAGE_LCOV_SHOPTS) \$(CODE_COVERAGE_LCOV_RMOPTS) ++ -@rm -f \"\$(CODE_COVERAGE_OUTPUT_FILE).tmp\" ++ \$(code_coverage_v_genhtml)LANG=C \$(GENHTML) \$(code_coverage_quiet) \$(addprefix --prefix ,\$(CODE_COVERAGE_DIRECTORY)) --output-directory \"\$(CODE_COVERAGE_OUTPUT_DIRECTORY)\" --title \"\$(PACKAGE_NAME)-\$(PACKAGE_VERSION) Code Coverage\" --legend --show-details \"\$(CODE_COVERAGE_OUTPUT_FILE)\" \$(CODE_COVERAGE_GENHTML_OPTIONS) ++ @echo \"file://\$(abs_builddir)/\$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html\" ++ ++code-coverage-clean: ++ -\$(LCOV) --directory \$(top_builddir) -z ++ -rm -rf \"\$(CODE_COVERAGE_OUTPUT_FILE)\" \"\$(CODE_COVERAGE_OUTPUT_FILE).tmp\" \"\$(CODE_COVERAGE_OUTPUT_DIRECTORY)\" ++ -find . \\( -name \"*.gcda\" -o -name \"*.gcno\" -o -name \"*.gcov\" \\) -delete ++ ++code-coverage-dist-clean: ++ ++A][M_DISTCHECK_CONFIGURE_FLAGS = \$(A][M_DISTCHECK_CONFIGURE_FLAGS) --disable-code-coverage ++ else # ifneq (\$(abs_builddir), \$(abs_top_builddir)) ++check-code-coverage: ++ ++code-coverage-capture: code-coverage-capture-hook ++ ++code-coverage-clean: ++ ++code-coverage-dist-clean: ++ endif # ifeq (\$(abs_builddir), \$(abs_top_builddir)) ++else #! CODE_COVERAGE_ENABLED ++# Use recursive makes in order to ignore errors during check ++check-code-coverage: ++ @echo \"Need to reconfigure with --enable-code-coverage\" ++# Capture code coverage data ++code-coverage-capture: code-coverage-capture-hook ++ @echo \"Need to reconfigure with --enable-code-coverage\" ++ ++code-coverage-clean: ++ ++code-coverage-dist-clean: ++ ++endif #CODE_COVERAGE_ENABLED ++# Hook rule executed before code-coverage-capture, overridable by the user ++code-coverage-capture-hook: ++ ++.PHONY: check-code-coverage code-coverage-capture code-coverage-dist-clean code-coverage-clean code-coverage-capture-hook ++]) ++]) ++ ++AC_DEFUN([_AX_CODE_COVERAGE_ENABLED],[ ++ AX_CHECK_GNU_MAKE([],[AC_MSG_ERROR([not using GNU make that is needed for coverage])]) ++ AC_REQUIRE([AX_ADD_AM_MACRO_STATIC]) ++ # check for gcov ++ AC_CHECK_TOOL([GCOV], ++ [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], ++ [:]) ++ AS_IF([test "X$GCOV" = "X:"], ++ [AC_MSG_ERROR([gcov is needed to do coverage])]) ++ AC_SUBST([GCOV]) ++ ++ dnl Check if gcc is being used ++ AS_IF([ test "$GCC" = "no" ], [ ++ AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) ++ ]) ++ ++ AC_CHECK_PROG([LCOV], [lcov], [lcov]) ++ AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) ++ ++ AS_IF([ test x"$LCOV" = x ], [ ++ AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) ++ ]) ++ ++ AS_IF([ test x"$GENHTML" = x ], [ ++ AC_MSG_ERROR([Could not find genhtml from the lcov package]) ++ ]) ++ ++ dnl Build the code coverage flags ++ dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility ++ CODE_COVERAGE_CPPFLAGS="-DNDEBUG" ++ CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" ++ CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" ++ CODE_COVERAGE_LIBS="-lgcov" ++ ++ AC_SUBST([CODE_COVERAGE_CPPFLAGS]) ++ AC_SUBST([CODE_COVERAGE_CFLAGS]) ++ AC_SUBST([CODE_COVERAGE_CXXFLAGS]) ++ AC_SUBST([CODE_COVERAGE_LIBS]) ++]) ++ ++AC_DEFUN([AX_CODE_COVERAGE],[ ++ dnl Check for --enable-code-coverage ++ ++ # allow to override gcov location ++ AC_ARG_WITH([gcov], ++ [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], ++ [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], ++ [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) ++ ++ AC_MSG_CHECKING([whether to build with code coverage support]) ++ AC_ARG_ENABLE([code-coverage], ++ AS_HELP_STRING([--enable-code-coverage], ++ [Whether to enable code coverage support]),, ++ enable_code_coverage=no) ++ ++ AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test "x$enable_code_coverage" = xyes]) ++ AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) ++ AC_MSG_RESULT($enable_code_coverage) ++ ++ AS_IF([ test "x$enable_code_coverage" = xyes ], [ ++ _AX_CODE_COVERAGE_ENABLED ++ ]) ++ ++ _AX_CODE_COVERAGE_RULES ++]) +diff --git a/m4/ax_file_escapes.m4 b/m4/ax_file_escapes.m4 +new file mode 100644 +index 000000000..a86fdc326 +--- /dev/null ++++ b/m4/ax_file_escapes.m4 +@@ -0,0 +1,30 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_file_escapes.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_FILE_ESCAPES ++# ++# DESCRIPTION ++# ++# Writes the specified data to the specified file. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Tom Howard ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 8 ++ ++AC_DEFUN([AX_FILE_ESCAPES],[ ++AX_DOLLAR="\$" ++AX_SRB="\\135" ++AX_SLB="\\133" ++AX_BS="\\\\" ++AX_DQ="\"" ++]) +diff --git a/test/Makefile.am b/test/Makefile.am +index 6a6e1a306..746ed314e 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -39,9 +39,9 @@ libdbus_testutils_la_SOURCES += \ + endif + + libdbus_testutils_la_LIBADD = \ ++ $(CODE_COVERAGE_LIBS) \ + $(top_builddir)/dbus/libdbus-1.la \ + $(top_builddir)/dbus/libdbus-internal.la \ +- $(CODE_COVERAGE_LDFLAGS) \ + $(NULL) + + TEST_EXTENSIONS = .sh +@@ -672,4 +672,4 @@ $(installable_test_meta_with_config): %_with_config.test: %$(EXEEXT) Makefile + ) > $@.tmp && mv $@.tmp $@ + + # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE +-@CODE_COVERAGE_RULES@ ++include $(top_srcdir)/aminclude_static.am +-- +GitLab + diff --git a/dbus.spec b/dbus.spec index adce11feb89b85aeef18c638dfb7e2d2b2aa7a43..d91b07561d5d2e011c1cbbd6450ab1ed60c0ca23 100644 --- a/dbus.spec +++ b/dbus.spec @@ -21,7 +21,7 @@ Name: dbus Epoch: 1 Version: 1.12.8 -Release: 23%{anolis_release}%{?dist}.1 +Release: 24%{anolis_release}%{?dist} Summary: D-BUS message bus Group: System Environment/Libraries @@ -43,12 +43,15 @@ Patch1: dbus-1.12.8-fix-CVE-2019-12749.patch Patch2: dbus-1.12.8-fix-CVE-2020-12049.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1839753 Patch3: dbus-1.12.8-fix-fd-limit-change.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2133644 +# https://bugzilla.redhat.com/show_bug.cgi?id=2133645 Patch4: dbus-1.20.8-CVE-2022-42010.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2133638 +# https://bugzilla.redhat.com/show_bug.cgi?id=2133639 Patch5: dbus-1.20.8-CVE-2022-42011.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2133632 +# https://bugzilla.redhat.com/show_bug.cgi?id=2133633 Patch6: dbus-1.20.8-CVE-2022-42012.patch +# Added by Anolis OS +Patch7: 0002-Forbid-AX_-prefixed-patterns-more-selectively.patch +Patch8: 0003-Adapt-to-API-change-in-AX_CODE_COVERAGE-version-28.patch BuildRequires: autoconf-archive BuildRequires: libtool @@ -444,13 +447,14 @@ popd %doc AUTHORS ChangeLog HACKING NEWS README %changelog -* Wed Jan 18 2023 Zhao Hang - 1.12.8-23.1.0.1 +* Wed Jun 28 2023 Zhao Hang - 1.12.8-24.1.0.1 - Add doc sub package, requires and provides +- Fix build failure(Chang Gao) -* Wed Oct 19 2022 David King - 1:1.12.8-23.1 -- Fix CVE-2022-42010 (#2133644) -- Fix CVE-2022-42011 (#2133638) -- Fix CVE-2022-42012 (#2133632) +* Wed Oct 19 2022 David King - 1:1.12.8-24 +- Fix CVE-2022-42010 (#2133645) +- Fix CVE-2022-42011 (#2133639) +- Fix CVE-2022-42011 (#2133633) * Tue Sep 06 2022 Ray Strode - 1:1.12.8-23 - Address race for very short running sessions in SSH diff --git a/dist b/dist index 535c6900412d365bb0ff6de8d1f27110833b3ae3..9c0e36ec42a2d9bfefacb21ac6354c9ddd910533 100644 --- a/dist +++ b/dist @@ -1 +1 @@ -an8_7 +an8