Add procenv (#20121)
* Add procenv * procenv: Only buildrequire check * procenv: Patch for gcc 10 * procenv: Add omitted patch * Indent doc string
This commit is contained in:
parent
1b33008705
commit
11dd7ffad6
@ -0,0 +1,34 @@
|
||||
From 7cafed1316ddb16fe0689d54ba10c05dd2edd347 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Maerdian <lukas.maerdian@canonical.com>
|
||||
Date: Mon, 10 Aug 2020 15:11:23 +0200
|
||||
Subject: [PATCH] Fix GCC-10 build when used with -Werror=format-overflow=
|
||||
(Fixes #15)
|
||||
|
||||
Process names have a maximum length of 16 bytes and the buffer used has a
|
||||
length of 16 bytes, but the compiler is picky about writing and arbirary
|
||||
string into that small buffer. Tell the compiler to write max. 15 chars +
|
||||
'\0', to make it happy.
|
||||
https://stackoverflow.com/questions/23534263/what-is-the-maximum-allowed-limit-on-the-length-of-a-process-name
|
||||
---
|
||||
src/platform/linux/platform.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/platform/linux/platform.c b/src/platform/linux/platform.c
|
||||
index a392bc0..49ea36c 100644
|
||||
--- a/src/platform/linux/platform.c
|
||||
+++ b/src/platform/linux/platform.c
|
||||
@@ -1263,12 +1263,12 @@ handle_proc_branch_linux (void)
|
||||
|
||||
if ((p=strstr (buffer, "Name:")) == buffer) {
|
||||
p += 1+strlen ("Name:"); /* jump over tab char */
|
||||
- sprintf (name, "%s", p);
|
||||
+ sprintf (name, "%.15s", p);
|
||||
}
|
||||
|
||||
if ((p=strstr (buffer, "PPid:")) == buffer) {
|
||||
p += 1+strlen ("PPid:"); /* jump over tab char */
|
||||
- sprintf (ppid, "%s", p);
|
||||
+ sprintf (ppid, "%.15s", p);
|
||||
|
||||
/* got all we need now */
|
||||
break;
|
29
var/spack/repos/builtin/packages/procenv/package.py
Normal file
29
var/spack/repos/builtin/packages/procenv/package.py
Normal file
@ -0,0 +1,29 @@
|
||||
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Procenv(AutotoolsPackage):
|
||||
"""A command-line tool that displays as much detail about itself and
|
||||
its environment as possible. It can be used as a test tool, to
|
||||
understand the type of environment a process runs in, and for
|
||||
comparing system environments."""
|
||||
|
||||
homepage = "https://github.com/jamesodhunt/procenv/"
|
||||
url = "https://github.com/jamesodhunt/procenv/archive/0.51.tar.gz"
|
||||
|
||||
version('0.51', sha256='b831c14729e06a285cc13eba095817ce3b6d0ddf484b1264951b03ee4fe25bc9')
|
||||
|
||||
# https://github.com/jamesodhunt/procenv/pull/16
|
||||
patch("7cafed1316ddb16fe0689d54ba10c05dd2edd347.patch", when="@:0.51")
|
||||
|
||||
depends_on('expat')
|
||||
depends_on('libpcap')
|
||||
# Fixme: package these and use conditionally (on linux)
|
||||
# depends_on('libselinux')
|
||||
# depends_on('libapparmor')
|
||||
depends_on('numactl')
|
||||
depends_on('check', type='build')
|
Loading…
Reference in New Issue
Block a user