diff --git a/DEVELOPERS b/DEVELOPERS index 7bc7385586..78bb555530 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1133,6 +1133,9 @@ F: package/rsyslog/ N: Florian Fainelli F: package/cpulimit/ +N: Florian Larysch +F: package/casync-nano/ + N: Floris Bos F: package/ipmitool/ F: package/odhcploc/ diff --git a/package/Config.in b/package/Config.in index d09cfe066a..ffaed13c74 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2467,6 +2467,7 @@ endif source "package/can-utils/Config.in" source "package/cannelloni/Config.in" source "package/casync/Config.in" + source "package/casync-nano/Config.in" source "package/cfm/Config.in" source "package/chrony/Config.in" source "package/civetweb/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index bf04f5fa97..b0f7529a13 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -13,6 +13,7 @@ menu "Host utilities" source "package/bmap-writer/Config.in.host" source "package/bootgen/Config.in.host" source "package/btrfs-progs/Config.in.host" + source "package/casync-nano/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" source "package/checksec/Config.in.host" diff --git a/package/casync-nano/Config.in b/package/casync-nano/Config.in new file mode 100644 index 0000000000..8ba80e4ce6 --- /dev/null +++ b/package/casync-nano/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_CASYNC_NANO + bool "casync-nano" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZSTD + select BR2_PACKAGE_LIBCURL + help + Tiny casync-like tool optimized for embedded systems. + + https://github.com/florolf/casync-nano + +if BR2_PACKAGE_CASYNC_NANO + +config BR2_PACKAGE_CASYNC_NANO_CASYNC_SHIM + bool "install casync shim" + # only one package should provide the "casync" command + depends on !BR2_PACKAGE_CASYNC + help + Install a shim that provides basic compatibility with the + "extract" sub-command of casync to programs that expect it. + +endif diff --git a/package/casync-nano/Config.in.host b/package/casync-nano/Config.in.host new file mode 100644 index 0000000000..2fc3340017 --- /dev/null +++ b/package/casync-nano/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_CASYNC_NANO + bool "host casync-nano tool" + help + casync-nano host tool (csn-tool) for casync-nano specific + features like chunk encryption. + + https://github.com/florolf/casync-nano diff --git a/package/casync-nano/casync-nano.hash b/package/casync-nano/casync-nano.hash new file mode 100644 index 0000000000..1697fa93ef --- /dev/null +++ b/package/casync-nano/casync-nano.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 29ed8a767304e7e3032e66feea3d2dada7cc7db73344231a54bf080cc6e65ecf casync-nano-1.1.1.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/casync-nano/casync-nano.mk b/package/casync-nano/casync-nano.mk new file mode 100644 index 0000000000..e492627fa3 --- /dev/null +++ b/package/casync-nano/casync-nano.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# casync-nano +# +################################################################################ + +CASYNC_NANO_VERSION = 1.1.1 +CASYNC_NANO_SITE = $(call github,florolf,casync-nano,v$(CASYNC_NANO_VERSION)) +CASYNC_NANO_LICENSE = LGPL-2.1 +CASYNC_NANO_LICENSE_FILES = COPYING +CASYNC_NANO_DEPENDENCIES = host-pkgconf openssl zstd libcurl + +ifeq ($(BR2_PACKAGE_CASYNC_NANO_CASYNC_SHIM),y) +define CASYNC_NANO_INSTALL_CASYNC_SHIM + ln -sf csn $(TARGET_DIR)/usr/bin/casync +endef +endif + +define CASYNC_NANO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m0755 $(@D)/csn $(TARGET_DIR)/usr/bin/csn + $(CASYNC_NANO_INSTALL_CASYNC_SHIM) +endef + +# We're only building csn-tool for the host, so only openssl is +# needed, not the other dependencies +HOST_CASYNC_NANO_DEPENDENCIES = host-pkgconf host-openssl +HOST_CASYNC_NANO_CONF_OPTS = -DBUILD_CSN=Off -DBUILD_CSN_TOOL=On + +$(eval $(cmake-package)) +$(eval $(host-cmake-package))