aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rwxr-xr-xhack/libsubid_tag.sh19
2 files changed, 20 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 93c7fdf95..f9efafdba 100644
--- a/Makefile
+++ b/Makefile
@@ -50,6 +50,7 @@ BUILDTAGS ?= \
$(shell hack/btrfs_tag.sh) \
$(shell hack/selinux_tag.sh) \
$(shell hack/systemd_tag.sh) \
+ $(shell hack/libsubid_tag.sh) \
exclude_graphdriver_devicemapper \
seccomp
PYTHON ?= $(shell command -v python3 python|head -n1)
diff --git a/hack/libsubid_tag.sh b/hack/libsubid_tag.sh
new file mode 100755
index 000000000..ab6af9e30
--- /dev/null
+++ b/hack/libsubid_tag.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+if test $(${GO:-go} env GOOS) != "linux" ; then
+ exit 0
+fi
+tmpdir="$PWD/tmp.$RANDOM"
+mkdir -p "$tmpdir"
+trap 'rm -fr "$tmpdir"' EXIT
+cc -o "$tmpdir"/libsubid_tag -l subid -x c - > /dev/null 2> /dev/null << EOF
+#include <shadow/subid.h>
+int main() {
+ struct subid_range *ranges = NULL;
+ get_subuid_ranges("root", &ranges);
+ free(ranges);
+ return 0;
+}
+EOF
+if test $? -eq 0 ; then
+ echo libsubid
+fi