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.torro...@gmail.com> -# Contribuitor: Alfredo Palhares <masterk...@masterkorp.net> -# Contribuitor: Christian Babeux <christian.bab...@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.torro...@gmail.com> +# Contribuitor: Alfredo Palhares <masterk...@masterkorp.net> +# Contribuitor: Christian Babeux <christian.bab...@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.fors...@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;