Merge pull request #12342 from PolynomialDivision/feature/add_dawn_node_exporter
[feed/packages.git] / libs / libcap / Makefile
1 #
2 # Copyright (C) 2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=libcap
11 PKG_VERSION:=2.36
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
16 PKG_HASH:=5048c849bdbbe24d2ca59463142cb279abec5edf3ab6731ab35a596bcf538a49
17
18 PKG_MAINTAINER:=Paul Wassi <p.wassi@gmx.at>
19 PKG_LICENSE:=GPL-2.0-only
20 PKG_LICENSE_FILES:=License
21
22 PKG_INSTALL:=1
23 PKG_BUILD_PARALLEL:=1
24
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/kernel.mk
27
28 define Package/libcap/Default
29 TITLE:=Linux capabilities library
30 SECTION:=libs
31 CATEGORY:=Libraries
32 URL:=https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
33 endef
34
35 define Package/libcap/description/Default
36 Linux capabilities
37 endef
38
39 define Package/libcap
40 $(call Package/libcap/Default)
41 TITLE += library
42 endef
43
44 define Package/libcap-bin
45 $(call Package/libcap/Default)
46 TITLE += binaries
47 DEPENDS += libcap
48 endef
49
50 define Package/libcap-bin/description
51 $(call Package/libcap/description/Default)
52 .
53 This package contains the libcap utilities.
54 endef
55
56 define Package/libcap-bin/config
57 if PACKAGE_libcap-bin
58 config PACKAGE_libcap-bin-capsh-shell
59 string "capsh shell"
60 help
61 Set the capsh shell.
62 default "/bin/sh"
63 endif
64 endef
65
66 MAKE_FLAGS += \
67 BUILD_CC="$(CC)" \
68 BUILD_CFLAGS="$(FPIC) -I$(PKG_BUILD_DIR)/libcap/include" \
69 CFLAGS="$(TARGET_CFLAGS)" \
70 LD="$(TARGET_CC) -Wl,-x -shared" \
71 LDFLAGS="$(TARGET_LDFLAGS)" \
72 INDENT="| true" \
73 GOLANG="no" \
74 PAM_CAP="no" \
75 RAISE_SETFCAP="no" \
76 DYNAMIC="yes" \
77 lib="lib"
78
79 ifneq ($(CONFIG_PACKAGE_libcap-bin-capsh-shell),)
80 TARGET_CFLAGS += -DSHELL='\"$(CONFIG_PACKAGE_libcap-bin-capsh-shell)\"'
81 endif
82
83 TARGET_CFLAGS += $(if $(CONFIG_USE_MUSL),-Dpthread_yield=sched_yield)
84
85 define Build/InstallDev
86 $(INSTALL_DIR) $(1)/usr/include/sys
87 $(CP) $(PKG_INSTALL_DIR)/usr/include/sys/*.h $(1)/usr/include/sys/
88 $(INSTALL_DIR) $(1)/usr/lib
89 $(CP) $(PKG_INSTALL_DIR)/lib/libcap.{so*,a} $(1)/usr/lib/
90 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/libpsx.a $(1)/usr/lib/
91 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
92 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/pkgconfig/libcap.pc $(1)/usr/lib/pkgconfig/
93 $(SED) 's,exec_prefix=,exec_prefix=/usr,g' $(1)/usr/lib/pkgconfig/libcap.pc
94 $(SED) 's,/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libcap.pc
95 $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libcap.pc
96 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/pkgconfig/libpsx.pc $(1)/usr/lib/pkgconfig/
97 $(SED) 's,exec_prefix=,exec_prefix=/usr,g' $(1)/usr/lib/pkgconfig/libpsx.pc
98 $(SED) 's,/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libpsx.pc
99 $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libpsx.pc
100 endef
101
102 define Package/libcap/install
103 $(INSTALL_DIR) $(1)/usr/lib
104 $(CP) $(PKG_INSTALL_DIR)/lib/libcap.so* $(1)/usr/lib/
105 endef
106
107 define Package/libcap-bin/install
108 $(INSTALL_DIR) $(1)/usr/sbin
109 $(CP) $(PKG_INSTALL_DIR)/sbin/capsh $(1)/usr/sbin/
110 $(CP) $(PKG_INSTALL_DIR)/sbin/getcap $(1)/usr/sbin/
111 $(CP) $(PKG_INSTALL_DIR)/sbin/getpcaps $(1)/usr/sbin/
112 $(CP) $(PKG_INSTALL_DIR)/sbin/setcap $(1)/usr/sbin/
113 endef
114
115 $(eval $(call BuildPackage,libcap))
116 $(eval $(call BuildPackage,libcap-bin))