summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Tartière <romain@FreeBSD.org>2021-05-23 09:32:31 -1000
committerRomain Tartière <romain@FreeBSD.org>2021-05-23 09:32:31 -1000
commitaf41f55753385d93f35fbdf3ad7fecf23a9c8721 (patch)
tree8a83d252ba92f506f7b8f03e41da1f50e96bb815
parentnet/cpp-pcp-client: New port (diff)
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
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/pxp-agent/Makefile24
-rw-r--r--sysutils/pxp-agent/distinfo3
-rw-r--r--sysutils/pxp-agent/files/patch-cmake_FindCPPHOCON.cmake9
-rw-r--r--sysutils/pxp-agent/files/patch-cmake_Findcpp-pcp-client.cmake9
-rw-r--r--sysutils/pxp-agent/files/patch-lib_tests_unit_action__request__test.cc17
-rw-r--r--sysutils/pxp-agent/files/patch-modules_pxp-module-puppet8
-rw-r--r--sysutils/pxp-agent/pkg-descr5
-rw-r--r--sysutils/pxp-agent/pkg-plist6
9 files changed, 82 insertions, 0 deletions
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@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