a50ea811397c14bcb3439633cfb50200e6de54ad
[feed/packages.git] / utils / procps-ng / Makefile
1 #
2 # Copyright (C) 2006-2015 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:=procps-ng
11 PKG_VERSION:=3.3.11
12 PKG_RELEASE:=2
13 PKG_LICENSE:=GPL-2.0
14 PKG_LICENSE_FILES:=COPYING COPYING.LIB
15
16 PKG_SOURCE_PROTO:=git
17 PKG_SOURCE_URL:=https://gitlab.com/procps-ng/procps.git
18 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
19 PKG_SOURCE_VERSION:=8a198e3eafbde0b627e9992b41d26e6762e4f8c7
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
21
22 PKG_BUILD_PARALLEL:=1
23 PKG_INSTALL:=1
24 PKG_FIXUP:=autoreconf
25
26 include $(INCLUDE_DIR)/package.mk
27
28 CONFIGURE_ARGS += --enable-skill
29
30 PROCPS_APPLETS := \
31 free kill pgrep pkill pmap ps pwdx skill slabtop \
32 snice tload top uptime vmstat w watch
33
34 define Package/procps-ng/Default
35 SECTION:=utils
36 CATEGORY:=Utilities
37 DEPENDS:=+libncurses
38 TITLE:=procps-ng utilities
39 URL:=https://gitlab.com/procps-ng/procps
40 MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
41 endef
42
43 define Build/Prepare
44 $(call Build/Prepare/Default)
45 echo "$(PKG_VERSION)" > "$(PKG_BUILD_DIR)/.tarball-version"
46 endef
47
48 define Package/procps-ng
49 $(call Package/procps-ng/Default)
50 MENU:=1
51 endef
52
53 define Package/procps-ng/description
54 procps is a set of command line and full-screen utilities that provide information out of the pseudo-filesystem
55 most commonly located at /proc. This filesystem provides a simple interface to the kernel data structures.
56 The programs of procps generally concentrate on the structures that describe the processess running on the system.
57
58 NOTE: some utilities provided by procps-ng packages (ps, uptime, kill, ...) are installed as busybox applets, by default.
59 Conflicting applets should be removed from the build to avoid file conflicts.
60 endef
61
62 define GenPlugin
63 define Package/$(1)
64 $(call Package/procps-ng/Default)
65 DEPENDS:=procps-ng
66 TITLE:=Applet $(2) from the procps-ng package
67 DEFAULT:=y
68 endef
69
70 define Package/$(1)/description
71 Installs the applet $(2).
72 endef
73 endef
74
75 $(foreach a,$(PROCPS_APPLETS),$(eval $(call GenPlugin,procps-ng-$(a),$(a))))
76
77 MAKE_FLAGS += \
78 CFLAGS="$(TARGET_CFLAGS)" \
79 CPPFLAGS="$(TARGET_CPPFLAGS)" \
80 LDFLAGS="$(TARGET_LDFLAGS)" \
81
82 define Package/procps-ng/install
83 $(INSTALL_DIR) $(1)/usr/bin
84 $(INSTALL_DIR) $(1)/usr/lib
85 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libprocps.so* $(1)/usr/lib/
86 endef
87
88 define BuildPlugin
89 define Package/$(1)/install
90 $(INSTALL_DIR) $$(1)/usr/bin
91 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/bin/
92 endef
93
94 $$(eval $$(call BuildPackage,$(1)))
95 endef
96
97 $(foreach a,$(PROCPS_APPLETS),$(eval $(call BuildPlugin,procps-ng-$(a),$(a))))
98 $(eval $(call BuildPackage,procps-ng))