Package: procps
Version: 2:3.3.11-3
Severity: wishlist
Tags: patch

Dear Maintainer,

I've seen that you're in the past considered and discussed shipping
the procps version of pidof at
https://lists.debian.org/debian-devel/2013/12/msg00145.html

I'm filing this bug because I think the previous reasons against
this no longer apply.

c.f.
"[...] moving pidof around certainly doesn't kill off sysvinit-utils for
us (there are still over a dozen other tools in that package in
Debian)."

The sysvinit-utils package has gone through a heavy diet and now
ships alot less tools (in favour of shipping them from other maintained
upstreams, notably util-linux).

I'm generally interested in shrinking the essential set, but users of
pidof seems to be too many to reasonably introduce dependencies for.

The currently remaining tools in sysvinit-utils (in stretch/sid):
pidof - suggestion to ship it from (new essential) procps(-base)
service - might soon be in init-system-helpers (see #805487).
killall5 - analysis of the 19 matches on codesearch seems to boil down
        to: openrc, util-vserver. Adding dependencies seems doable.
fstab-decode - codesearch analysis indicates open-iscsi, drbl.
        Adding dependencies seems doable.

Summary: making sysvinit-utils non-essential seems doable.

This would also make sysvinit-utils dependencies transitively
non-essential. eg. startpar. (Not sure why that dependency
exists to start with, but proposed approach seemed simpler
than researching that for the same result.)
Please also note that sysvinit-utils already have some
reverse dependencies despite being essential which works
in our favour.

I'm attaching a patch for your convenience. Please note that a
synchronized sysvinit upload is needed. If you think we should
proceed I'll volunteer to NMU sysvinit for this.
When doing so you'll need to update the attached patch
with the version number of the sysvinit upload and the Closes
bug number in the debian/changelog.
An announcement on debian-devel about introducing a new essential
package is also needed.

Regards,
Andreas Henriksson


-- System Information:
Debian Release: 8.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages procps depends on:
ii  initscripts   2.88dsf-59.2
ii  libc6         2.19-18+deb8u1
ii  libncurses5   5.9+20140913-1+b1
ii  libncursesw5  5.9+20140913-1+b1
ii  libprocps3    2:3.3.9-9
ii  libtinfo5     5.9+20140913-1+b1
ii  lsb-base      4.1+Debian13+nmu1

Versions of packages procps recommends:
ii  psmisc  22.21-2

procps suggests no packages.

-- no debconf information
>From afdc6e40a74d7bc14deb4f59ab96f61961ed803b Mon Sep 17 00:00:00 2001
From: Andreas Henriksson <andr...@fatal.se>
Date: Tue, 5 Jan 2016 16:26:01 +0100
Subject: [PATCH] Add an essential procps-base package containing pidof

This takes over pidof as procps version is maintained upstream.
---
 debian/changelog           |  4 ++++
 debian/control             | 17 +++++++++++++++++
 debian/procps-base.install |  1 +
 debian/rules               |  8 +++++++-
 4 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 debian/procps-base.install

TODO: Please note that this requires equivalent changes in
sysvinit(-utils) to stop shipping pidof and then update the
Breaks/Replaces version in this patch to the right version. See FIXME
below. Also fix the Closes #-1 to the future created bug number.

diff --git a/debian/changelog b/debian/changelog
index 2c4583c..8dd986b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
 procps (2:3.3.11-3) UNRELEASED; urgency=medium
 
+  [ Craig Small ]
   * New upstream source (from experimental)
     - pgrep: don't crash with -a -w flags Closes: #768190
     - pmap: print even with no smaps Closes: #775624
@@ -23,6 +24,9 @@ procps (2:3.3.11-3) UNRELEASED; urgency=medium
   * Add commented out sysrq to sysctl.conf Closes: #694691
   * Add protectedhard/soft link to sysctl example Closes: #694692
 
+  [ Andreas Henriksson ]
+  * Add an essential procps-base package containing pidof. Closes: #-1
+
  -- Craig Small <csm...@debian.org>  Sun, 03 Jan 2016 10:09:16 +1100
 
 procps (2:3.3.10-4) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index 8092183..9b47c84 100644
--- a/debian/control
+++ b/debian/control
@@ -31,6 +31,23 @@ Description: /proc file system utilities
  It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop,
  snice, sysctl, tload, top, uptime, vmstat, w, and watch.
 
+Package: procps-base
+Architecture: any
+Multi-Arch: foreign
+Essential: yes
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: procps
+Breaks: sysvinit-utils (<< 0.0.0~FIXME)
+Replaces: sysvinit-utils (<< 0.0.0~FIXME)
+Description: Essential /proc file system utilities
+ This package provides the essential subset of command line and full screen
+ utilities for browsing procfs, a "pseudo" file system dynamically generated
+ by the kernel to provide information about the status of entries in its
+ process table (such as whether the process is running, stopped, or a
+ "zombie").
+ .
+ It contains pidof.
+
 Package: libprocps5
 Architecture: any
 Multi-Arch: same
diff --git a/debian/procps-base.install b/debian/procps-base.install
new file mode 100644
index 0000000..cbe8928
--- /dev/null
+++ b/debian/procps-base.install
@@ -0,0 +1 @@
+procps-base/* .
diff --git a/debian/rules b/debian/rules
index 39d5d6f..697dfc8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -34,7 +34,6 @@ override_dh_auto_configure:
 	  --disable-silent-rules \
 	  --enable-watch8bit --enable-w-from \
 	  --enable-skill ${LINUX_CONFIGURE_EXTRA_FLAGS} \
-	  --disable-pidof \
 	  --disable-modern-top \
 	  --prefix=/usr \
 	  --exec-prefix=/ \
@@ -47,6 +46,13 @@ override_dh_auto_install: $(autogen-files)
 	mv $(DEBROOT)/bin/kill $(DEBROOT)/bbin/
 	mv $(DEBROOT)/bin/ps $(DEBROOT)/bbin/
 
+	# We need to ship pidof in a separate essential pkg
+	mkdir -p $(DEBROOT)/procps-base/bin
+	mv $(DEBROOT)/bin/pidof $(DEBROOT)/procps-base/bin/
+	mkdir -p $(DEBROOT)/procps-base/usr/share/man/man1/
+	mv $(DEBROOT)/usr/share/man/man1/pidof.* \
+		$(DEBROOT)/procps-base/usr/share/man/man1/
+
 	# Rename w as there are two of them
 	(cd $(DEBROOT)/bin && mv w w.procps )
 	(cd $(DEBROOT)/usr/share/man/man1 && mv w.1 w.procps.1 )
-- 
2.1.4

Reply via email to