From patchwork Tue Nov 14 14:54:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Norbert Lange X-Patchwork-Id: 837891 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ln3sqGWT"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3ybrsp3wj2z9s7m for ; Wed, 15 Nov 2017 02:25:01 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 64AAC2EA8C; Tue, 14 Nov 2017 15:24:39 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jvM6VMyEJ5pi; Tue, 14 Nov 2017 15:24:37 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 31C3C26F21; Tue, 14 Nov 2017 15:24:37 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id BA3F01C0521 for ; Tue, 14 Nov 2017 14:54:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B14D186DA1 for ; Tue, 14 Nov 2017 14:54:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zeDiynTVpzpR for ; Tue, 14 Nov 2017 14:54:54 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by whitealder.osuosl.org (Postfix) with ESMTPS id 8F0DE86D7E for ; Tue, 14 Nov 2017 14:54:54 +0000 (UTC) Received: by mail-wr0-f194.google.com with SMTP id j23so17730394wra.9 for ; Tue, 14 Nov 2017 06:54:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BHccAHyOAlGsj2yzsyxlO/fjALDh3J2fKqQcFDL/igs=; b=Ln3sqGWTnWrrZ+Yzet9TwZtFBzESMP24Dhk8wMgrK50d0tWpicewJao+j9V+dUM1AJ fa5uKu5qgf7RP0aljGyRtR7WV/1NzLxwJr5Z4c3EKu8u3PsqMCMQQQfEZLFRkyaFUy+k R/RC4lP/oUFwsvrVMEiXOzTzjJ5grv64IQPyONxcuO9+FlYosHa3h04prnikMCiTP2/B DEkz9ogVHl8ChIbzE0NGL+QirsfJu6E9tgnys3Y8wzv77k9Csk2jaXNBsF2faBHru1qY 0nIPl0VTHGMiNNee6F+xbPg3S8aCAPHqAxTHSo8RVCQ6w5OzA4vi/Xx7nkoMhvWB0Qng b1GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BHccAHyOAlGsj2yzsyxlO/fjALDh3J2fKqQcFDL/igs=; b=RUaoQyQJ83qYmsBSvtoc1QHJv0wsjAoJUv1TloMGfnPWNEuDV0WJXN6L+a6IudybIy RGJBIUTR79lZtdcj01m5m1iaYLKFg1ll+8C2yhZ9/xyTqiTr0SzDbvRxfTBX7bof6usn OKJ3RxEBwLH7uD7D2bLoPWJI3I3BglgyTMQkYrTZITou0nl2vtc7UKc9rFkV9XaYr382 dvAgUitijqJltCJU85MITt0TY9myGK8eJS8GcSpk1GFN7YkXfkN5NuVxZ++i9AuCXTWW xtVrn60eOcVrBYS2O9cYRHetzCb9fjD7POFL/IpxmR7+3J8gqKGmsFqnfz7jUTshcHla Kkbg== X-Gm-Message-State: AJaThX4T4iGGJq+4vx5GesRdHcvK0NB7gu6h4IhNYAtcGXlWTxiCSQPt ljYsg2meOcVfJynARbMGum5Hzg== X-Google-Smtp-Source: AGs4zMbjySp33MT2Ns0iCWpWgGsERG8Q3f8VXtQW6idK0UE7RyDFvrO8AMHdi/BQhl5U/49qXSWKhw== X-Received: by 10.223.154.184 with SMTP id a53mr11343798wrc.48.1510671292638; Tue, 14 Nov 2017 06:54:52 -0800 (PST) Received: from lano-work.andritz.com ([91.118.126.194]) by smtp.gmail.com with ESMTPSA id c67sm6637512wmd.25.2017.11.14.06.54.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Nov 2017 06:54:51 -0800 (PST) From: Norbert Lange X-Google-Original-From: Norbert Lange To: buildroot@buildroot.org Date: Tue, 14 Nov 2017 15:54:42 +0100 Message-Id: <20171114145442.16734-1-norbert.lange@andritz.com> X-Mailer: git-send-email 2.15.0 Subject: [Buildroot] [PATCH 1/1] Add TCF Agent package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Norbert Lange MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Norbert Lange --- package/Config.in | 1 + ...add-CMake-install-target-for-agent-binary.patch | 35 ++++++++++++++++ package/tcfagent/Config.in | 16 ++++++++ package/tcfagent/S55tcfagent | 47 ++++++++++++++++++++++ package/tcfagent/tcfagent.hash | 4 ++ package/tcfagent/tcfagent.mk | 38 +++++++++++++++++ package/tcfagent/tcfagent.service | 10 +++++ 7 files changed, 151 insertions(+) create mode 100644 package/tcfagent/0001-add-CMake-install-target-for-agent-binary.patch create mode 100644 package/tcfagent/Config.in create mode 100755 package/tcfagent/S55tcfagent create mode 100644 package/tcfagent/tcfagent.hash create mode 100644 package/tcfagent/tcfagent.mk create mode 100644 package/tcfagent/tcfagent.service diff --git a/package/Config.in b/package/Config.in index fe5ccc434e..ab152677e5 100644 --- a/package/Config.in +++ b/package/Config.in @@ -124,6 +124,7 @@ menu "Debugging, profiling and benchmark" source "package/stress-ng/Config.in" source "package/sysdig/Config.in" source "package/sysprof/Config.in" + source "package/tcfagent/Config.in" source "package/tinymembench/Config.in" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" diff --git a/package/tcfagent/0001-add-CMake-install-target-for-agent-binary.patch b/package/tcfagent/0001-add-CMake-install-target-for-agent-binary.patch new file mode 100644 index 0000000000..bb9c334d91 --- /dev/null +++ b/package/tcfagent/0001-add-CMake-install-target-for-agent-binary.patch @@ -0,0 +1,35 @@ +From 9140c630085833acfe565f27195a876c6656f068 Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Mon, 30 Oct 2017 16:22:40 +0100 +Subject: [PATCH] add CMake install target for agent binary + +allows use in automated buildsystems like Buildroot +--- + agent/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/agent/CMakeLists.txt b/agent/CMakeLists.txt +index aef15b96..7868987a 100644 +--- a/agent/CMakeLists.txt ++++ b/agent/CMakeLists.txt +@@ -1,6 +1,7 @@ + # -*- cmake -*- + + cmake_minimum_required(VERSION 2.8) ++include(GNUInstallDirs) + + set(CMAKE_COLOR_MAKEFILE OFF) + +@@ -43,3 +44,9 @@ message(STATUS "machine:" ${TCF_MACHINE}) + + add_executable(agent tcf/main/main.c) + target_link_libraries(agent ${TCF_LIB_NAME}) ++ ++install(TARGETS agent ${TCF_LIB_NAME} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) +-- +2.14.2 + diff --git a/package/tcfagent/Config.in b/package/tcfagent/Config.in new file mode 100644 index 0000000000..1374fdf88d --- /dev/null +++ b/package/tcfagent/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_TCFAGENT + bool "tcfagent" + depends on BR2_TOOLCHAIN_HAS_THREADS # snmp++ + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Target Communication Framework Agent is an example application + using the Target Communication Framework Library. + + Target Communication Framework is universal, extensible, simple, + lightweight, vendor agnostic framework for tools and targets to + communicate for purpose of debugging, profiling, code patching and + other device software development needs. tcf-agent is a daemon, + which provides TCF services that can be used by local and remote clients. + +comment "tcfagent needs a toolchain w/ threads, C++, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/tcfagent/S55tcfagent b/package/tcfagent/S55tcfagent new file mode 100755 index 0000000000..b022d5eb92 --- /dev/null +++ b/package/tcfagent/S55tcfagent @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Start tcf-agent.... +# + +DAEMON_PATH=/usr/sbin/tcf-agent +DAEMON_NAME=tcf-agent +DAEMON_ARGS="-d -L- -l0" + +PIDFILE=/var/run/$DAEMON_NAME.pid +[ ! -r /etc/default/$DAEMON_NAME ] || . /etc/default/$DAEMON_NAME + +start() { + printf "Starting $DAEMON_NAME: " + start-stop-daemon -S -q -o \ + -x $DAEMON_PATH -- $DAEMON_ARGS && + PPID=$(pidof $(basename $DAEMON_PATH)) && + echo $PPID > $PIDFILE + + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +stop() { + printf "Stopping $DAEMON_NAME: " + start-stop-daemon -K -o -s HUP -q -p $PIDFILE \ + -x $DAEMON_PATH && + rm -f $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/tcfagent/tcfagent.hash b/package/tcfagent/tcfagent.hash new file mode 100644 index 0000000000..ffed5dcb19 --- /dev/null +++ b/package/tcfagent/tcfagent.hash @@ -0,0 +1,4 @@ +# Locally computed: +sha256 47d34c0778aa8b9e2c26132c9bb03d643bfb8e44d03ce862d06f2f93edcb63ae org.eclipse.tcf.agent-1.3.0.tar.gz +sha256 34188fd2daeadf6574071f5004f9a7a55b3ac73efe9db203a01559ee1013b2db org.eclipse.tcf.agent-1.4_neon.tar.gz +sha256 4b6c757e2bed92a0a791d0687425d462c974abe4c79f80e27e362fdaa59107f5 org.eclipse.tcf.agent-1.5_oxygen.tar.gz diff --git a/package/tcfagent/tcfagent.mk b/package/tcfagent/tcfagent.mk new file mode 100644 index 0000000000..30bd366137 --- /dev/null +++ b/package/tcfagent/tcfagent.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# TCFAGENT +# +################################################################################ + +TCFAGENT_VERSION = 1.5_oxygen +# the tar.xz link was broken the time this file got authored +TCFAGENT_SOURCE = org.eclipse.tcf.agent-$(TCFAGENT_VERSION).tar.gz +TCFAGENT_SITE = http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/snapshot +# see https://wiki.spdx.org/view/Legal_Team/License_List/Licenses_Under_Consideration +TCFAGENT_LICENSE = BSD-3-Clause +TCFAGENT_LICENSE_FILES = agent/edl-v10.html + +TCFAGENT_DEPENDENCIES = util-linux +TCFAGENT_SUBDIR = agent +TCFAGENT_CONF_OPTS = -DBUILD_SHARED_LIBS=Off + +define TCFAGENT_RENAME_AGENT + mv $(TARGET_DIR)/usr/bin/agent $(TARGET_DIR)/usr/sbin/tcf-agent +endef + +TCFAGENT_POST_INSTALL_TARGET_HOOKS += TCFAGENT_RENAME_AGENT + +define TCFAGENT_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/tcfagent/tcfagent.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tcfagent.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/tcfagent.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tcfagent.service +endef + +define TCFAGENT_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/tcfagent/S55tcfagent \ + $(TARGET_DIR)/etc/init.d/S55tcfagent +endef + +$(eval $(cmake-package)) diff --git a/package/tcfagent/tcfagent.service b/package/tcfagent/tcfagent.service new file mode 100644 index 0000000000..2f57fca3c8 --- /dev/null +++ b/package/tcfagent/tcfagent.service @@ -0,0 +1,10 @@ +[Unit] +Description=Target Communication Framework Agent +After=network.target + +[Service] +Type=forking +ExecStart=@SBINDIR@/tcf-agent -L- -l0 + +[Install] +WantedBy=multi-user.target