Package: debian-goodies
Attached is a simple patch for checkrestart which gives rpm support. I
use checkrestart extensively on debian servers and it would be great
to have it on rpm-based machines as well.
There also exist gentoo patches for checkrestart here ->
http://arcdraco.net/checkrestart
If rpm support would be acceptable, I'd be happy to re-work the above
patch so that it checks for the existence of "dpkg-query" and/or "rpm"
and proceeds accordingly.
Regards,
Marcus.
--
Marcus Furlong
--- checkrestart.orig 2012-02-22 15:54:38.000000000 +1100
+++ checkrestart 2012-02-22 16:10:19.000000000 +1100
@@ -139,10 +139,15 @@
packages = {}
diverted = None
- dpkgQuery = ["dpkg-query", "--search"] + programs.keys()
- dpkgProc = subprocess.Popen(dpkgQuery, stdout=subprocess.PIPE, stderr=None,
+ output = ''
+ for key in programs.keys():
+ dpkgQuery = ["rpm", "-q", "-f", "--queryformat=%{NAME}"] + [key]
+ dpkgProc = subprocess.Popen(dpkgQuery, stdout=subprocess.PIPE, stderr=None,
env = lc_all_c_env)
- for line in dpkgProc.stdout.readlines():
+ for line in dpkgProc.stdout.readlines():
+ output = output + "%s: %s \n" % (line, key)
+
+ for line in output.splitlines():
if line.startswith('local diversion'):
continue
@@ -175,12 +180,12 @@
for package in packages.values():
if package == 'util-linux':
continue
- dpkgQuery = ["dpkg-query", "--listfiles", package.name]
+ dpkgQuery = ["rpm", "-q", "-l", package.name]
dpkgProc = subprocess.Popen(dpkgQuery, stdout=subprocess.PIPE, stderr=None,
env = lc_all_c_env)
for line in dpkgProc.stdout.readlines():
path = line[:-1]
- if path.startswith('/etc/init.d/'):
+ if path.startswith('/etc/init.d/') or path.startswith('/etc/rc.d/init.d'):
if path.endswith('.sh'):
continue
package.initscripts.add(path)