~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/soyuz/model/binarypackagebuild.py

  • Committer: William Grant
  • Date: 2012-01-03 07:30:21 UTC
  • mto: This revision was merged to the branch mainline in revision 14621.
  • Revision ID: william.grant@canonical.com-20120103073021-qvprj6kbnpg0h1qv
Update a few templates.

Show diffs side-by-side

added added

removed removed

Lines of Context:
433
433
                "It is expected to be a tuple containing only another "
434
434
                "tuple with 3 elements  (name, version, relation)."
435
435
                % (token, self.title, self.id, self.dependencies))
436
 
        # Map relations to the canonical form used in control files.
437
 
        if relation == '<':
438
 
            relation = '<<'
439
 
        elif relation == '>':
440
 
            relation = '>>'
441
436
        return (name, version, relation)
442
437
 
443
438
    def _checkDependencyVersion(self, available, required, relation):
444
439
        """Return True if the available version satisfies the context."""
445
440
        # This dict maps the package version relationship syntax in lambda
446
441
        # functions which returns boolean according the results of
447
 
        # apt_pkg.version_compare function (see the order above).
 
442
        # apt_pkg.VersionCompare function (see the order above).
448
443
        # For further information about pkg relationship syntax see:
449
444
        #
450
445
        # http://www.debian.org/doc/debian-policy/ch-relationships.html
452
447
        version_relation_map = {
453
448
            # any version is acceptable if no relationship is given
454
449
            '': lambda x: True,
455
 
            # strictly later
 
450
            # stricly later
456
451
            '>>': lambda x: x == 1,
457
452
            # later or equal
458
453
            '>=': lambda x: x >= 0,
459
 
            # strictly equal
 
454
            # stricly equal
460
455
            '=': lambda x: x == 0,
461
456
            # earlier or equal
462
457
            '<=': lambda x: x <= 0,
468
463
        # it behaves similar to cmp, i.e. returns negative
469
464
        # if first < second, zero if first == second and
470
465
        # positive if first > second.
471
 
        dep_result = apt_pkg.version_compare(available, required)
 
466
        dep_result = apt_pkg.VersionCompare(available, required)
472
467
 
473
468
        return version_relation_map[relation](dep_result)
474
469
 
505
500
    def updateDependencies(self):
506
501
        """See `IBuild`."""
507
502
 
508
 
        # apt_pkg requires init_system to get version_compare working
509
 
        # properly.
510
 
        apt_pkg.init_system()
 
503
        # apt_pkg requires InitSystem to get VersionCompare working properly.
 
504
        apt_pkg.InitSystem()
511
505
 
512
506
        # Check package build dependencies using apt_pkg
513
507
        try:
514
 
            parsed_deps = apt_pkg.parse_depends(self.dependencies)
 
508
            parsed_deps = apt_pkg.ParseDepends(self.dependencies)
515
509
        except (ValueError, TypeError):
516
510
            raise UnparsableDependencies(
517
511
                "Build dependencies for %s (%s) could not be parsed: '%s'\n"