[arch-commits] Commit in sysdig/repos/community-x86_64 (4 files)

Massimiliano Torromeo mtorromeo at archlinux.org
Wed Jun 20 07:40:16 UTC 2018


    Date: Wednesday, June 20, 2018 @ 07:40:16
  Author: mtorromeo
Revision: 344192

archrelease: copy trunk to community-x86_64

Added:
  sysdig/repos/community-x86_64/PKGBUILD
    (from rev 344191, sysdig/trunk/PKGBUILD)
  sysdig/repos/community-x86_64/bashcomp-location.patch
    (from rev 344191, sysdig/trunk/bashcomp-location.patch)
  sysdig/repos/community-x86_64/linux-4.17.patch
    (from rev 344191, sysdig/trunk/linux-4.17.patch)
Deleted:
  sysdig/repos/community-x86_64/PKGBUILD

-------------------------+
 PKGBUILD                |   97 ++++++++++++++++-----------------
 bashcomp-location.patch |   13 ++++
 linux-4.17.patch        |  133 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 195 insertions(+), 48 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-06-20 07:40:01 UTC (rev 344191)
+++ PKGBUILD	2018-06-20 07:40:16 UTC (rev 344192)
@@ -1,48 +0,0 @@
-# $Id$
-# Maintainer: Massimiliano Torromeo <massimiliano.torromeo at gmail.com>
-# Contribuitor: Alfredo Palhares <masterkorp at masterkorp.net>
-# Contribuitor: Christian Babeux <christian.babeux at 0x80.ca>
-
-pkgname=sysdig
-pkgver=0.21.0
-pkgrel=1
-pkgdesc="Open source system-level exploration and troubleshooting tool"
-arch=('x86_64')
-url="http://www.sysdig.org/"
-license=('GPL2')
-depends=('dkms' 'jsoncpp' 'luajit' 'curl' 'jq' 'libb64')
-makedepends=('cmake' 'pandoc')
-source=("https://github.com/draios/sysdig/archive/$pkgver/$pkgname-$pkgver.tar.gz")
-sha256sums=('3ba35ca1e84dd4487bdeff078ff0e48c862fa6887688f9c8d4a076865c6f9a05')
-
-prepare() {
-  cd "$srcdir"/$pkgname-$pkgver
-  sed 's|${DIR_ETC}/bash_completion.d|share/bash-completion/completions/|' -i \
-      scripts/CMakeLists.txt
-  sed 's|curl/curlbuild\.h|curl/system.h|' -i \
-      userspace/libsinsp/marathon_http.cpp \
-      userspace/libsinsp/mesos_http.cpp
-}
-
-build() {
-  cd "$srcdir"/$pkgname-$pkgver
-  rm -rf build
-  mkdir build
-  cd build
-  cmake .. \
-        -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-        -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
-        -DCMAKE_BUILD_TYPE=Release \
-        -DCMAKE_INSTALL_PREFIX=/usr \
-        -DSYSDIG_VERSION=$pkgver \
-        -DUSE_BUNDLED_DEPS=OFF \
-        -DBUILD_DRIVER=OFF \
-        -DBUILD_LIBSCAP_EXAMPLES=OFF
-  make
-}
-
-package() {
-  cd "$srcdir"/$pkgname-$pkgver
-  cd build
-  make install DESTDIR="$pkgdir"
-}

Copied: sysdig/repos/community-x86_64/PKGBUILD (from rev 344191, sysdig/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-06-20 07:40:16 UTC (rev 344192)
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo at gmail.com>
+# Contribuitor: Alfredo Palhares <masterkorp at masterkorp.net>
+# Contribuitor: Christian Babeux <christian.babeux at 0x80.ca>
+
+pkgname=sysdig
+pkgver=0.21.0
+pkgrel=2
+pkgdesc="Open source system-level exploration and troubleshooting tool"
+arch=('x86_64')
+url="http://www.sysdig.org/"
+license=('GPL2')
+depends=('dkms' 'jsoncpp' 'luajit' 'curl' 'jq' 'libb64')
+makedepends=('cmake' 'pandoc')
+source=("https://github.com/draios/sysdig/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+        "linux-4.17.patch"
+        "bashcomp-location.patch")
+sha256sums=('3ba35ca1e84dd4487bdeff078ff0e48c862fa6887688f9c8d4a076865c6f9a05'
+            '79caf0a1c47698189e611022c1342361c2caf7f6d22baac2c946301e3a2a779c'
+            'aaee8a0ff414a24c5d5a479229324be1667bc5eb70702838f5d617fd986f947b')
+
+prepare() {
+  cd "$srcdir"/$pkgname-$pkgver
+  patch -p1 -i "$srcdir"/linux-4.17.patch
+  patch -p1 -i "$srcdir"/bashcomp-location.patch
+}
+
+build() {
+  cd "$srcdir"/$pkgname-$pkgver
+  rm -rf build
+  mkdir build
+  cd build
+  cmake .. \
+        -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+        -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DSYSDIG_VERSION=$pkgver \
+        -DUSE_BUNDLED_DEPS=OFF \
+        -DBUILD_DRIVER=OFF \
+        -DBUILD_LIBSCAP_EXAMPLES=OFF
+  make
+}
+
+package() {
+  cd "$srcdir"/$pkgname-$pkgver
+  cd build
+  make install DESTDIR="$pkgdir"
+}

Copied: sysdig/repos/community-x86_64/bashcomp-location.patch (from rev 344191, sysdig/trunk/bashcomp-location.patch)
===================================================================
--- bashcomp-location.patch	                        (rev 0)
+++ bashcomp-location.patch	2018-06-20 07:40:16 UTC (rev 344192)
@@ -0,0 +1,13 @@
+diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
+index ded65e9..fd2a59b 100644
+--- a/scripts/CMakeLists.txt
++++ b/scripts/CMakeLists.txt
+@@ -2,7 +2,7 @@ configure_file(debian/postinst.in debian/postinst)
+ configure_file(debian/prerm.in debian/prerm)
+ 
+ install(FILES completions/bash/sysdig
+-	DESTINATION "${DIR_ETC}/bash_completion.d")
++	DESTINATION "share/bash-completion/completions/")
+ 
+ install(FILES completions/zsh/_sysdig
+ 	DESTINATION share/zsh/vendor-completions)

Copied: sysdig/repos/community-x86_64/linux-4.17.patch (from rev 344191, sysdig/trunk/linux-4.17.patch)
===================================================================
--- linux-4.17.patch	                        (rev 0)
+++ linux-4.17.patch	2018-06-20 07:40:16 UTC (rev 344192)
@@ -0,0 +1,133 @@
+From e9eb55388257af3bee77fe4a92d094295f7e9920 Mon Sep 17 00:00:00 2001
+From: Seth Forshee <seth.forshee at canonical.com>
+Date: Tue, 12 Jun 2018 16:03:20 -0500
+Subject: [PATCH] Update for proto_ops.getname() prototype changes in Linux
+ 4.17 (#1114)
+
+Linux 4.17 removed the sockaddr_len argument and instead returns
+the length on success instead of returning 0. To cope, define an
+internal wrapper that uses the appropriate prototype based on
+kernel version. Since nothing uses the sockaddr make the wrapper
+return 0 on success or a negative error code so that surrounding
+code does not need to change.
+---
+ driver/ppm_events.c | 35 +++++++++++++++++++++++------------
+ 1 file changed, 23 insertions(+), 12 deletions(-)
+
+diff --git a/driver/ppm_events.c b/driver/ppm_events.c
+index db6f61652..24548070b 100644
+--- a/driver/ppm_events.c
++++ b/driver/ppm_events.c
+@@ -174,6 +174,20 @@ int32_t dpi_lookahead_init(void)
+ 	return PPM_SUCCESS;
+ }
+ 
++static int sock_getname(struct socket *sock, struct sockaddr *sockaddr, int peer)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)
++	int ret;
++	ret = sock->ops->getname(sock, sockaddr, peer);
++	if (ret > 0)
++		ret = 0;
++	return ret;
++#else
++	int sockaddr_len;
++	return sock->ops->getname(sock, sockaddr, &sockaddr_len, peer);
++#endif
++}
++
+ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 lookahead_size)
+ {
+ 	u32 res = args->consumer->snaplen;
+@@ -182,7 +196,6 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+ 	sa_family_t family;
+ 	struct sockaddr_storage sock_address;
+ 	struct sockaddr_storage peer_address;
+-	int sock_address_len;
+ 	int peer_address_len;
+ 	u16 sport, dport;
+ 
+@@ -233,7 +246,7 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+ 	if (sock) {
+ 
+ 		if (sock->sk) {
+-			err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
++			err = sock_getname(sock, (struct sockaddr *)&sock_address, 0);
+ 
+ 			if (err == 0) {
+ 				if(args->event_type == PPME_SOCKET_SENDTO_X)
+@@ -254,7 +267,7 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+ 						/*
+ 						 * Suppose is a connected socket, fall back to fd
+ 						 */
+-						err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++						err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 					} else {
+ 						/*
+ 						 * Get the address len
+@@ -274,7 +287,7 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+ 							/*
+ 							 * This case should be very rare, fallback again to sock
+ 							 */
+-							err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++							err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 						}
+ 					}
+ 				} else if (args->event_type == PPME_SOCKET_SENDMSG_X) {
+@@ -327,9 +340,9 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+ 						/*
+ 						 * Suppose it is a connected socket, fall back to fd
+ 						 */
+-						err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++						err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 				} else
+-					err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++					err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 
+ 				if (err == 0) {
+ 					family = sock->sk->sk_family;
+@@ -863,8 +876,6 @@ u16 fd_to_socktuple(int fd,
+ 	char *dest;
+ 	struct sockaddr_storage sock_address;
+ 	struct sockaddr_storage peer_address;
+-	int sock_address_len;
+-	int peer_address_len;
+ 
+ 	/*
+ 	 * Get the socket from the fd
+@@ -882,7 +893,7 @@ u16 fd_to_socktuple(int fd,
+ 		return 0;
+ 	}
+ 
+-	err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
++	err = sock_getname(sock, (struct sockaddr *)&sock_address, 0);
+ 	ASSERT(err == 0);
+ 
+ 	family = sock->sk->sk_family;
+@@ -893,7 +904,7 @@ u16 fd_to_socktuple(int fd,
+ 	switch (family) {
+ 	case AF_INET:
+ 		if (!use_userdata) {
+-			err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++			err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 			if (err == 0) {
+ 				if (is_inbound) {
+ 					sip = ((struct sockaddr_in *) &peer_address)->sin_addr.s_addr;
+@@ -945,7 +956,7 @@ u16 fd_to_socktuple(int fd,
+ 		break;
+ 	case AF_INET6:
+ 		if (!use_userdata) {
+-			err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++			err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 			ASSERT(err == 0);
+ 
+ 			if (is_inbound) {
+@@ -1020,7 +1031,7 @@ u16 fd_to_socktuple(int fd,
+ 			if (is_inbound) {
+ 				us_name = ((struct sockaddr_un *) &sock_address)->sun_path;
+ 			} else {
+-				err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
++				err = sock_getname(sock, (struct sockaddr *)&peer_address, 1);
+ 				ASSERT(err == 0);
+ 
+ 				us_name = ((struct sockaddr_un *) &peer_address)->sun_path;



More information about the arch-commits mailing list