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)