From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] procps: switch from procps to procps-ng
Date: Mon, 6 Jul 2015 17:04:06 +0200 [thread overview]
Message-ID: <20150706150406.GA32551@pengutronix.de> (raw)
In-Reply-To: <1435936314-2188-1-git-send-email-clemens.gruber@pqgruber.com>
On Fri, Jul 03, 2015 at 05:11:54PM +0200, Clemens Gruber wrote:
> 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
add "select PROCPS_USES_NCURSES" to each sub option. The selects here are
only to make inter-package dependencies work.
> 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)
this url no longer works. This worked for me:
https://gitlab.com/procps-ng/procps/repository/archive.tar.gz?ref=v$(PROCPS_VERSION)
However, this is not a real tarball, so we need to run autogen.sh.
Add patches/procps-ng-3.3.10/autogen.sh with this content:
----------------------------
#!/bin/sh
exec ./autogen.sh
----------------------------
And remove the patches for the old version.
> 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
this requires systemd at build time. Add an option for systemd support and
select SYSTEMD if enabled. Maybe 'default INITMETHOD_SYSTEMD'?
Michael
>
> -$(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
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
prev parent reply other threads:[~2015-07-06 13:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-03 15:11 Clemens Gruber
2015-07-06 15:04 ` Michael Olbrich [this message]
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=20150706150406.GA32551@pengutronix.de \
--to=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