SOURCES: apport-backend-pld.py (NEW) - add PLD backend
patrys
patrys at pld-linux.org
Sun Apr 6 21:58:25 CEST 2008
Author: patrys Date: Sun Apr 6 19:58:25 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- add PLD backend
---- Files affected:
SOURCES:
apport-backend-pld.py (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/apport-backend-pld.py
diff -u /dev/null SOURCES/apport-backend-pld.py:1.1
--- /dev/null Sun Apr 6 21:58:25 2008
+++ SOURCES/apport-backend-pld.py Sun Apr 6 21:58:19 2008
@@ -0,0 +1,70 @@
+'''A concrete apport.PackageInfo class implementation for PLD.
+
+Copyright (C) 2007 PLD Linux team
+Author: Patryk Zawadzki <patrys at pld-linux.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 2 of the License, or (at your
+option) any later version. See http://www.gnu.org/copyleft/gpl.html for
+the full text of the license.
+'''
+
+from packaging_rpm import RPMPackageInfo
+from rpmUtils.miscutils import compareEVR, stringToVersion
+
+class __PLDPackageInfo(RPMPackageInfo):
+ '''Concrete apport.PackageInfo class implementation for PLD Linux.'''
+
+ # A list of ids of official keys used by the project
+ official_keylist = ('e64e7bf7')
+
+ def is_distro_package(self, package):
+ '''Check if a package is a genuine distro package (True) or comes from
+ a third-party source.'''
+ if RPMPackageInfo.is_distro_package(self,package):
+ return True
+ else:
+ # GPG key check failed.
+ hdr = RPMPackageInfo._get_header(self,package)
+
+ if hdr['vendor'] == "PLD" and \
+ hdr['distribution'].startswith("PLD"):
+ return True
+ return False
+
+ def get_available_version(self, package):
+ '''Return the latest available version of a package.'''
+ # used in report.py, which is used by the frontends
+ (epoch, name, ver, rel, arch) = self._split_envra(package)
+ package_ver = '%s-%s' % (ver,rel)
+ if epoch:
+ package_ver = "%s:%s" % (epoch, package_ver)
+ # FIXME STUB
+ return package_ver
+
+ def get_source_tree(self, srcpackage, dir, version=None):
+ '''Download given source package and unpack it into dir (which should
+ be empty).
+
+ This also has to care about applying patches etc., so that dir will
+ eventually contain the actually compiled source.
+
+ If version is given, this particular version will be retrieved.
+ Otherwise this will fetch the latest available version.
+
+ Return the directory that contains the actual source root directory
+ (which might be a subdirectory of dir). Return None if the source is
+ not available.'''
+ # Used only by apport-retrace.
+ # FIXME STUB
+ return None
+
+ def compare_versions(self, ver1, ver2):
+ '''Compare two package versions.
+
+ Return -1 for ver < ver2, 0 for ver1 == ver2, and 1 for ver1 > ver2.'''
+ # Used by crashdb.py (i.e. the frontends)
+ return compareEVR(stringToVersion(ver1),stringToVersion(ver2))
+
+impl = __PLDPackageInfo()
================================================================
More information about the pld-cvs-commit
mailing list