mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-04 02:24:24 +00:00 
			
		
		
		
	britney.py: Pre-split self.options.*_arches
We always use them as lists, so we might as well just split them once and be done with it.
This commit is contained in:
		
							parent
							
								
									bf3aa08023
								
							
						
					
					
						commit
						0b9006c36b
					
				
							
								
								
									
										42
									
								
								britney.py
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								britney.py
									
									
									
									
									
								
							@ -430,16 +430,22 @@ class Britney(object):
 | 
			
		||||
        if not hasattr(self.options, "heidi_delta_output"):
 | 
			
		||||
            self.options.heidi_delta_output = self.options.heidi_output + "Delta"
 | 
			
		||||
 | 
			
		||||
        self.options.nobreakall_arches = self.options.nobreakall_arches.split()
 | 
			
		||||
        self.options.fucked_arches = self.options.fucked_arches.split()
 | 
			
		||||
        self.options.break_arches = self.options.break_arches.split()
 | 
			
		||||
        self.options.new_arches = self.options.new_arches.split()
 | 
			
		||||
 | 
			
		||||
        # Sort the architecture list
 | 
			
		||||
        allarches = sorted(self.options.architectures.split())
 | 
			
		||||
        arches = [x for x in allarches if x in self.options.nobreakall_arches.split()]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.fucked_arches.split()]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.break_arches.split()]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.new_arches.split()]
 | 
			
		||||
        arches = [x for x in allarches if x in self.options.nobreakall_arches]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.fucked_arches]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.break_arches]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches and x not in self.options.new_arches]
 | 
			
		||||
        arches += [x for x in allarches if x not in arches]
 | 
			
		||||
        self.options.architectures = [sys.intern(arch) for arch in arches]
 | 
			
		||||
        self.options.smooth_updates = self.options.smooth_updates.split()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def __log(self, msg, type="I"):
 | 
			
		||||
        """Print info messages according to verbosity level
 | 
			
		||||
        
 | 
			
		||||
@ -1045,7 +1051,7 @@ class Britney(object):
 | 
			
		||||
 | 
			
		||||
            # for the solving packages, update the excuse to add the dependencies
 | 
			
		||||
            for p in packages:
 | 
			
		||||
                if arch not in self.options.break_arches.split():
 | 
			
		||||
                if arch not in self.options.break_arches:
 | 
			
		||||
                    if p in self.sources['testing'] and self.sources['testing'][p][VERSION] == self.sources[suite][p][VERSION]:
 | 
			
		||||
                        excuse.add_dep("%s/%s" % (p, arch), arch)
 | 
			
		||||
                    else:
 | 
			
		||||
@ -1397,7 +1403,7 @@ class Britney(object):
 | 
			
		||||
                    base = 'stable'
 | 
			
		||||
                text = "Not yet built on <a href=\"http://buildd.debian.org/status/logs.php?arch=%s&pkg=%s&ver=%s&suite=%s\" target=\"_blank\">%s</a> (relative to testing)" % (quote(arch), quote(src), quote(source_u[VERSION]), base, arch)
 | 
			
		||||
 | 
			
		||||
                if arch in self.options.fucked_arches.split():
 | 
			
		||||
                if arch in self.options.fucked_arches:
 | 
			
		||||
                    text = text + " (but %s isn't keeping up, so never mind)" % (arch)
 | 
			
		||||
                else:
 | 
			
		||||
                    update_candidate = False
 | 
			
		||||
@ -1436,7 +1442,7 @@ class Britney(object):
 | 
			
		||||
 | 
			
		||||
                # if the package is architecture-dependent or the current arch is `nobreakall'
 | 
			
		||||
                # find unsatisfied dependencies for the binary package
 | 
			
		||||
                if binary_u[ARCHITECTURE] != 'all' or arch in self.options.nobreakall_arches.split():
 | 
			
		||||
                if binary_u[ARCHITECTURE] != 'all' or arch in self.options.nobreakall_arches:
 | 
			
		||||
                    self.excuse_unsat_deps(pkg, src, arch, suite, excuse)
 | 
			
		||||
 | 
			
		||||
            # if there are out-of-date packages, warn about them in the excuse and set update_candidate
 | 
			
		||||
@ -1458,7 +1464,7 @@ class Britney(object):
 | 
			
		||||
                        "arch=%s&pkg=%s&ver=%s\" target=\"_blank\">%s</a>: %s" % \
 | 
			
		||||
                        (quote(arch), quote(src), quote(source_u[VERSION]), arch, oodtxt)
 | 
			
		||||
 | 
			
		||||
                if arch in self.options.fucked_arches.split():
 | 
			
		||||
                if arch in self.options.fucked_arches:
 | 
			
		||||
                    text = text + " (but %s isn't keeping up, so nevermind)" % (arch)
 | 
			
		||||
                else:
 | 
			
		||||
                    update_candidate = False
 | 
			
		||||
@ -1763,7 +1769,7 @@ class Britney(object):
 | 
			
		||||
        for arch in self.options.architectures:
 | 
			
		||||
            if requested_arch and arch != requested_arch: continue
 | 
			
		||||
            # if it is in the nobreakall ones, check arch-independent packages too
 | 
			
		||||
            check_archall = arch in self.options.nobreakall_arches.split()
 | 
			
		||||
            check_archall = arch in self.options.nobreakall_arches
 | 
			
		||||
 | 
			
		||||
            # check all the packages for this architecture
 | 
			
		||||
            nuninst[arch] = set()
 | 
			
		||||
@ -1807,7 +1813,7 @@ class Britney(object):
 | 
			
		||||
            elif original and arch in original:
 | 
			
		||||
                n = len(original[arch])
 | 
			
		||||
            else: continue
 | 
			
		||||
            if arch in self.options.break_arches.split():
 | 
			
		||||
            if arch in self.options.break_arches:
 | 
			
		||||
                totalbreak = totalbreak + n
 | 
			
		||||
            else:
 | 
			
		||||
                total = total + n
 | 
			
		||||
@ -2231,7 +2237,7 @@ class Britney(object):
 | 
			
		||||
 | 
			
		||||
        removals = set()
 | 
			
		||||
        all_affected = set()
 | 
			
		||||
        nobreakall_arches = self.options.nobreakall_arches.split()
 | 
			
		||||
        nobreakall_arches = self.options.nobreakall_arches
 | 
			
		||||
        packages_t = self.binaries['testing']
 | 
			
		||||
        check_packages = partial(self._check_packages, packages_t)
 | 
			
		||||
        nuninst = {}
 | 
			
		||||
@ -2293,9 +2299,9 @@ class Britney(object):
 | 
			
		||||
        binaries = self.binaries['testing']
 | 
			
		||||
        sources = self.sources
 | 
			
		||||
        architectures = self.options.architectures
 | 
			
		||||
        nobreakall_arches = self.options.nobreakall_arches.split()
 | 
			
		||||
        new_arches = self.options.new_arches.split()
 | 
			
		||||
        break_arches = self.options.break_arches.split()
 | 
			
		||||
        nobreakall_arches = self.options.nobreakall_arches
 | 
			
		||||
        new_arches = self.options.new_arches
 | 
			
		||||
        break_arches = self.options.break_arches
 | 
			
		||||
        dependencies = self.dependencies
 | 
			
		||||
        check_packages = partial(self._check_packages, binaries)
 | 
			
		||||
 | 
			
		||||
@ -2454,7 +2460,7 @@ class Britney(object):
 | 
			
		||||
                                              newly_uninst(nuninst_start, nuninst_end)) + "\n")
 | 
			
		||||
 | 
			
		||||
        if not force:
 | 
			
		||||
            break_arches = set(self.options.break_arches.split())
 | 
			
		||||
            break_arches = set(self.options.break_arches)
 | 
			
		||||
            if all(x.architecture in break_arches for x in selected):
 | 
			
		||||
                # If we only migrated items from break-arches, then we
 | 
			
		||||
                # do not allow any regressions on these architectures.
 | 
			
		||||
@ -2528,16 +2534,16 @@ class Britney(object):
 | 
			
		||||
        allpackages = []
 | 
			
		||||
        normpackages = self.upgrade_me[:]
 | 
			
		||||
        archpackages = {}
 | 
			
		||||
        for a in self.options.break_arches.split():
 | 
			
		||||
        for a in self.options.break_arches:
 | 
			
		||||
            archpackages[a] = [p for p in normpackages if p.architecture == a]
 | 
			
		||||
            normpackages = [p for p in normpackages if p not in archpackages[a]]
 | 
			
		||||
        self.upgrade_me = normpackages
 | 
			
		||||
        self.output_write("info: main run\n")
 | 
			
		||||
        self.do_all()
 | 
			
		||||
        allpackages += self.upgrade_me
 | 
			
		||||
        for a in self.options.break_arches.split():
 | 
			
		||||
        for a in self.options.break_arches:
 | 
			
		||||
            backup = self.options.break_arches
 | 
			
		||||
            self.options.break_arches = " ".join(x for x in self.options.break_arches.split() if x != a)
 | 
			
		||||
            self.options.break_arches = " ".join(x for x in self.options.break_arches if x != a)
 | 
			
		||||
            self.upgrade_me = archpackages[a]
 | 
			
		||||
            self.output_write("info: broken arch run for %s\n" % (a))
 | 
			
		||||
            self.do_all()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user