git: af41f5575338 - main - sysutils/pxp-agent: New port

Romain Tartière romain at FreeBSD.org
Sun May 23 19:39:52 UTC 2021


The branch main has been updated by romain:

URL: https://cgit.FreeBSD.org/ports/commit/?id=af41f55753385d93f35fbdf3ad7fecf23a9c8721

commit af41f55753385d93f35fbdf3ad7fecf23a9c8721
Author:     Romain Tartière <romain at FreeBSD.org>
AuthorDate: 2021-05-23 19:32:31 +0000
Commit:     Romain Tartière <romain at FreeBSD.org>
CommitDate: 2021-05-23 19:32:31 +0000

    sysutils/pxp-agent: New port
    
    This is the agent for the PCP Execution Protocol (PXP), based on the the Puppet
    Communications Protocol (PCP). It enables the execution of actions on remote
    nodes.
    
    WWW: https://github.com/puppetlabs/pxp-agent
    
    With hat:       puppet
---
 sysutils/Makefile                                  |  1 +
 sysutils/pxp-agent/Makefile                        | 24 ++++++++++++++++++++++
 sysutils/pxp-agent/distinfo                        |  3 +++
 .../pxp-agent/files/patch-cmake_FindCPPHOCON.cmake |  9 ++++++++
 .../files/patch-cmake_Findcpp-pcp-client.cmake     |  9 ++++++++
 .../patch-lib_tests_unit_action__request__test.cc  | 17 +++++++++++++++
 .../files/patch-modules_pxp-module-puppet          |  8 ++++++++
 sysutils/pxp-agent/pkg-descr                       |  5 +++++
 sysutils/pxp-agent/pkg-plist                       |  6 ++++++
 9 files changed, 82 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index e341a8cbc373..1053fc4771a8 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -993,6 +993,7 @@
     SUBDIR += pwol
     SUBDIR += pwsafe
     SUBDIR += pxattr
+    SUBDIR += pxp-agent
     SUBDIR += py-ansible-base
     SUBDIR += py-ansible-core
     SUBDIR += py-ansible-lint
diff --git a/sysutils/pxp-agent/Makefile b/sysutils/pxp-agent/Makefile
new file mode 100644
index 000000000000..a04e2121b901
--- /dev/null
+++ b/sysutils/pxp-agent/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	pxp-agent
+PORTVERSION=	1.15.11
+CATEGORIES=	sysutils
+
+MAINTAINER=	puppet at FreeBSD.org
+COMMENT=	PCP eXecution Protocol Agent
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	liblibcpp-pcp-client.so:net/cpp-pcp-client \
+		libboost_thread.so:devel/boost-libs \
+		liblibcpp-hocon.so:devel/cpp-hocon \
+		libleatherman_util.so:devel/leatherman
+
+USES=		cmake ssl
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	puppetlabs
+
+CMAKE_OFF=	ENABLE_CXX_WERROR
+LDFLAGS+=	-lthr
+
+.include <bsd.port.mk>
diff --git a/sysutils/pxp-agent/distinfo b/sysutils/pxp-agent/distinfo
new file mode 100644
index 000000000000..c2c5facdea2f
--- /dev/null
+++ b/sysutils/pxp-agent/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1621202732
+SHA256 (puppetlabs-pxp-agent-1.15.11_GH0.tar.gz) = 43ef13199f461c15df6526bdf07cda11a17dd40ae471b7055574c2ad18690def
+SIZE (puppetlabs-pxp-agent-1.15.11_GH0.tar.gz) = 318528
diff --git a/sysutils/pxp-agent/files/patch-cmake_FindCPPHOCON.cmake b/sysutils/pxp-agent/files/patch-cmake_FindCPPHOCON.cmake
new file mode 100644
index 000000000000..19d4419de3ab
--- /dev/null
+++ b/sysutils/pxp-agent/files/patch-cmake_FindCPPHOCON.cmake
@@ -0,0 +1,9 @@
+--- cmake/FindCPPHOCON.cmake.orig	2018-09-28 17:04:38 UTC
++++ cmake/FindCPPHOCON.cmake
+@@ -1,5 +1,5 @@
+ include(FindDependency)
+-find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "libcpp-hocon.a")
++find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "liblibcpp-hocon.so")
+ 
+ include(FeatureSummary)
+ set_package_properties(CPPHOCON PROPERTIES DESCRIPTION "A C++ parser for the HOCON configuration language" URL "https://github.com/puppetlabs/cpp-hocon")
diff --git a/sysutils/pxp-agent/files/patch-cmake_Findcpp-pcp-client.cmake b/sysutils/pxp-agent/files/patch-cmake_Findcpp-pcp-client.cmake
new file mode 100644
index 000000000000..117bd2ca599a
--- /dev/null
+++ b/sysutils/pxp-agent/files/patch-cmake_Findcpp-pcp-client.cmake
@@ -0,0 +1,9 @@
+--- cmake/Findcpp-pcp-client.cmake.orig	2018-09-28 17:04:38 UTC
++++ cmake/Findcpp-pcp-client.cmake
+@@ -2,5 +2,5 @@ include(FindDependency)
+ find_dependency(cpp-pcp-client
+     DISPLAY "cpp-pcp-client"
+     HEADERS "cpp-pcp-client/connector/connection.hpp"
+-    LIBRARIES "libcpp-pcp-client.so" "libcpp-pcp-client.dylib" "cpp-pcp-client"
++    LIBRARIES "liblibcpp-pcp-client.so" "libcpp-pcp-client.dylib" "cpp-pcp-client"
+     REQUIRED)
diff --git a/sysutils/pxp-agent/files/patch-lib_tests_unit_action__request__test.cc b/sysutils/pxp-agent/files/patch-lib_tests_unit_action__request__test.cc
new file mode 100644
index 000000000000..e340234eeec1
--- /dev/null
+++ b/sysutils/pxp-agent/files/patch-lib_tests_unit_action__request__test.cc
@@ -0,0 +1,17 @@
+--- lib/tests/unit/action_request_test.cc.orig	2021-05-16 22:32:47 UTC
++++ lib/tests/unit/action_request_test.cc
+@@ -38,12 +38,14 @@ TEST_CASE("ActionRequest::ActionRequest", "[request]")
+                           ActionRequest::Error);
+     }
+ 
++    /* Does not compile with a modern compiler
+     SECTION("throw a ActionRequest::Error if binary data") {
+         const PCPClient::ParsedChunks p_c { envelope, "bin data", debug, 0 };
+ 
+         REQUIRE_THROWS_AS(ActionRequest(RequestType::Blocking, p_c),
+                           ActionRequest::Error);
+     }
++    */
+ 
+     SECTION("throw a ActionRequest::Error if invalid data") {
+         const PCPClient::ParsedChunks p_c { envelope, false, debug, 0 };
diff --git a/sysutils/pxp-agent/files/patch-modules_pxp-module-puppet b/sysutils/pxp-agent/files/patch-modules_pxp-module-puppet
new file mode 100644
index 000000000000..a4aa813673de
--- /dev/null
+++ b/sysutils/pxp-agent/files/patch-modules_pxp-module-puppet
@@ -0,0 +1,8 @@
+--- modules/pxp-module-puppet.orig	2018-09-28 17:04:38 UTC
++++ modules/pxp-module-puppet
+@@ -1,4 +1,4 @@
+-#!/opt/puppetlabs/puppet/bin/ruby
++#!/usr/bin/env ruby
+ # encoding: UTF-8
+ 
+ require 'json'
diff --git a/sysutils/pxp-agent/pkg-descr b/sysutils/pxp-agent/pkg-descr
new file mode 100644
index 000000000000..bc08576d7166
--- /dev/null
+++ b/sysutils/pxp-agent/pkg-descr
@@ -0,0 +1,5 @@
+This is the agent for the PCP Execution Protocol (PXP), based on the the Puppet
+Communications Protocol (PCP). It enables the execution of actions on remote
+nodes.
+
+WWW: https://github.com/puppetlabs/pxp-agent
diff --git a/sysutils/pxp-agent/pkg-plist b/sysutils/pxp-agent/pkg-plist
new file mode 100644
index 000000000000..a0b9122b265a
--- /dev/null
+++ b/sysutils/pxp-agent/pkg-plist
@@ -0,0 +1,6 @@
+bin/PowershellShim-Helper.ps1
+bin/PowershellShim.ps1
+bin/execution_wrapper
+bin/pxp-agent
+lib/libpxp-agent.a
+pxp-agent/modules/pxp-module-puppet


More information about the dev-commits-ports-all mailing list