Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/qbee-agent: new package
@ 2023-11-09  8:09 Jon Henrik Bjørnstad via buildroot
  2023-11-09 10:25 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 16+ messages in thread
From: Jon Henrik Bjørnstad via buildroot @ 2023-11-09  8:09 UTC (permalink / raw)
  To: buildroot; +Cc: Jon Henrik Bjørnstad, Thomas Petazzoni

This patch add qbee-agent, an open source device management software
for Linux devices.

Signed-off-by: Jon Henrik Bjørnstad <jonhenrik@qbee.io>
---
 package/Config.in                  |  1 +
 package/qbee-agent/Config.in       | 16 +++++++++++
 package/qbee-agent/qbee-agent.hash |  3 ++
 package/qbee-agent/qbee-agent.mk   | 45 ++++++++++++++++++++++++++++++
 4 files changed, 65 insertions(+)
 create mode 100644 package/qbee-agent/Config.in
 create mode 100644 package/qbee-agent/qbee-agent.hash
 create mode 100644 package/qbee-agent/qbee-agent.mk

diff --git a/package/Config.in b/package/Config.in
index ce46d30fed..1fef365c35 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2741,6 +2741,7 @@ menu "System tools"
 	source "package/procs/Config.in"
 	source "package/psmisc/Config.in"
 	source "package/pwgen/Config.in"
+  source "package/qbee-agent/Config.in"
 	source "package/quota/Config.in"
 	source "package/quotatool/Config.in"
 	source "package/rauc/Config.in"
diff --git a/package/qbee-agent/Config.in b/package/qbee-agent/Config.in
new file mode 100644
index 0000000000..9cc7f5c88f
--- /dev/null
+++ b/package/qbee-agent/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_QBEE_AGENT
+	bool "qbee-agent"
+	select BR2_PACKAGE_OPENSSH if !BR2_PACKAGE_DROPBEAR_CLIENT  # runtime
+	select BR2_PACKAGE_IPTABLES  # runtime
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS  # runtime
+	select BR2_PACKAGE_SHADOW  # runtime
+	select BR2_PACKAGE_BASH  # runtime
+	help
+	  Qbee is a device management platform that comprise
+	  of an open-source agent and a hosted SaaS backend.
+	  This config installs pre-built static binaries made
+	  with the official public signing key for qbee.io. The
+	  binaries will work seamlessly with the qbee.io device
+	  management backend.
+	  https://github.com/qbee-io/qbee-agent
+	  https://qbee.io
diff --git a/package/qbee-agent/qbee-agent.hash b/package/qbee-agent/qbee-agent.hash
new file mode 100644
index 0000000000..e3a81298e0
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.hash
@@ -0,0 +1,3 @@
+md5  6e4dc7323b99d8c5a981b7b2c5da4f66  qbee-agent-2023.44.tar.gz
+sha1  a0d02c1180fd97228f23859a8dea91fe81a31626  qbee-agent-2023.44.tar.gz
+sha256  edcf319c4ce17e9844df598fa796aa87303a1bf238299dbeeb41c94ff5de5e1d  qbee-agent-2023.44.tar.gz
diff --git a/package/qbee-agent/qbee-agent.mk b/package/qbee-agent/qbee-agent.mk
new file mode 100644
index 0000000000..4e261d6bf4
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# qbee-agent package
+#
+################################################################################
+
+QBEE_AGENT_VERSION = 2023.44
+#QBEE_AGENT_SOURCE = qbee-agent-$(QBEE_AGENT_VERSION).tar.gz
+QBEE_AGENT_SITE = https://cdn.qbee.io/software/qbee-agent/$(QBEE_AGENT_VERSION)/binaries
+QBEE_AGENT_LICENSE = Apache-2.0
+
+ifeq ($(BR2_arm),y)
+QBEE_AGENT_GOARCH = arm
+else ifeq ($(BR2_aarch64),y)
+QBEE_AGENT_GOARCH = arm64
+else ifeq ($(BR2_i386),y)
+QBEE_AGENT_GOARCH = 386
+else ifeq ($(BR2_x86_64),y)
+QBEE_AGENT_GOARCH = amd64
+endif
+
+define QBEE_AGENT_BUILD_CMDS
+endef
+
+define QBEE_AGENT_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/qbee-agent-$(QBEE_AGENT_VERSION)/qbee-agent-$(QBEE_AGENT_GOARCH) $(TARGET_DIR)/usr/bin/qbee-agent
+	$(INSTALL) -d -m 0700 $(TARGET_DIR)/etc/qbee/ppkeys
+	$(INSTALL) -m 0600 $(@D)/qbee-agent-$(QBEE_AGENT_VERSION)/share/ssl/ca.cert $(TARGET_DIR)/etc/qbee/ppkeys/ca.cert
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/qbee-agent-$(QBEE_AGENT_VERSION)/init-scripts/systemd/qbee-agent.service \
+	  $(TARGET_DIR)/usr/lib/systemd/system/qbee-agent.service
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 755 $(@D)/qbee-agent-$(QBEE_AGENT_VERSION)/init-scripts/sysvinit/qbee-agent \
+	  $(TARGET_DIR)/etc/init.d/S99qbee-agent
+endef
+
+define QBEE_AGENT_LINUX_CONFIG_FIXUPS
+	$(call KCONFIG_ENABLE_OPT,CONFIG_TUN)
+endef
+
+$(eval $(generic-package))
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 0/1] Regarding review of qbee-agent patch
@ 2023-11-09 14:20 Jon Henrik Bjørnstad via buildroot
  2023-11-09 14:20 ` [Buildroot] [PATCH 1/1] package/qbee-agent: new package Jon Henrik Bjørnstad via buildroot
  0 siblings, 1 reply; 16+ messages in thread
From: Jon Henrik Bjørnstad via buildroot @ 2023-11-09 14:20 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Jon Henrik Bjørnstad

Hi Thomas,

Thanks for the initial review. I've attempted to implement most of the 
feedback.

Some notes on a few items that have been left unchanged:

License file:

The tarball in use does not contain a license file. I'm fairly new to
the buildroot project and have used a lot of existing package implementations
as inspiration. Is a license file required when using a general license 
like Apache 2.0?

Static binaries:

The binaries are statically built with a public part of a signing key
as part of the compile time arguments. This public key is used to verify
downloaded static runtime binaries from the qbee.io SaaS platform which
is signed with the production signing key. Currently only arms and intels
are supported, but this will change with future releases where the
dependency on downloaded static runtime binaries will be removed.

QBEE_AGENT_GOARCH vs. GO_GOARCH:

I changed this due to errors produced by the check-package utility:

With GO_GOARCH:

$ utils/docker-run make check-package
package/qbee-agent/qbee-agent.mk:12: possible typo: GO_GOARCH -> *QBEE_AGENT*
package/qbee-agent/qbee-agent.mk:14: possible typo: GO_GOARCH -> *QBEE_AGENT*
package/qbee-agent/qbee-agent.mk:16: possible typo: GO_GOARCH -> *QBEE_AGENT*
package/qbee-agent/qbee-agent.mk:18: possible typo: GO_GOARCH -> *QBEE_AGENT*


Thank you again for your feedback. 

With kind regards,

Jon Henrik Bjørnstad


Jon Henrik Bjørnstad (1):
  package/qbee-agent: new package

 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/qbee-agent/Config.in       | 17 ++++++++++++
 package/qbee-agent/qbee-agent.hash |  2 ++
 package/qbee-agent/qbee-agent.mk   | 42 ++++++++++++++++++++++++++++++
 5 files changed, 65 insertions(+)
 create mode 100644 package/qbee-agent/Config.in
 create mode 100644 package/qbee-agent/qbee-agent.hash
 create mode 100644 package/qbee-agent/qbee-agent.mk

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 1/1] package/qbee-agent: new package
@ 2023-11-10 10:45 Jon Henrik Bjørnstad via buildroot
  2023-11-10 14:35 ` yann.morin
  2023-11-10 17:14 ` Christian Stewart via buildroot
  0 siblings, 2 replies; 16+ messages in thread
From: Jon Henrik Bjørnstad via buildroot @ 2023-11-10 10:45 UTC (permalink / raw)
  To: buildroot; +Cc: Christian Stewart, Jon Henrik Bjørnstad, Anisse Astier

This patch add qbee-agent, an open source device management software
for Linux devices.

Signed-off-by: Jon Henrik Bjørnstad <jonhenrik@qbee.io>
---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/qbee-agent/Config.in       | 18 ++++++++++++++
 package/qbee-agent/qbee-agent.hash |  3 +++
 package/qbee-agent/qbee-agent.mk   | 39 ++++++++++++++++++++++++++++++
 5 files changed, 64 insertions(+)
 create mode 100644 package/qbee-agent/Config.in
 create mode 100644 package/qbee-agent/qbee-agent.hash
 create mode 100644 package/qbee-agent/qbee-agent.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index d80931e84a..5f6e83179f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1616,6 +1616,9 @@ F:	package/sdbusplus/
 N:	Jon Ringle <jringle@gridpoint.com>
 F:	package/mbpoll/
 
+N:	Jon Henrik Bjørnstad <jonhenrik@qbee.io>
+F:	package/qbee-agent/
+
 N:	Jonathan Ben Avraham <yba@tkos.co.il>
 F:	arch/Config.in.xtensa
 F:	package/autofs/
diff --git a/package/Config.in b/package/Config.in
index dac5058bbe..cb30906a4f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2741,6 +2741,7 @@ menu "System tools"
 	source "package/procs/Config.in"
 	source "package/psmisc/Config.in"
 	source "package/pwgen/Config.in"
+	source "package/qbee-agent/Config.in"
 	source "package/quota/Config.in"
 	source "package/quotatool/Config.in"
 	source "package/rauc/Config.in"
diff --git a/package/qbee-agent/Config.in b/package/qbee-agent/Config.in
new file mode 100644
index 0000000000..c35eabff91
--- /dev/null
+++ b/package/qbee-agent/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_QBEE_AGENT
+	bool "qbee-agent"
+	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+	select BR2_PACKAGE_OPENSSH if !BR2_PACKAGE_DROPBEAR_CLIENT # runtime
+	select BR2_PACKAGE_IPTABLES # runtime
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # runtime
+	select BR2_PACKAGE_SHADOW # runtime
+	select BR2_PACKAGE_BASH # runtime
+	help
+	  Qbee is a device management platform that comprise
+	  of an open-source agent and a hosted SaaS backend.
+	  This config installs pre-built static binaries made
+	  with the official public signing key for qbee.io. The
+	  binaries will work seamlessly with the qbee.io device
+	  management backend.
+
+	  https://github.com/qbee-io/qbee-agent
+	  https://qbee.io
diff --git a/package/qbee-agent/qbee-agent.hash b/package/qbee-agent/qbee-agent.hash
new file mode 100644
index 0000000000..918763c583
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  37b92b32890b2e95884fb13e392e8c93d963b8e9b868dff178ab7db58e815ee6  qbee-agent-2023.44.tar.gz
+sha256  02d07d96be99eb042b01ba650079a440ce26a78c5e0e1e8060c33a8c9e200404  LICENSE
diff --git a/package/qbee-agent/qbee-agent.mk b/package/qbee-agent/qbee-agent.mk
new file mode 100644
index 0000000000..f568372e01
--- /dev/null
+++ b/package/qbee-agent/qbee-agent.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# qbee-agent package
+#
+################################################################################
+
+QBEE_AGENT_VERSION = 2023.44
+QBEE_AGENT_SITE = $(call github,qbee-io,qbee-agent,$(QBEE_AGENT_VERSION))
+QBEE_AGENT_LICENSE = Apache-2.0
+QBEE_AGENT_LICENSE_FILES = LICENSE
+
+QBEE_AGENT_COMMIT_ID = 582900356222860bfc40567ea359941c9d34f499
+QBEE_AGENT_PUBLIC_SIGNING_KEY = z5mUFaW-3t3WRIjkUr2dVOzPgGw3oyR-tzBlInGfz44.EJExLiJex1X7nT7p6XTxO8kjmGkv6ik60XMzvMe-87g
+
+QBEE_AGENT_LDFLAGS = -s -w \
+	-X github.com/qbee-io/qbee-agent/app.Version=$(QBEE_AGENT_VERSION) \
+	-X github.com/qbee-io/qbee-agent/app.Commit=$(QBEE_AGENT_COMMIT_ID) \
+	-X github.com/qbee-io/qbee-agent/app/binary.PublicSigningKey=$(QBEE_AGENT_PUBLIC_SIGNING_KEY)
+
+define QBEE_AGENT_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/bin/qbee-agent $(TARGET_DIR)/usr/bin/qbee-agent
+	$(INSTALL) -D -m 0600 $(@D)/package/share/ssl/ca.cert $(TARGET_DIR)/etc/qbee/ppkeys/ca.cert
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/package/init-scripts/systemd/qbee-agent.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/qbee-agent.service
+endef
+
+define QBEE_AGENT_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 755 $(@D)/package/init-scripts/sysvinit/qbee-agent \
+		$(TARGET_DIR)/etc/init.d/S99qbee-agent
+endef
+
+define QBEE_AGENT_LINUX_CONFIG_FIXUPS
+	$(call KCONFIG_ENABLE_OPT,CONFIG_TUN)
+endef
+
+$(eval $(golang-package))
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 0/1] package/qbee-agent: new package
@ 2024-03-05  9:38 Jon Henrik Bjørnstad via buildroot
  2024-03-05  9:38 ` [Buildroot] [PATCH 1/1] " Jon Henrik Bjørnstad via buildroot
  0 siblings, 1 reply; 16+ messages in thread
From: Jon Henrik Bjørnstad via buildroot @ 2024-03-05  9:38 UTC (permalink / raw)
  To: buildroot; +Cc: Jon Henrik Bjørnstad, Christian Stewart, Anisse Astier

Hello,

This patch adds the open source qbee-agent utility to buildroot. I've
submitted this patch before, but decided to hold it off based on
feedback from the buildroot community. With the code changes in
release 2024.09 I believe that the qbee-agent in a better shape
with regards to integration with buildroot.

With kind regards,

Jon Henrik Bjørnstad

Jon Henrik Bjørnstad (1):
  package/qbee-agent: new package

 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/qbee-agent/Config.in       | 17 +++++++++++++++
 package/qbee-agent/qbee-agent.hash |  3 +++
 package/qbee-agent/qbee-agent.mk   | 35 ++++++++++++++++++++++++++++++
 5 files changed, 59 insertions(+)
 create mode 100644 package/qbee-agent/Config.in
 create mode 100644 package/qbee-agent/qbee-agent.hash
 create mode 100644 package/qbee-agent/qbee-agent.mk

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-05-16 11:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-09  8:09 [Buildroot] [PATCH 1/1] package/qbee-agent: new package Jon Henrik Bjørnstad via buildroot
2023-11-09 10:25 ` Thomas Petazzoni via buildroot
2023-11-10 18:56   ` Arnout Vandecappelle via buildroot
2023-11-13  9:06     ` Thomas Petazzoni via buildroot
  -- strict thread matches above, loose matches on Subject: below --
2023-11-09 14:20 [Buildroot] [PATCH 0/1] Regarding review of qbee-agent patch Jon Henrik Bjørnstad via buildroot
2023-11-09 14:20 ` [Buildroot] [PATCH 1/1] package/qbee-agent: new package Jon Henrik Bjørnstad via buildroot
2023-11-09 16:03   ` yann.morin
2023-11-10  8:43     ` Jon Henrik Bjørnstad via buildroot
2023-11-10  9:39       ` yann.morin
2023-11-10 10:45 Jon Henrik Bjørnstad via buildroot
2023-11-10 14:35 ` yann.morin
2023-11-10 17:14 ` Christian Stewart via buildroot
2023-11-10 19:28   ` Arnout Vandecappelle via buildroot
2023-11-11  8:35     ` Yann E. MORIN
2024-03-05  9:38 [Buildroot] [PATCH 0/1] " Jon Henrik Bjørnstad via buildroot
2024-03-05  9:38 ` [Buildroot] [PATCH 1/1] " Jon Henrik Bjørnstad via buildroot
2024-05-12 10:05   ` Thomas Petazzoni via buildroot
2024-05-16 11:00     ` Jon Henrik Bjørnstad via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox