blob: 70ca655b6e858f7f9e88b2546a8bbd85732ac035 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001# SPDX-License-Identifier: GPL-2.0-or-later
2# Copyright (C) 2022 Eneas Ulir de Queiroz
3
4include $(TOPDIR)/rules.mk
5
6PKG_NAME:=uencrypt
7PKG_RELEASE:=5
8
9PKG_LICENSE:=GPL-2.0-or-later
10PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
11
12include $(INCLUDE_DIR)/package.mk
13include $(INCLUDE_DIR)/cmake.mk
14
15CMAKE_INSTALL:=1
16ifeq ($(BUILD_VARIANT),mbedtls)
17 CMAKE_OPTIONS+=-DUSE_MBEDTLS=1
18else ifeq ($(BUILD_VARIANT),wolfssl)
19 CMAKE_OPTIONS+=-DUSE_WOLFSSL=1
20endif
21
22TARGET_CFLAGS+=-Wall
23
24define Package/uencrypt/default
25 SECTION:=utils
26 CATEGORY:=Base system
27 TITLE:=Small Decryption utility
28endef
29
30define Package/uencrypt/default/description
31 This is a small encrypton/decryption program. It defaults
32 to AES-128-CBC, but supports any encryption provided by
33 the crypto library. Even though it can be used for
34 non-critical* regular encryption and decryption operations,
35 it is included here to unencrypt the configuration from mtd
36 on some devices.
37
38 * Key and IV are exposed on cmdline
39
40 This variant uses $(1) as crypto provider
41endef
42
43define Package/uencrypt-mbedtls
44 $(Package/uencrypt/default)
45 VARIANT:=mbedtls
46 TITLE+= using mbedTLS
47 DEPENDS:=+libmbedtls
48 CONFLICTS:=uencrypt-openssl uencrypt-wolfssl
49endef
50
51Package/uencrypt-mbedtls/description= \
52 $(call Package/uencrypt/default/description,mbedTLS)
53
54define Package/uencrypt-openssl
55 $(Package/uencrypt/default)
56 VARIANT:=openssl
57 TITLE+= using OpenSSL
58 DEPENDS:=+libopenssl
59 CONFLICTS:=uencrypt-wolfssl
60endef
61
62Package/uencrypt-openssl/description= \
63 $(call Package/uencrypt/default/description,OpenSSL)
64
65define Package/uencrypt-wolfssl
66 $(Package/uencrypt/default)
67 VARIANT:=wolfssl
68 TITLE+= using wolfSSL
69 DEPENDS:=+libwolfssl
70endef
71
72Package/uencrypt-wolfssl/description= \
73 $(call Package/uencrypt/default/description,wolfSSL)
74
75define Package/uencrypt/default/install
76 $(INSTALL_DIR) $(1)/usr/bin
77 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uencrypt $(1)/usr/bin
78endef
79Package/uencrypt-openssl/install = $(Package/uencrypt/default/install)
80Package/uencrypt-wolfssl/install = $(Package/uencrypt/default/install)
81Package/uencrypt-mbedtls/install = $(Package/uencrypt/default/install)
82
83$(eval $(call BuildPackage,uencrypt-mbedtls))
84$(eval $(call BuildPackage,uencrypt-openssl))
85$(eval $(call BuildPackage,uencrypt-wolfssl))