procd: make mDNS TXT record parsing more solid
[openwrt/openwrt.git] / package / libs / libcap / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=libcap
9 PKG_VERSION:=2.63
10 PKG_RELEASE:=$(AUTORELEASE)
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
13 PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
14 PKG_HASH:=0c637b8f44fc7d8627787e9cf57f15ac06c1ddccb53e41feec5496be3466f77f
15
16 PKG_MAINTAINER:=Paul Wassi <p.wassi@gmx.at>
17 PKG_LICENSE:=GPL-2.0-only
18 PKG_LICENSE_FILES:=License
19
20 PKG_INSTALL:=1
21 PKG_BUILD_PARALLEL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24 include $(INCLUDE_DIR)/kernel.mk
25
26 define Package/libcap/Default
27 TITLE:=Linux capabilities library
28 SECTION:=libs
29 CATEGORY:=Libraries
30 URL:=https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
31 endef
32
33 define Package/libcap/description/Default
34 Linux capabilities
35 endef
36
37 define Package/libcap
38 $(call Package/libcap/Default)
39 TITLE += library
40 endef
41
42 define Package/libcap-bin
43 $(call Package/libcap/Default)
44 TITLE += binaries
45 DEPENDS += libcap
46 endef
47
48 define Package/libcap-bin/description
49 $(call Package/libcap/description/Default)
50 .
51 This package contains the libcap utilities.
52 endef
53
54 define Package/libcap-bin/config
55 if PACKAGE_libcap-bin
56 config PACKAGE_libcap-bin-capsh-shell
57 string "capsh shell"
58 help
59 Set the capsh shell.
60 default "/bin/sh"
61 endif
62 endef
63
64 MAKE_FLAGS += \
65 BUILD_CC="$(CC)" \
66 BUILD_CFLAGS="$(FPIC) -I$(PKG_BUILD_DIR)/libcap/include" \
67 CFLAGS="$(TARGET_CFLAGS)" \
68 LD="$(TARGET_CC) -Wl,-x -shared" \
69 LDFLAGS="$(TARGET_LDFLAGS)" \
70 INDENT="| true" \
71 GOLANG="no" \
72 PAM_CAP="no" \
73 RAISE_SETFCAP="no" \
74 DYNAMIC="yes" \
75 lib="lib"
76
77 TARGET_CFLAGS += $(FPIC)
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))