public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sven Wegener" <swegener@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/systemtap/, dev-util/systemtap/files/
Date: Sat,  9 Jan 2021 21:38:45 +0000 (UTC)	[thread overview]
Message-ID: <1610228302.d9e418897d938968c73c24deed360e04fb7342e1.swegener@gentoo> (raw)

commit:     d9e418897d938968c73c24deed360e04fb7342e1
Author:     Sven Wegener <swegener <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  9 21:30:42 2021 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Sat Jan  9 21:38:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9e41889

dev-util/systemtap: Fix building with non-bash shell, bug #719438

Closes: https://bugs.gentoo.org/719438
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Sven Wegener <swegener <AT> gentoo.org>

 ...systemtap-4.0-configure.ac-non-posix-test.patch | 214 +++++++++++++++++++++
 dev-util/systemtap/systemtap-4.0-r2.ebuild         | 117 +++++++++++
 2 files changed, 331 insertions(+)

diff --git a/dev-util/systemtap/files/systemtap-4.0-configure.ac-non-posix-test.patch b/dev-util/systemtap/files/systemtap-4.0-configure.ac-non-posix-test.patch
new file mode 100644
index 00000000000..d429ab197dd
--- /dev/null
+++ b/dev-util/systemtap/files/systemtap-4.0-configure.ac-non-posix-test.patch
@@ -0,0 +1,214 @@
+ configure.ac | 62 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 31 insertions(+), 31 deletions(-)
+
+diff --git i/configure.ac w/configure.ac
+index caa62ee28..19db3fb21 100644
+--- i/configure.ac
++++ w/configure.ac
+@@ -225,7 +225,7 @@ dnl fi
+ # Compiling without fPIE by default (see PR 9922)
+ AC_ARG_ENABLE([pie],
+   [AS_HELP_STRING([--enable-pie], [enable position-independent-executable])])
+-AS_IF([test "x$enable_pie" == xyes],[
++AS_IF([test "x$enable_pie" = xyes],[
+    PIECFLAGS='-fPIE'
+    PIECXXFLAGS='-fPIE'
+    PIELDFLAGS='-pie -Wl,-z,relro -Wl,-z,now'
+@@ -271,7 +271,7 @@ AC_ARG_ENABLE([translator],
+   AS_HELP_STRING([--disable-translator], [build only runtime utilities]),
+   [],
+   [enable_translator="yes"])
+-AM_CONDITIONAL([BUILD_TRANSLATOR], [test "$enable_translator" == "yes"])
++AM_CONDITIONAL([BUILD_TRANSLATOR], [test "$enable_translator" = "yes"])
+ 
+ dnl Handle the option to build the crash extension
+ AC_ARG_ENABLE([crash],
+@@ -312,25 +312,25 @@ AC_CHECK_PROG(have_latex, latex, yes, no)
+ AC_CHECK_PROG(have_dvips, dvips, yes, no)
+ AC_CHECK_PROG(have_ps2pdf, ps2pdf, yes, no)
+ if test "x${have_latex}${have_dvips}${have_ps2pdf}" != "xyesyesyes"; then
+-   if test "$enable_docs" == "yes"; then
++   if test "$enable_docs" = "yes"; then
+       AC_MSG_ERROR([cannot find all tools for building documentation])
+    fi
+-  if test "$enable_docs" == "check"; then
++  if test "$enable_docs" = "check"; then
+     AC_MSG_WARN([will not build documentation, cannot find all tools])
+   fi
+ fi
+-if test "$enable_docs" == "prebuilt"; then
++if test "$enable_docs" = "prebuilt"; then
+   AC_MSG_NOTICE([will only install prebuilt documentation])
+ fi
+-if test "x${have_latex}${have_dvips}${have_ps2pdf}" == "xyesyesyes" -a "$enable_docs" != "no" -a "$enable_docs" != "prebuilt"; then
++if test "x${have_latex}${have_dvips}${have_ps2pdf}" = "xyesyesyes" -a "$enable_docs" != "no" -a "$enable_docs" != "prebuilt"; then
+    building_docs="yes"
+    installing_prebuilt_docs="yes"
+ fi
+-if test "$enable_docs" == "no"; then
++if test "$enable_docs" = "no"; then
+    installing_prebuilt_docs="no"
+ fi
+-AM_CONDITIONAL([BUILD_DOCS], [test "$building_docs" == "yes"])
+-AM_CONDITIONAL([INSTALL_PREBUILT_DOCS], [test "$installing_prebuilt_docs" == "yes"])
++AM_CONDITIONAL([BUILD_DOCS], [test "$building_docs" = "yes"])
++AM_CONDITIONAL([INSTALL_PREBUILT_DOCS], [test "$installing_prebuilt_docs" = "yes"])
+ 
+ 
+ dnl Handle the option to build the reference documentation
+@@ -340,17 +340,17 @@ AC_ARG_ENABLE([refdocs],
+     [enable building reference documentation (default on if other documentation built).]),
+   [enable_refdocs=$enableval],
+   [enable_refdocs="check"])
+-if test "$building_docs" == "no" -a "$enable_refdocs" == "yes" ; then
++if test "$building_docs" = "no" -a "$enable_refdocs" = "yes" ; then
+    AC_MSG_ERROR([must use --enable-docs with --enable-refdocs])
+ fi
+-if test "$enable_refdocs" != "no" -a "${building_docs}" == "yes"; then
++if test "$enable_refdocs" != "no" -a "${building_docs}" = "yes"; then
+    building_refdocs="yes"
+ fi
+-AM_CONDITIONAL([BUILD_REFDOCS], [test "$building_refdocs" == "yes"])
++AM_CONDITIONAL([BUILD_REFDOCS], [test "$building_refdocs" = "yes"])
+ 
+ AC_CHECK_PROG(have_xmlto, xmlto, yes, no)
+ AC_CHECK_PROG(have_fop, fop, yes, no)
+-if test "x${have_fop}" == "xyes"; then
++if test "x${have_fop}" = "xyes"; then
+    # Due to rhbz505364 / 830266, we must actually test-run fop, not just
+    # hope that it works.
+    AC_MSG_CHECKING([to see if xmlto --with-fop actually works])
+@@ -362,8 +362,8 @@ if test "x${have_fop}" == "xyes"; then
+    fi
+    rm -f dummy-tapsets.pdf
+ fi
+-AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" == "yes"])
+-AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" == "yes"])
++AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = "yes"])
++AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = "yes"])
+ 
+ dnl Handle the option to build the html documentation
+ building_htmldocs="no"
+@@ -372,11 +372,11 @@ AC_ARG_ENABLE([htmldocs],
+     [enable building html documentation (default off).]),
+     [building_htmldocs=$enableval],
+     [building_htmldocs="no"])
+-if test "$have_xmlto" == "no" -a "$building_htmldocs" == "yes"; then
++if test "$have_xmlto" = "no" -a "$building_htmldocs" = "yes"; then
+    AC_MSG_ERROR([xmlto required for building html documentation])
+ fi
+ 
+-AM_CONDITIONAL([BUILD_HTMLDOCS], [test "$building_htmldocs" == "yes"])
++AM_CONDITIONAL([BUILD_HTMLDOCS], [test "$building_htmldocs" = "yes"])
+ 
+ dnl There is a strange bug in older versions of xmlto when generating pdf.
+ dnl https://bugzilla.redhat.com/show_bug.cgi?id=526273
+@@ -396,10 +396,10 @@ cat > conftest.xml << 'EOF'
+    </book>
+ EOF
+ 
+-if test "x${have_xmlto}" == "xyes"; then
++if test "x${have_xmlto}" = "xyes"; then
+ AC_MSG_CHECKING([for xmlto --stringparam support])
+    xmlto --stringparam man.authors.section.enabled=0 html-nochunks conftest.xml >/dev/null 2>&1
+-   if test $? == 0; then
++   if test $? = 0; then
+       have_xmlto_stringparam="yes"
+       AC_MSG_RESULT([yes])
+    else
+@@ -407,7 +407,7 @@ AC_MSG_CHECKING([for xmlto --stringparam support])
+    fi
+    rm -f conftest.html
+ fi
+-AM_CONDITIONAL([XMLTO_STRINGPARAM], [test "$have_xmlto_stringparam" == "yes"])
++AM_CONDITIONAL([XMLTO_STRINGPARAM], [test "$have_xmlto_stringparam" = "yes"])
+ 
+ rm -f conftest.xml
+ 
+@@ -473,7 +473,7 @@ dnl See if we have enough libraries and tools to build the compile server
+     AC_MSG_WARN([will not build systemtap compile server, cannot find nss headers])
+   fi		       
+ fi
+-AM_CONDITIONAL([BUILD_SERVER], [test "${have_nss}" == "yes" -a "$enable_server" != "no"])
++AM_CONDITIONAL([BUILD_SERVER], [test "${have_nss}" = "yes" -a "$enable_server" != "no"])
+ 
+ if test "${have_nss}" != "yes"; then
+   AC_MSG_WARN([compile-server client functionality will be disabled, cannot find nss development files])
+@@ -514,10 +514,10 @@ if test "$with_rpm" != "no"; then
+                     AC_DEFINE([HAVE_LIBRPMIO],[1],[have librpmio])
+                     stap_LIBS="$stap_LIBS -lc -lrpmio"
+                     have_librpmio="yes"], [have_librpmio="no"])
+-  if test "x$have_librpm" != "xyes" -a "$with_rpm" == "yes"; then
++  if test "x$have_librpm" != "xyes" -a "$with_rpm" = "yes"; then
+      AC_MSG_ERROR([cannot find librpm])
+   fi
+-  if test "x$have_librpmio" != "xyes" -a "$with_rpm" == "yes"; then
++  if test "x$have_librpmio" != "xyes" -a "$with_rpm" = "yes"; then
+      AC_MSG_WARN([cannot find librpmio])
+   fi
+ fi
+@@ -554,7 +554,7 @@ else
+ 	    [Define if you have the readline library (-lreadline).])
+ fi
+ AC_SUBST([READLINE_LIBS])
+-AM_CONDITIONAL([HAVE_LIBREADLINE], [test "$have_libreadline" == "yes"])
++AM_CONDITIONAL([HAVE_LIBREADLINE], [test "$have_libreadline" = "yes"])
+ 
+ dnl End of readline checks: restore LIBS
+ LIBS=$LIBS_no_readline
+@@ -710,7 +710,7 @@ dnl See if we have enough libraries and tools to build the virt server
+     AC_MSG_WARN([will not build systemtap virt support, cannot find xml2 headers])
+   fi		       
+ fi
+-AM_CONDITIONAL([BUILD_VIRT], [test "${have_libvirt}" == "yes" -a "${have_libxml2}" == "yes" -a "$enable_virt" != "no"])
++AM_CONDITIONAL([BUILD_VIRT], [test "${have_libvirt}" = "yes" -a "${have_libxml2}" = "yes" -a "$enable_virt" != "no"])
+ 
+ dnl Handle the option to build python2 probe support
+ AC_ARG_WITH([python2-probes],
+@@ -750,7 +750,7 @@ have_python3_support=no
+ AS_IF([test "x$with_python3_probes" != "xno"],
+   [dnl First, check to make sure we have the 'python3-config' script.
+    pathless_python3=$(basename "$PYTHON3")
+-   if test "x${pathless_python3}" == "x"; then
++   if test "x${pathless_python3}" = "x"; then
+ 	pathless_python3="python3"   
+    fi
+    AC_PATH_PROG([PYTHON3_CONFIG], [${pathless_python3}-config], [no])
+@@ -785,8 +785,8 @@ AM_CONDITIONAL([HAVE_PYTHON_PROBES],
+ dnl Check for presence of json-c and ncurses for use in monitor mode
+ PKG_CHECK_MODULES([jsonc], [json-c >= 0.11], [have_jsonc=yes], [have_jsonc=no])
+ PKG_CHECK_MODULES([ncurses], [ncurses], [have_ncurses=yes], [have_ncurses=no])
+-AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes"])
+-if test "${have_jsonc}" == "yes" -a "${have_ncurses}" == yes; then
++AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" = "yes" -a "${have_ncurses}" = "yes"])
++if test "${have_jsonc}" = "yes" -a "${have_ncurses}" = yes; then
+   AC_DEFINE([HAVE_MONITOR_LIBS],[1],[Define to 1 if json-c and ncurses libraries are installed])
+ fi
+ 
+@@ -823,7 +823,7 @@ AS_IF([test "x$with_bpf" != "xno"], [
+                [],
+                [#include <linux/bpf.h>])
+     ])
+-AM_CONDITIONAL(HAVE_BPF_DECLS, [test "x$ac_cv_have_decl_BPF_PROG_TYPE_PERF_EVENT" == "xyes"])
++AM_CONDITIONAL(HAVE_BPF_DECLS, [test "x$ac_cv_have_decl_BPF_PROG_TYPE_PERF_EVENT" = "xyes"])
+ AC_CONFIG_FILES([includes/sys/sdt-config.h po/Makefile.in])
+ 
+ if test $build_elfutils = yes -a $enable_translator = yes; then
+@@ -965,7 +965,7 @@ AS_IF([test "x$enable_http" = "xyes"],
+    dnl If we have all of the libraries, the json-c and nss libraries,
+    dnl and full C++11 support, we could build the httpd web
+    dnl compilation service.
+-   AS_IF([test "x$have_libmicrohttpd" == "xtrue" -a "x$have_libuuid" == "xtrue" -a "x$have_libcurl" == "xtrue" -a "x$have_jsonc" == "xyes" -a "x$have_nss" == "xyes" -a "x$have_openssl" == "xyes" -a "x$have_cxx0x" == "xno"], [have_http_support=yes])])
++   AS_IF([test "x$have_libmicrohttpd" = "xtrue" -a "x$have_libuuid" = "xtrue" -a "x$have_libcurl" = "xtrue" -a "x$have_jsonc" = "xyes" -a "x$have_nss" = "xyes" -a "x$have_openssl" = "xyes" -a "x$have_cxx0x" = "xno"], [have_http_support=yes])])
+ 
+ AS_IF([test "x$have_http_support" = "xyes"],
+   [AC_DEFINE([HAVE_HTTP_SUPPORT], [1],
+@@ -1010,7 +1010,7 @@ initscript/99stap/module-setup.sh \
+ initscript/99stap/install \
+ initscript/99stap/check ])
+ AC_CONFIG_SUBDIRS(testsuite)
+-if test $enable_translator == "yes"; then
++if test $enable_translator = "yes"; then
+ 	AC_CONFIG_FILES([run-stap], [chmod +x run-stap])
+ fi
+ AC_CONFIG_FILES([dtrace], [chmod +x dtrace])

diff --git a/dev-util/systemtap/systemtap-4.0-r2.ebuild b/dev-util/systemtap/systemtap-4.0-r2.ebuild
new file mode 100644
index 00000000000..0b43bdd12a7
--- /dev/null
+++ b/dev-util/systemtap/systemtap-4.0-r2.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit linux-info autotools python-single-r1
+
+DESCRIPTION="A linux trace/probe tool"
+HOMEPAGE="https://www.sourceware.org/systemtap/"
+SRC_URI="https://www.sourceware.org/${PN}/ftp/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="libvirt selinux sqlite +ssl zeroconf"
+
+RDEPEND=">=dev-libs/elfutils-0.142
+	dev-libs/json-c:=
+	sys-libs/ncurses:0=
+	sys-libs/readline:0=
+	${PYTHON_DEPS}
+	libvirt? ( >=app-emulation/libvirt-1.0.2 )
+	selinux? ( sys-libs/libselinux )
+	sqlite? ( dev-db/sqlite:3 )
+	ssl? (
+		dev-libs/nspr
+		dev-libs/nss
+	)
+	zeroconf? ( net-dns/avahi )
+"
+DEPEND="${RDEPEND}
+	app-arch/cpio
+	app-text/xmlto
+	$(python_gen_cond_dep '
+		dev-python/setuptools[${PYTHON_USEDEP}]
+	')
+	>=sys-devel/gettext-0.18.2
+	libvirt? ( dev-libs/libxml2 )
+"
+RDEPEND="${RDEPEND}
+	acct-group/stapdev
+	acct-group/stapsys
+	acct-group/stapusr
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+CONFIG_CHECK="~KPROBES ~RELAY ~DEBUG_FS"
+ERROR_KPROBES="${PN} requires support for KProbes Instrumentation (KPROBES) - this can be enabled in 'Instrumentation Support -> Kprobes'."
+ERROR_RELAY="${PN} works with support for user space relay support (RELAY) - this can be enabled in 'General setup -> Kernel->user space relay support (formerly relayfs)'."
+ERROR_DEBUG_FS="${PN} works best with support for Debug Filesystem (DEBUG_FS) - this can be enabled in 'Kernel hacking -> Debug Filesystem'."
+
+DOCS="AUTHORS HACKING NEWS README"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.1-ia64.patch
+	"${FILESDIR}"/${PN}-4.0-AR.patch
+	"${FILESDIR}"/${P}-configure.ac-non-posix-test.patch
+)
+
+pkg_setup() {
+	linux-info_pkg_setup
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	python_fix_shebang .
+
+	sed -i \
+		-e 's:-Werror::g' \
+		configure.ac \
+		Makefile.am \
+		stapbpf/Makefile.am \
+		stapdyn/Makefile.am \
+		staprun/Makefile.am \
+		testsuite/systemtap.unprivileged/unprivileged_probes.exp \
+		testsuite/systemtap.unprivileged/unprivileged_myproc.exp \
+		testsuite/systemtap.base/stmt_rel_user.exp \
+		testsuite/systemtap.base/sdt_va_args.exp \
+		testsuite/systemtap.base/sdt_misc.exp \
+		testsuite/systemtap.base/sdt.exp \
+		scripts/kprobes_test/gen_code.py \
+		|| die "Failed to clean up sources"
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--disable-docs
+		--disable-grapher
+		--disable-refdocs
+		--disable-server
+		--enable-pie
+		--with-python3
+		--without-java
+		--without-openssl
+		--without-python2-probes
+		--without-rpm
+		$(use_enable libvirt virt)
+		$(use_enable sqlite)
+		$(use_with zeroconf avahi)
+		$(use_with ssl nss)
+		$(use_with selinux)
+	)
+	PYTHON3="${PYTHON}" \
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+	python_optimize
+}


             reply	other threads:[~2021-01-09 21:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 21:38 Sven Wegener [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-05-01 12:39 [gentoo-commits] repo/gentoo:master commit in: dev-util/systemtap/, dev-util/systemtap/files/ Michał Górny
2021-07-16 22:38 Conrad Kostecki
2021-01-09 21:38 Sven Wegener
2020-09-08 22:58 Sergei Trofimovich
2017-11-07 23:08 Sergei Trofimovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1610228302.d9e418897d938968c73c24deed360e04fb7342e1.swegener@gentoo \
    --to=swegener@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox