logging.info(" --> Adding package to dependency set: %s" % pkg.friendly_name)
self.__packages.append(pkg)
- self.add_provides(pkg.name, pkg)
for prov in pkg.provides:
self.add_provides(prov, pkg)
def build_id(self):
return self.metadata.get("BUILD_ID")
+ @property
+ def _provides(self):
+ # Make package identifyable by its name and version/release tuples.
+ provides = [
+ self.name,
+ "%s=%s-%s" % (self.name, self.version, self.release),
+ "%s=%s:%s-%s" % (self.name, self.epoch, self.version, self.release),
+ ]
+
+ return provides
+
### methods ###
def does_provide(self, requires):
@property
def provides(self):
- return self.metadata.get("PKG_PROVIDES").split()
+ provides = self.metadata.get("PKG_PROVIDES").split()
+
+ # Add autoprovides
+ for prov in self._provides:
+ if not prov in provides:
+ provides.append(prov)
+
+ return provides
@property
def conflicts(self):
@property
def provides(self):
- provides = self.metadata.get("provides")
-
- if provides:
- return provides.split()
+ provides = self.metadata.get("provides", "").split()
- return []
+ # Add autoprovides
+ for prov in self._provides:
+ if not prov in provides:
+ provides.append(prov)
+
+ return provides
@property
def requires(self):