diff --git a/libs/libcap/Makefile b/libs/libcap/Makefile
index e77fed6ed..db4059520 100644
--- a/libs/libcap/Makefile
+++ b/libs/libcap/Makefile
@@ -8,18 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libcap
-PKG_VERSION:=2.27
-PKG_RELEASE:=3
+PKG_VERSION:=2.30
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
-PKG_HASH:=dac1792d0118bee6aae6ba7fb93ff1602c6a9bda812fd63916eee1435b9c486a
+PKG_HASH:=a287bae0b0d95e5230a1c4177b835c70774511b631f87c7bd29e91a03e027f11
PKG_MAINTAINER:=Paul Wassi
-PKG_LICENSE:=GPL-2.0
+PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=License
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
@@ -69,6 +70,7 @@ MAKE_FLAGS += \
LD="$(TARGET_CC) -Wl,-x -shared" \
LDFLAGS="$(TARGET_LDFLAGS)" \
INDENT="| true" \
+ GOLANG="no" \
PAM_CAP="no" \
RAISE_SETFCAP="no" \
DYNAMIC="yes" \
diff --git a/libs/libcap/patches/100-portability.patch b/libs/libcap/patches/100-portability.patch
index 735a97396..19d28d156 100644
--- a/libs/libcap/patches/100-portability.patch
+++ b/libs/libcap/patches/100-portability.patch
@@ -1,14 +1,14 @@
--- a/libcap/_makenames.c
+++ b/libcap/_makenames.c
-@@ -7,7 +7,6 @@
-
+@@ -8,7 +8,6 @@
#include
#include
+ #include
-#include
/*
* #include 'sed' generated array
-@@ -22,7 +21,7 @@ struct {
+@@ -23,7 +22,7 @@ struct {
};
/* this should be more than big enough (factor of three at least) */
diff --git a/libs/libcap/patches/200-change-hardcoded-shell-to-sh.patch b/libs/libcap/patches/200-change-hardcoded-shell-to-sh.patch
index 27865ff61..59b766f60 100644
--- a/libs/libcap/patches/200-change-hardcoded-shell-to-sh.patch
+++ b/libs/libcap/patches/200-change-hardcoded-shell-to-sh.patch
@@ -1,8 +1,8 @@
--- a/progs/capsh.c
+++ b/progs/capsh.c
-@@ -24,6 +24,9 @@
+@@ -25,6 +25,9 @@
#include
- #include
+ #include
+#ifndef SHELL
+#define SHELL "/bin/sh"
@@ -10,7 +10,7 @@
#define MAX_GROUPS 100 /* max number of supplementary groups for user */
static char *binary(unsigned long value)
-@@ -692,10 +695,10 @@ int main(int argc, char *argv[], char *envp[])
+@@ -756,10 +759,10 @@ int main(int argc, char *argv[], char *envp[])
} else if (!strcmp("--print", argv[i])) {
arg_print();
} else if ((!strcmp("--", argv[i])) || (!strcmp("==", argv[i]))) {
@@ -23,7 +23,7 @@
exit(1);
} else {
usage:
-@@ -720,7 +723,7 @@ int main(int argc, char *argv[], char *envp[])
+@@ -789,7 +792,7 @@ int main(int argc, char *argv[], char *envp[])
" --killit= send signal(n) to child\n"
" --forkfor= fork and make child sleep for sec\n"
" == re-exec(capsh) with args as for --\n"