Mail archive
alpine-aports

Re: [alpine-aports] [PATCH v2] main/lttng-ust: upgrade to 2.10.3

From: Leonardo <rnalrd_at_gmail.com>
Date: Wed, 3 Apr 2019 11:09:27 +0200

Hi,

On 3/20/19 5:34 PM, Michael Jeanson wrote:
> ---
> ...c5baf1565ba1daa2b96f5e4a297571c505b4.patch | 103 ++++++++++++++++++
> main/lttng-ust/APKBUILD | 10 +-
> 2 files changed, 109 insertions(+), 4 deletions(-)
> create mode 100644 main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch

it fails here with:

make[4]: Leaving directory
'/home/larena/aports/main/lttng-ust/src/lttng-ust-2.10.3/doc/examples/demo-tracelog'
/bin/sh: ../../config/install-sh: not found
make[3]: *** [Makefile:979: all-local] Error 1

Can you replicate the issue?

Thanks!

/eo






> diff --git a/main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch b/main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch
> new file mode 100644
> index 0000000000..6d770e30f8
> --- /dev/null
> +++ b/main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch
> _at_@ -0,0 +1,103 @@
> +From 13d2c5baf1565ba1daa2b96f5e4a297571c505b4 Mon Sep 17 00:00:00 2001
> +From: Michael Jeanson <mjeanson_at_efficios.com>
> +Date: Wed, 20 Mar 2019 11:07:35 -0400
> +Subject: [PATCH] compat: work around broken _SC_NPROCESSORS_CONF on MUSL libc
> +
> +On MUSL libc the _SC_NPROCESSORS_CONF sysconf will report the number of
> +CPUs allocated to the task based on the affinity mask instead of the
> +total number of CPUs configured on the system.
> +
> +Signed-off-by: Michael Jeanson <mjeanson_at_efficios.com>
> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers_at_efficios.com>
> +---
> + libringbuffer/smp.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
> + 1 file changed, 66 insertions(+)
> +
> +diff --git a/libringbuffer/smp.c b/libringbuffer/smp.c
> +index 9e7114be..656a75da 100644
> +--- a/libringbuffer/smp.c
> ++++ b/libringbuffer/smp.c
> +_at_@ -2,6 +2,7 @@
> + * libringbuffer/smp.c
> + *
> + * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers_at_efficios.com>
> ++ * Copyright (C) 2019 Michael Jeanson <mjeanson_at_efficios.com>
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> +_at_@ -26,6 +27,7 @@
> +
> + int __num_possible_cpus;
> +
> ++#if (defined(__GLIBC__) || defined( __UCLIBC__))
> + void _get_num_possible_cpus(void)
> + {
> + int result;
> +_at_@ -43,3 +45,67 @@ void _get_num_possible_cpus(void)
> + return;
> + __num_possible_cpus = result;
> + }
> ++
> ++#else
> ++
> ++/*
> ++ * The MUSL libc implementation of the _SC_NPROCESSORS_CONF sysconf does not
> ++ * return the number of configured CPUs in the system but relies on the cpu
> ++ * affinity mask of the current task.
> ++ *
> ++ * So instead we use a strategy similar to GLIBC's, counting the cpu
> ++ * directories in "/sys/devices/system/cpu" and fallback on the value from
> ++ * sysconf if it fails.
> ++ */
> ++
> ++#include <dirent.h>
> ++#include <limits.h>
> ++#include <stdlib.h>
> ++#include <string.h>
> ++#include <sys/types.h>
> ++
> ++#define __max(a,b) ((a)>(b)?(a):(b))
> ++
> ++void _get_num_possible_cpus(void)
> ++{
> ++ int result, count = 0;
> ++ DIR *cpudir;
> ++ struct dirent *entry;
> ++
> ++ cpudir = opendir("/sys/devices/system/cpu");
> ++ if (cpudir == NULL)
> ++ goto end;
> ++
> ++ /*
> ++ * Count the number of directories named "cpu" followed by and
> ++ * integer. This is the same strategy as glibc uses.
> ++ */
> ++ while ((entry = readdir(cpudir))) {
> ++ if (entry->d_type == DT_DIR &&
> ++ strncmp(entry->d_name, "cpu", 3) == 0) {
> ++
> ++ char *endptr;
> ++ unsigned long cpu_num;
> ++
> ++ cpu_num = strtoul(entry->d_name + 3, &endptr, 10);
> ++ if ((cpu_num < ULONG_MAX) && (endptr != entry->d_name + 3)
> ++ && (*endptr == '\0')) {
> ++ count++;
> ++ }
> ++ }
> ++ }
> ++
> ++end:
> ++ /*
> ++ * Get the sysconf value as a fallback. Keep the highest number.
> ++ */
> ++ result = __max(sysconf(_SC_NPROCESSORS_CONF), count);
> ++
> ++ /*
> ++ * If both methods failed, don't store the value.
> ++ */
> ++ if (result < 1)
> ++ return;
> ++ __num_possible_cpus = result;
> ++}
> ++#endif
> diff --git a/main/lttng-ust/APKBUILD b/main/lttng-ust/APKBUILD
> index d78437b316..1c37424c6a 100644
> --- a/main/lttng-ust/APKBUILD
> +++ b/main/lttng-ust/APKBUILD
> _at_@ -1,16 +1,17 @@
> # Contributor: Michael Jeanson <mjeanson_at_efficios.com>
> # Maintainer: Michael Jeanson <mjeanson_at_efficios.com>
> pkgname=lttng-ust
> -pkgver=2.10.1
> +pkgver=2.10.3
> pkgrel=0
> pkgdesc="LTTng 2.0 Userspace Tracer"
> url="https://lttng.org"
> arch="all"
> -license="LGPL-2.0-or-later"
> +license="LGPL-2.1-or-later"
> makedepends="userspace-rcu-dev>0.10 util-linux-dev linux-headers bash"
> install=""
> subpackages="$pkgname-doc $pkgname-dev"
> -source="https://lttng.org/files/$pkgname/$pkgname-$pkgver.tar.bz2"
> +source="https://lttng.org/files/$pkgname/$pkgname-$pkgver.tar.bz2
> + 13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch"
>
> builddir="$srcdir"/$pkgname-$pkgver
>
> _at_@ -34,4 +35,5 @@ package() {
> make DESTDIR="$pkgdir" install
> }
>
> -sha512sums="bd9b75ff359a8698ba4f7b6a27d9958c8bd9539fd43d8f1bc4bb40003271c9074f1bb4176d074bac290fad1636d5a3226063275006b781f3533567dea71fac96 lttng-ust-2.10.1.tar.bz2"
> +sha512sums="6f646de3a12dbad096014f3069c3e702fb54b824b78770e777f6f877c76ffc48fae863b10c432bff1bba29caafdb5b76cb2b9cb88eb7340d5121300d2c0ff65d lttng-ust-2.10.3.tar.bz2
> +c91ea6ad2085f13de0508d0f238582bcd12f0460cb00f482a85fa5cfe8ec4ce675c084af27387f63cec9cc83430ca80fb995b289f44b515888efb796a97dc320 13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch"


---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Wed Apr 03 2019 - 11:09:27 UTC