示例#1
0
 def _spec_deps(self, spec_fn):
     try:
         spec = rpm.spec(spec_fn)
     except ValueError as e:
         msg = _("Failed to open: '%s', not a valid spec file.") % spec_fn
         raise dnf.exceptions.Error(msg)
     for dep in rpm.ds(spec.sourceHeader, 'requires'):
         reldep_str = self._rpm_dep2reldep_str(dep)
         self.base.install(reldep_str)
示例#2
0
 def _spec_deps(self, spec_fn):
     try:
         spec = rpm.spec(spec_fn)
     except ValueError:
         msg = _("Failed to open: '%s', not a valid spec file.") % spec_fn
         raise dnf.exceptions.Error(msg)
     for dep in rpm.ds(spec.sourceHeader, 'requires'):
         reldep_str = self._rpm_dep2reldep_str(dep)
         try:
             self.base.install(reldep_str)
         except dnf.exceptions.MarkingError:
             msg = _("No matching package to install: '%s'") % reldep_str
             raise dnf.exceptions.Error(msg)
示例#3
0
    def _spec_deps(self, spec_fn):
        try:
            spec = rpm.spec(spec_fn)
        except ValueError:
            msg = _("Failed to open: '%s', not a valid spec file.") % spec_fn
            raise dnf.exceptions.Error(msg)
        done = True
        for dep in rpm.ds(spec.sourceHeader, 'requires'):
            reldep_str = self._rpm_dep2reldep_str(dep)
            done &= self._install(reldep_str)

        if not done:
            err = _("Not all dependencies satisfied")
            raise dnf.exceptions.Error(err)
示例#4
0
    def _spec_deps(self, spec_fn):
        try:
            spec = rpm.spec(spec_fn)
        except ValueError:
            msg = _("Failed to open: '%s', not a valid spec file.") % spec_fn
            raise dnf.exceptions.Error(msg)
        done = True
        for dep in rpm.ds(spec.sourceHeader, 'requires'):
            reldep_str = self._rpm_dep2reldep_str(dep)
            done &= self._install(reldep_str)

        if not done:
            err = _("Not all dependencies satisfied")
            raise dnf.exceptions.Error(err)
示例#5
0
#!/usr/bin/python
import rpm

ts = rpm.ts()

# Grab a header
for h in ts.dbMatch('name', 'bash'):
    print h['name']
    break

print "===== rpm.ds(h)"
D = rpm.ds(h)
print D

print "===== dsFromHeader('P')"
P = h.dsFromHeader('P')
print P

print "===== dsOfHeader()"
NEVR = h.dsOfHeader()
print NEVR

print "===== dsSingle('P', 'config(bash)', '3.0-16', rpm.RPMSENSE_EQUAL)"
Pconfig = rpm.dsSingle('P', 'config(bash)', '3.0-16', rpm.RPMSENSE_EQUAL)
Dconfig = rpm.dsSingle('D', 'config(bash)', '3.0-16', rpm.RPMSENSE_EQUAL)
print Pconfig, Dconfig

print "===== ds.Merge to accomplish missing ds.Sort()"
P = rpm.dsSingle('P', "config(bash)", "3.0-16", rpm.RPMSENSE_EQUAL)
print P.Merge(NEVR)
print P
示例#6
0
        for name in specnames:
            # (re)load rpm config for target if set
            if reloadworks and opts.target:
                rpm.reloadConfig(opts.target)

            for macro in macros:
                rpm.addMacro(*macro)

            try:
                spec = rpm.spec(name)
            except ValueError:
                self.logger.error("Bad spec: %s" % name)
                continue

            # reset default rpm config after each parse to avoid side-effects
            if reloadworks:
                rpm.reloadConfig()

            buildreqs = []
            for d in rpm.ds(spec.sourceHeader, 'requires'):
                buildreqs.append(d.DNEVR()[2:])
                
            self.logger.info('Getting requirements for %s' % name)
            self.install_deps(buildreqs, opts)
            
if __name__ == '__main__':
    setup_locale()
    util = YumBuildDep()
        
       
示例#7
0
        for srpm in toActOn:
            self.logger.info("Getting requirements for %s" % srpm)
            self.install_deps(srpm.requiresList())

        for name in specnames:
            # (re)load rpm config for target if set
            if reloadworks and opts.target:
                rpm.reloadConfig(opts.target)

            try:
                spec = rpm.spec(name)
            except ValueError:
                self.logger.error("Bad spec: %s" % name)
                continue

            # reset default rpm config after each parse to avoid side-effects
            if reloadworks:
                rpm.reloadConfig()

            buildreqs = []
            for d in rpm.ds(spec.sourceHeader, "requires"):
                buildreqs.append(d.DNEVR()[2:])

            self.logger.info("Getting requirements for %s" % name)
            self.install_deps(buildreqs)


if __name__ == "__main__":
    setup_locale()
    util = YumBuildDep()
示例#8
0
        for name in specnames:
            # (re)load rpm config for target if set
            if reloadworks and opts.target:
                rpm.reloadConfig(opts.target)

            for macro in macros:
                rpm.addMacro(*macro)

            try:
                spec = rpm.spec(name)
            except ValueError:
                self.logger.error("Bad spec: %s" % name)
                continue

            # reset default rpm config after each parse to avoid side-effects
            if reloadworks:
                rpm.reloadConfig()

            buildreqs = []
            for d in rpm.ds(spec.sourceHeader, 'requires'):
                buildreqs.append(d.DNEVR()[2:])

            self.logger.info('Getting requirements for %s' % name)
            self.install_deps(buildreqs, opts)


if __name__ == '__main__':
    setup_locale()
    util = YumBuildDep()