summaryrefslogtreecommitdiff
path: root/whatmaps
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-04-20 15:21:36 +0200
committerGuido Günther <agx@sigxcpu.org>2014-04-21 20:21:58 +0200
commitfa359f748b844a218842d73fff13dcbce00dcd27 (patch)
tree1efe1866265cb35854f723ef1409a6cc906779ea /whatmaps
parentb067bf9d5cbab91da407b05ba75d3ba8ef72d18b (diff)
Split out and test DebianPkg
Diffstat (limited to 'whatmaps')
-rwxr-xr-xwhatmaps/command.py53
-rw-r--r--whatmaps/debianpkg.py42
2 files changed, 43 insertions, 52 deletions
diff --git a/whatmaps/command.py b/whatmaps/command.py
index 46e758b..0d235ba 100755
--- a/whatmaps/command.py
+++ b/whatmaps/command.py
@@ -30,47 +30,10 @@ try:
except ImportError:
lsb_release = None
-
from . process import Process
from . distro import Distro
from . pkg import Pkg, PkgError
-
-
-class DebianPkg(Pkg):
- type = 'Debian'
- _init_script_re = re.compile('/etc/init.d/[\w\-\.]')
- _list_contents = ['dpkg-query', '-L', '${pkg_name}' ]
-
- def __init__(self, name):
- Pkg.__init__(self, name)
-
- @property
- def shared_objects(self):
- if self._shared_objects != None:
- return self._shared_objects
-
- self._shared_objects = []
- contents = self._get_contents()
-
- for line in contents:
- m = self._so_regex.match(line)
- if m:
- self._shared_objects.append(m.group('so'))
- return self._shared_objects
-
- @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
-
+from . debianpkg import DebianPkg
class RedHatDistro(Distro):
"RPM based distribution"""
@@ -114,20 +77,6 @@ class RpmPkg(Pkg):
Pkg.__init__(self, name)
@property
- def shared_objects(self):
- if self._shared_objects != None:
- return self._shared_objects
-
- self._shared_objects = []
- contents = self._get_contents()
-
- for line in contents:
- m = self._so_regex.match(line)
- if m:
- self._shared_objects.append(m.group('so'))
- return self._shared_objects
-
- @property
def services(self):
if self._services != None:
return self._services
diff --git a/whatmaps/debianpkg.py b/whatmaps/debianpkg.py
new file mode 100644
index 0000000..8a3349d
--- /dev/null
+++ b/whatmaps/debianpkg.py
@@ -0,0 +1,42 @@
+# 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 DebianPkg(Pkg):
+ type = 'Debian'
+ _init_script_re = re.compile('/etc/init.d/[\w\-\.]')
+ _list_contents = ['dpkg-query', '-L', '${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
+