2 # Copyright (C) 2014-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE_URL
=$(LEDE_GIT
)/project
/procd.git
15 PKG_SOURCE_DATE
:=2017-09-28
16 PKG_SOURCE_VERSION
:=ee582d16c7ebbfbcc5e3c4f8970f5e376c406f5f
17 PKG_MIRROR_HASH
:=c47459524647763150bb75cf030dca25786c27f3fd16fd88627f2a998ffa615e
23 PKG_MAINTAINER
:=John Crispin
<john@phrozen.org
>
25 PKG_CONFIG_DEPENDS
:= \
26 CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP \
27 CONFIG_PROCD_SHOW_BOOT CONFIG_PROCD_ZRAM_TMPFS \
28 CONFIG_KERNEL_NAMESPACES CONFIG_PACKAGE_procd-ujail CONFIG_PACKAGE_procd-seccomp
30 include $(INCLUDE_DIR
)/package.mk
31 include $(INCLUDE_DIR
)/cmake.mk
34 STAMP_CONFIGURED
:=$(strip $(STAMP_CONFIGURED
))_
$(shell echo
$(CONFIG_TARGET_INIT_PATH
) | mkhash md5
)
37 CMAKE_OPTIONS
+= -DEARLY_PATH
="$(TARGET_INIT_PATH)"
38 TARGET_LDFLAGS
+= $(if
$(CONFIG_USE_GLIBC
),-lrt
)
43 DEPENDS
:=+ubusd
+ubus
+libjson-script
+ubox
+USE_GLIBC
:librt
+libubox
+libubus
44 TITLE
:=OpenWrt system process manager
47 define Package
/procd-ujail
50 DEPENDS
:=@KERNEL_NAMESPACES
+@KERNEL_UTS_NS
+@KERNEL_IPC_NS
+@KERNEL_PID_NS
+libubox
+libblobmsg-json
51 TITLE
:=OpenWrt process jail helper
54 define Package
/procd-seccomp
57 DEPENDS
:=@arm||@armeb||@mips||@mipsel||@i386||@x86_64 @
!TARGET_uml @KERNEL_SECCOMP
+libubox
+libblobmsg-json
58 TITLE
:=OpenWrt process seccomp helper
+ utrace
61 define Package
/procd
/config
63 depends on PACKAGE_procd
65 config PROCD_SHOW_BOOT
68 prompt
"Print the shutdown to the console as well as logging it to syslog"
70 config PROCD_ZRAM_TMPFS
73 prompt
"Mount /tmp using zram."
78 ifeq ($(CONFIG_PROCD_SHOW_BOOT
),y
)
79 CMAKE_OPTIONS
+= -DSHOW_BOOT_ON_CONSOLE
=1
82 ifeq ($(CONFIG_PROCD_ZRAM_TMPFS
),y
)
83 CMAKE_OPTIONS
+= -DZRAM_TMPFS
=1
86 ifdef CONFIG_PACKAGE_procd-ujail
87 CMAKE_OPTIONS
+= -DJAIL_SUPPORT
=1
90 SECCOMP
=$(if
$(CONFIG_PACKAGE_procd-seccomp
),1,0)
91 CMAKE_OPTIONS
+= -DSECCOMP_SUPPORT
=$(SECCOMP
) -DUTRACE_SUPPORT
=$(SECCOMP
)
93 define Package
/procd
/install
94 $(INSTALL_DIR
) $(1)/sbin
$(1)/etc
$(1)/lib
/functions
96 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/{init
,procd
,askfirst
,udevtrigger
,upgraded
} $(1)/sbin
/
97 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/libsetlbf.so
$(1)/lib
98 $(INSTALL_BIN
) .
/files
/reload_config
$(1)/sbin
/
99 $(INSTALL_DATA
) .
/files
/hotplug
*.json
$(1)/etc
/
100 $(INSTALL_DATA
) .
/files
/procd.sh
$(1)/lib
/functions
/
103 define Package
/procd-ujail
/install
104 $(INSTALL_DIR
) $(1)/sbin
105 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/ujail
$(1)/sbin
/
108 define Package
/procd-seccomp
/install
109 $(INSTALL_DIR
) $(1)/sbin
$(1)/lib
110 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/libpreload-seccomp.so
$(1)/lib
111 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/utrace
$(1)/sbin
/
112 $(LN
) utrace
$(1)/sbin
/seccomp-trace
113 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/libpreload-trace.so
$(1)/lib
116 $(eval
$(call BuildPackage
,procd
))
117 $(eval
$(call BuildPackage
,procd-ujail
))
118 $(eval
$(call BuildPackage
,procd-seccomp
))