mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Clemens Gruber <clemens.gruber@pqgruber.com>,
	Michael Olbrich <m.olbrich@pengutronix.de>
Subject: [ptxdist] [PATCH] procps: switch from procps to procps-ng
Date: Fri,  3 Jul 2015 17:11:54 +0200	[thread overview]
Message-ID: <1435936314-2188-1-git-send-email-clemens.gruber@pqgruber.com> (raw)

The procps package is unmaintained, therefore switch to procps-ng, which
is used by many major distributions.

Cc: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 rules/procps.in   | 151 ++++++++++++++++++++++++++++++++++++++++++++----------
 rules/procps.make | 108 +++++++++++++++++++++++++-------------
 2 files changed, 194 insertions(+), 65 deletions(-)

diff --git a/rules/procps.in b/rules/procps.in
index baf6514..65570d8 100644
--- a/rules/procps.in
+++ b/rules/procps.in
@@ -4,31 +4,98 @@ menuconfig PROCPS
 	tristate
 	prompt "procps                        "
 	select GCCLIBS_GCC_S
-	select NCURSES		if PROCPS_TOP
-	select NCURSES		if PROCPS_SLABTOP
+	select NCURSES if PROCPS_USES_NCURSES
+	select PROCPS_USES_NCURSES if PROCPS_SLABTOP || PROCPS_TOP || PROCPS_WATCH
 	help
-	  The procps package contains a set of system utilities that provide
-	   system information.
+	  Contains a set of system utilities that provide information out of the
+	  pseudo-filesystem most commonly located at /proc. The programs generally
+	  concentrate on the structures that describe the running processes.
+	  Note: procps-ng is used instead of the older and unmaintained procps.
 
 if PROCPS
 
-config PROCPS_TOP
+config PROCPS_USES_NCURSES
 	bool
-	prompt "top"
-	depends on !BUSYBOX_TOP || ALLYES
+
+config PROCPS_FREE
+	bool
+	prompt "free"
+	depends on !BUSYBOX_FREE || ALLYES
 	help
-	  The  top  program provides a dynamic real-time view of a running
-	  system.
-	  Note: This command enlarges your system by the ncurses library.
+	  The free program reports the amount of free and used memory.
 
-comment "busybox' top is selected!"
-	depends on BUSYBOX_TOP
+comment "busybox' free is selected!"
+	depends on BUSYBOX_FREE
+
+config PROCPS_PGREP
+	bool
+	prompt "pgrep"
+	depends on !BUSYBOX_PGREP || ALLYES
+	help
+	  The pgrep program can look up processes based on name and other
+	  attributes.
+
+comment "busybox' pgrep is selected!"
+	depends on BUSYBOX_PGREP
+
+config PROCPS_PIDOF
+	bool
+	prompt "pidof"
+	depends on !BUSYBOX_PIDOF || ALLYES
+	help
+	  The pidof program can list the pids of running processes.
+
+comment "busybox' pidof is selected!"
+	depends on BUSYBOX_PIDOF
+
+config PROCPS_PKILL
+	bool
+	prompt "pkill"
+	depends on !BUSYBOX_PKILL || ALLYES
+	help
+	  The pkill program can kill processes based on name and other
+	  attributes.
+
+comment "busybox' pkill is selected!"
+	depends on BUSYBOX_PKILL
+
+config PROCPS_PMAP
+	bool
+	prompt "pmap"
+	depends on !BUSYBOX_PMAP || ALLYES
+	help
+	  The pmap program reports the memory map of a process.
+
+comment "busybox' pmap is selected!"
+	depends on BUSYBOX_PMAP
+
+config PROCPS_PS
+	bool
+	prompt "ps"
+	depends on !BUSYBOX_PS || ALLYES
+	help
+	  The ps program can analyse the states of all processes running
+	  on the system. It stands for process status.
+
+comment "busybox' ps is selected!"
+	depends on BUSYBOX_PS
+
+config PROCPS_PWDX
+	bool
+	prompt "pwdx"
+	depends on !BUSYBOX_PWDX || ALLYES
+	help
+	  The pwdx program reports the current directory of a process.
+
+comment "busybox' pwdx is selected!"
+	depends on BUSYBOX_PWDX
 
 config PROCPS_SLABTOP
 	bool
 	prompt "slabtop"
 	help
-	  display kernel slab cache information in real time
+	  The slabtop program displays kernel slab cache information in
+	  real time.
 	  Note: This command enlarges your system by the ncurses library.
 
 config PROCPS_SYSCTL
@@ -36,22 +103,48 @@ config PROCPS_SYSCTL
 	prompt "sysctl"
 	depends on !BUSYBOX_BB_SYSCTL || ALLYES
 	help
-	  configure kernel parameters at runtime
+	  The sysctl program configures kernel parameters at runtime.
 
 comment "busybox' sysctl is selected!"
 	depends on BUSYBOX_BB_SYSCTL
 
-config PROCPS_PS
+config PROCPS_TOP
 	bool
-	prompt "ps"
-	depends on !BUSYBOX_PS || ALLYES
+	prompt "top"
+	depends on !BUSYBOX_TOP || ALLYES
 	help
-	  ps stands for process status. With this command you
-	  analyse current states of all processes running on
-	  the system
+	  The  top  program provides a dynamic real-time view of a running
+	  system.
+	  Note: This command enlarges your system by the ncurses library.
 
-comment "busybox' ps is selected!"
-	depends on BUSYBOX_PS
+config PROCPS_TOP_MODERN
+	bool
+	prompt "use modern startup defaults for top"
+	depends on PROCPS_TOP
+	help
+	  Use the modern color scheme defaults and the new CPU load representation
+	  for multiple cores.
+	  If this option is disabled, the original top layout is used.
+
+comment "busybox' top is selected!"
+	depends on BUSYBOX_TOP
+
+config PROCPS_UPTIME
+	bool
+	prompt "uptime"
+	depends on !BUSYBOX_UPTIME || ALLYES
+	help
+	  The uptime program displays the system uptime.
+
+comment "busybox' uptime is selected!"
+	depends on BUSYBOX_UPTIME
+
+config PROCPS_VMSTAT
+	bool
+	prompt "vmstat"
+	help
+	  vmstat reports information about processes, memory,
+	  paging, block IO, traps, disks and cpu activity.
 
 config PROCPS_W
 	bool
@@ -59,14 +152,16 @@ config PROCPS_W
 	help
 	  Show who is logged on and what they are doing.
 
-config PROCPS_PGREP
+config PROCPS_WATCH
 	bool
-	prompt "pgrep"
-	depends on !BUSYBOX_PGREP || ALLYES
+	prompt "watch"
+	depends on !BUSYBOX_WATCH || ALLYES
 	help
-	  look up processes based on name and other attributes
+	  The watch program can execute a program periodically, displaying the
+	  output fullscreen.
+	  Note: This command enlarges your system by the ncurses library.
 
-comment "busybox' pgrep is selected!"
-	depends on BUSYBOX_PGREP
+comment "busybox' watch is selected!"
+	depends on BUSYBOX_WATCH
 
 endif
diff --git a/rules/procps.make b/rules/procps.make
index 5d9c03a..724a2ad 100644
--- a/rules/procps.make
+++ b/rules/procps.make
@@ -2,7 +2,8 @@
 #
 # Copyright (C) 2003 by Ixia Corporation, by Milan Bobde
 #		2007 by Pengutronix e.K.
-#               2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+#		2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+#		2015 by Clemens Gruber <clemens.gruber@pqgruber.com>
 #
 # See CREDITS for details about who has contributed to this project.
 #
@@ -18,43 +19,44 @@ PACKAGES-$(PTXCONF_PROCPS) += procps
 #
 # Paths and names
 #
-PROCPS_VERSION	:= 3.2.8
-PROCPS_MD5	:= 9532714b6846013ca9898984ba4cd7e0
-PROCPS		:= procps-$(PROCPS_VERSION)
-PROCPS_SUFFIX	:= tar.gz
-PROCPS_URL	:= http://procps.sourceforge.net/$(PROCPS).$(PROCPS_SUFFIX)
+PROCPS_VERSION	:= 3.3.10
+PROCPS_MD5	:= 1fb7f3f6bf92ce6c5c9ed9949ae858fe
+PROCPS		:= procps-ng-$(PROCPS_VERSION)
+PROCPS_SUFFIX	:= tar.xz
+PROCPS_URL	:= http://downloads.sourceforge.net/project/procps-ng/Production/$(PROCPS).$(PROCPS_SUFFIX)
 PROCPS_SOURCE	:= $(SRCDIR)/$(PROCPS).$(PROCPS_SUFFIX)
 PROCPS_DIR	:= $(BUILDDIR)/$(PROCPS)
 PROCPS_LICENSE	:= GPLv2 (tools), LGPLv2 (libs)
 PROCPS_LICENSE_FILES := \
-	file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-	file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812
+	file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+	file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db
 
 # ----------------------------------------------------------------------------
 # Prepare
 # ----------------------------------------------------------------------------
 
-# build only the required parts
-PROCPS_ALL-$(PTXCONF_PROCPS_TOP)	+= $(PROCPS_PKGDIR)/usr/bin/top
-PROCPS_ALL-$(PTXCONF_PROCPS_SLABTOP)	+= $(PROCPS_PKGDIR)/usr/bin/slabtop
-PROCPS_ALL-$(PTXCONF_PROCPS_SYSCTL)	+= $(PROCPS_PKGDIR)/sbin/sysctl
-PROCPS_ALL-$(PTXCONF_PROCPS_W)		+= $(PROCPS_PKGDIR)/usr/bin/w
-PROCPS_ALL-$(PTXCONF_PROCPS_PGREP)	+= $(PROCPS_PKGDIR)/usr/bin/pgrep
+PROCPS_CONF_ENV	:= \
+	$(CROSS_ENV) \
+	$(call ptx/ncurses, PTXCONF_PROCPS_USES_NCURSES)
 
-PROCPS_PATH	:= PATH=$(CROSS_PATH)
-PROCPS_MAKEVARS	:= \
-	CC="$(CROSS_CC)" \
-	CFLAGS=-O2 \
-	CPPFLAGS='$(CROSS_CPPFLAGS)' \
-	LDFLAGS='$(CROSS_LDFLAGS)' \
-	lib64=$(CROSS_LIB_DIR) \
-	ldconfig=true \
-	MANFILES="" \
-	BINFILES="$(PROCPS_ALL-y)"
+#
+# autoconf
+#
+PROCPS_CONF_TOOL	:= autoconf
+PROCPS_CONF_OPT	:= \
+	$(CROSS_AUTOCONF_USR) \
+	--enable-shared \
+	--disable-static \
+	--disable-nls \
+	--disable-rpath \
+	--disable-kill \
+	--$(call ptx/endis, PROCPS_TOP_MODERN)-modern-top \
+	--prefix=/ \
+	--without-libiconv-prefix \
+	--without-libintl-prefix \
+	--$(call ptx/wwo, PTXCONF_PROCPS_USES_NCURSES)-ncurses \
+	--$(call ptx/wwo, PTXCONF_INITMETHOD_SYSTEMD)-systemd
 
-$(STATEDIR)/procps.prepare:
-	@$(call targetinfo)
-	@$(call touch)
 
 # ----------------------------------------------------------------------------
 # Target-Install
@@ -66,14 +68,38 @@ $(STATEDIR)/procps.targetinstall:
 	@$(call install_init, procps)
 	@$(call install_fixup, procps,PRIORITY,optional)
 	@$(call install_fixup, procps,SECTION,base)
-	@$(call install_fixup, procps,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+	@$(call install_fixup, procps,AUTHOR,"Clemens Gruber <clemens.gruber@pqgruber.com>")
 	@$(call install_fixup, procps,DESCRIPTION,missing)
 
-	@$(call install_lib, procps, 0, 0, 0644, libproc-3.2.8)
+	@$(call install_lib, procps, 0, 0, 0644, libprocps)
 
-ifdef PTXCONF_PROCPS_TOP
-	@$(call install_copy, procps, 0, 0, 0755, -,\
-		/usr/bin/top)
+ifdef PTXCONF_PROCPS_FREE
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/free)
+endif
+ifdef PTXCONF_PROCPS_PGREP
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/pgrep)
+endif
+ifdef PTXCONF_PROCPS_PIDOF
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/pidof)
+endif
+ifdef PTXCONF_PROCPS_PKILL
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/pkill)
+endif
+ifdef PTXCONF_PROCPS_PMAP
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/pmap)
+endif
+ifdef PTXCONF_PROCPS_PS
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/bin/ps)
+endif
+ifdef PTXCONF_PROCPS_PWDX
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/pwdx)
 endif
 ifdef PTXCONF_PROCPS_SLABTOP
 	@$(call install_copy, procps, 0, 0, 0755, -, \
@@ -82,21 +108,29 @@ endif
 ifdef PTXCONF_PROCPS_SYSCTL
 	@$(call install_copy, procps, 0, 0, 0755, -, \
 		/sbin/sysctl)
-
 	@$(call install_alternative, procps, 0, 0, 0644, /etc/sysctl.conf, n)
 endif
-ifdef PTXCONF_PROCPS_PS
+ifdef PTXCONF_PROCPS_TOP
 	@$(call install_copy, procps, 0, 0, 0755, -, \
-		/bin/ps)
+		/usr/bin/top)
+endif
+ifdef PTXCONF_PROCPS_UPTIME
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/uptime)
+endif
+ifdef PTXCONF_PROCPS_VMSTAT
+	@$(call install_copy, procps, 0, 0, 0755, -, \
+		/usr/bin/vmstat)
 endif
 ifdef PTXCONF_PROCPS_W
 	@$(call install_copy, procps, 0, 0, 0755, -, \
 		/usr/bin/w)
 endif
-ifdef PTXCONF_PROCPS_PGREP
+ifdef PTXCONF_PROCPS_WATCH
 	@$(call install_copy, procps, 0, 0, 0755, -, \
-		/usr/bin/pgrep)
+		/usr/bin/watch)
 endif
+
 	@$(call install_finish, procps)
 
 	@$(call touch)
-- 
2.4.5


-- 
ptxdist mailing list
ptxdist@pengutronix.de

             reply	other threads:[~2015-07-03 15:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-03 15:11 Clemens Gruber [this message]
2015-07-06 15:04 ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1435936314-2188-1-git-send-email-clemens.gruber@pqgruber.com \
    --to=clemens.gruber@pqgruber.com \
    --cc=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox