ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/libs/keyutils/Makefile b/package/libs/keyutils/Makefile
new file mode 100644
index 0000000..888b70f
--- /dev/null
+++ b/package/libs/keyutils/Makefile
@@ -0,0 +1,92 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=keyutils
+PKG_VERSION:=1.6.3
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/
+PKG_HASH:=a61d5706136ae4c05bd48f86186bcfdbd88dd8bd5107e3e195c924cfc1b39bb4
+PKG_CPE_ID:=cpe:/a:keyutils_project:keyutils
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libkeyutils
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Key utilities library
+  URL:=https://people.redhat.com/dhowells/keyutils/
+  LICENSE:=LGPL-2.1-or-later
+  LICENSE_FILES:=LICENSE.LGPL
+  ABI_VERSION:=1
+endef
+
+define Package/keyctl
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Encryption
+  TITLE:=keyctl
+  DEPENDS:=+libkeyutils
+  LICENSE:=GPL-2.0-or-later
+  LICENSE_FILES:=LICENSE.GPL
+endef
+
+define Package/keyutils
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Encryption
+  TITLE:=keyutils (request-key and key.dns_resolver)
+  DEPENDS:=+libkeyutils
+  LICENSE:=GPL-2.0-or-later
+  LICENSE_FILES:=LICENSE.GPL
+endef
+
+define Package/keyutils/description
+  Key utilities
+endef
+
+MAKE_FLAGS += \
+	BINDIR=/bin \
+	LIBDIR=/usr/lib \
+	SBINDIR=/sbin \
+	CFLAGS="$(TARGET_CFLAGS) $(FPIC)"
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+
+	$(INSTALL_DIR) $(1)/usr/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libkeyutils.a $(1)/usr/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libkeyutils.so.$(ABI_VERSION)* $(1)/usr/lib/
+endef
+
+define Package/libkeyutils/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libkeyutils.so.$(ABI_VERSION)* $(1)/usr/lib/
+endef
+
+define Package/keyutils/install
+	$(INSTALL_DIR) $(1)/sbin
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/request-key $(1)/sbin/
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/key.dns_resolver $(1)/sbin/
+
+	$(INSTALL_DIR) $(1)/etc/keyutils $(1)/etc/request-key.d
+	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/request-key.conf $(1)/etc/
+endef
+
+define Package/keyctl/install
+	$(INSTALL_DIR) $(1)/bin
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/keyctl $(1)/bin
+endef
+
+$(eval $(call BuildPackage,libkeyutils))
+$(eval $(call BuildPackage,keyutils))
+$(eval $(call BuildPackage,keyctl))
diff --git a/package/libs/keyutils/patches/010-reproducible-build.patch b/package/libs/keyutils/patches/010-reproducible-build.patch
new file mode 100644
index 0000000..0507f91
--- /dev/null
+++ b/package/libs/keyutils/patches/010-reproducible-build.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -109,7 +109,7 @@ all: keyctl request-key key.dns_resolver
+ ###############################################################################
+ #RPATH = -Wl,-rpath,$(LIBDIR)
+ 
+-VCPPFLAGS	:= -DPKGBUILD="\"$(shell date -u +%F)\""
++VCPPFLAGS	:= -DPKGBUILD="\"for OpenWrt"\"
+ VCPPFLAGS	+= -DPKGVERSION="\"keyutils-$(VERSION)\""
+ VCPPFLAGS	+= -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
+ 
diff --git a/package/libs/keyutils/patches/020-rindex.patch b/package/libs/keyutils/patches/020-rindex.patch
new file mode 100644
index 0000000..5137518
--- /dev/null
+++ b/package/libs/keyutils/patches/020-rindex.patch
@@ -0,0 +1,17 @@
+--- a/key.dns_resolver.c
++++ b/key.dns_resolver.c
+@@ -717,12 +717,12 @@ int main(int argc, char *argv[])
+ 	keyend = buf + ktlen + 1;
+ 
+ 	/* the actual key description follows the last semicolon */
+-	keyend = rindex(keyend, ';');
++	keyend = strrchr(keyend, ';');
+ 	if (!keyend)
+ 		error("Invalid key description: %s", buf);
+ 	keyend++;
+ 
+-	name = index(keyend, ':');
++	name = strchr(keyend, ':');
+ 	if (!name)
+ 		dns_query_a_or_aaaa(keyend, callout_info);
+