mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-03 18:14:11 +00:00 
			
		
		
		
	Check version of cruft removal item
If the cruft removal item has a different version than the binary currently in testing, then the cruft item was replaced since it was added, or it was added in error. In this case, the item should not be processed. Signed-off-by: Ivo De Decker <ivodd@debian.org>
This commit is contained in:
		
							parent
							
								
									e3af8993be
								
							
						
					
					
						commit
						7fdbfcbeb2
					
				
							
								
								
									
										13
									
								
								britney.py
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								britney.py
									
									
									
									
									
								
							@ -878,10 +878,15 @@ class Britney(object):
 | 
			
		||||
                                target_suite.check_suite_source_pkg_consistency('iter_packages after commit')
 | 
			
		||||
                            nuninst_last_accepted = nuninst_after
 | 
			
		||||
                            for cruft_item in new_cruft:
 | 
			
		||||
                                _, updates, rms, _ = mm.compute_groups(cruft_item)
 | 
			
		||||
                                result = (cruft_item, frozenset(updates), frozenset(rms))
 | 
			
		||||
                                group_info[cruft_item] = result
 | 
			
		||||
                            worklist.extend([x] for x in new_cruft)
 | 
			
		||||
                                try:
 | 
			
		||||
                                    _, updates, rms, _ = mm.compute_groups(cruft_item)
 | 
			
		||||
                                    result = (cruft_item, frozenset(updates), frozenset(rms))
 | 
			
		||||
                                    group_info[cruft_item] = result
 | 
			
		||||
                                    worklist.append([cruft_item])
 | 
			
		||||
                                except MigrationConstraintException as e:
 | 
			
		||||
                                    output_logger.info(
 | 
			
		||||
                                        "    got exception adding cruft item %s to list: %s" %
 | 
			
		||||
                                        (cruft_item.uvname, repr(e)))
 | 
			
		||||
                            rescheduled_packages.extend(maybe_rescheduled_packages)
 | 
			
		||||
                            maybe_rescheduled_packages.clear()
 | 
			
		||||
                        else:
 | 
			
		||||
 | 
			
		||||
@ -112,6 +112,12 @@ class MigrationManager(object):
 | 
			
		||||
        else:
 | 
			
		||||
            assert item_package in binaries_t[item.architecture]
 | 
			
		||||
            pkg_id = binaries_t[item.architecture][item_package].pkg_id
 | 
			
		||||
            binary, ver, parch = pkg_id
 | 
			
		||||
            if ver != item.version:
 | 
			
		||||
                raise MigrationConstraintException(
 | 
			
		||||
                    "trying cruft removal item %s, while %s has %s/%s on %s" % (
 | 
			
		||||
                        item, target_suite.name,
 | 
			
		||||
                        binary, ver, parch))
 | 
			
		||||
            source_name = binaries_t[item.architecture][item_package].source
 | 
			
		||||
            rms = {pkg_id}
 | 
			
		||||
            smoothbins = set()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user