aboutsummaryrefslogtreecommitdiff
path: root/whatmaps
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-04-21 20:23:41 +0200
committerGuido Günther <agx@sigxcpu.org>2014-04-21 20:25:02 +0200
commit90975d3c600a3ef43dda4922a656a8ad76eca388 (patch)
treefc8bd9aa22a71e97ab4ee94dd577b01788ef9f2d /whatmaps
parentfa359f748b844a218842d73fff13dcbce00dcd27 (diff)
Split out and test RpmPkg
Diffstat (limited to 'whatmaps')
-rwxr-xr-xwhatmaps/command.py23
-rw-r--r--whatmaps/rpmpkg.py41
2 files changed, 42 insertions, 22 deletions
diff --git a/whatmaps/command.py b/whatmaps/command.py
index 0d235ba..f645b99 100755
--- a/whatmaps/command.py
+++ b/whatmaps/command.py
@@ -34,6 +34,7 @@ from . process import Process
from . distro import Distro
from . pkg import Pkg, PkgError
from . debianpkg import DebianPkg
+from . rpmpkg import RpmPkg
class RedHatDistro(Distro):
"RPM based distribution"""
@@ -68,28 +69,6 @@ class FedoraDistro(RedHatDistro):
id = 'Fedora'
-class RpmPkg(Pkg):
- type = 'RPM'
- _init_script_re = re.compile('/etc/rc.d/init.d/[\w\-\.]')
- _list_contents = [ 'rpm', '-ql', '$pkg_name' ]
-
- def __init__(self, name):
- Pkg.__init__(self, name)
-
- @property
- def services(self):
- if self._services != None:
- return self._services
-
- self._services = []
- contents = self._get_contents()
- # Only supports sysvinit so far:
- for line in contents:
- if self._init_script_re.match(line):
- self._services.append(os.path.basename(line.strip()))
- return self._services
-
-
def check_maps(procs, shared_objects):
restart_procs = {}
for proc in procs:
diff --git a/whatmaps/rpmpkg.py b/whatmaps/rpmpkg.py
new file mode 100644
index 0000000..595edd2
--- /dev/null
+++ b/whatmaps/rpmpkg.py
@@ -0,0 +1,41 @@
+# vim: set fileencoding=utf-8 :
+#
+# (C) 2010,2014 Guido Günther <agx@sigxcpu.org>
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import re
+
+from . pkg import Pkg
+
+class RpmPkg(Pkg):
+ type = 'RPM'
+ _init_script_re = re.compile('/etc/rc.d/init.d/[\w\-\.]')
+ _list_contents = [ 'rpm', '-ql', '$pkg_name' ]
+
+ def __init__(self, name):
+ Pkg.__init__(self, name)
+
+ @property
+ def services(self):
+ if self._services != None:
+ return self._services
+
+ self._services = []
+ contents = self._get_contents()
+ # Only supports sysvinit so far:
+ for line in contents:
+ if self._init_script_re.match(line):
+ self._services.append(os.path.basename(line.strip()))
+ return self._services