mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-04 10:34:05 +00:00 
			
		
		
		
	Correctly handle uninstallable arch:all to installable arch:any moves
If the package was previously arch:all and uninstallable and has moved to being architecture-dependent, becoming installable in the process, then it will not be in the architecture-dependent uninstallability set; we therefore should try removing it from that set.
This commit is contained in:
		
							parent
							
								
									ac61205d02
								
							
						
					
					
						commit
						e47201d0f2
					
				
							
								
								
									
										17
									
								
								britney.py
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								britney.py
									
									
									
									
									
								
							@ -2241,7 +2241,14 @@ class Britney:
 | 
			
		||||
                        to_check.append(p)
 | 
			
		||||
                        broken.remove(p)
 | 
			
		||||
                        if not (skip_archall and binaries[arch][0][p][ARCHITECTURE] == 'all'):
 | 
			
		||||
                            nuninst[arch].remove(p)
 | 
			
		||||
                            # if the package was previously arch:all and uninstallable
 | 
			
		||||
                            # and has moved to being architecture-dependent, becoming
 | 
			
		||||
                            # installable in the process then it will not be in the
 | 
			
		||||
                            # architecture-dependent uninstallability set; therefore,
 | 
			
		||||
                            # don't try removing it
 | 
			
		||||
                            if p in nuninst[arch]:
 | 
			
		||||
                                nuninst[arch].remove(p)
 | 
			
		||||
                                 
 | 
			
		||||
 | 
			
		||||
                # broken packages (second round, reverse dependencies of the first round)
 | 
			
		||||
                while to_check:
 | 
			
		||||
@ -2259,7 +2266,13 @@ class Britney:
 | 
			
		||||
                            broken.remove(p)
 | 
			
		||||
                            to_check.append(p)
 | 
			
		||||
                            if not (skip_archall and binaries[arch][0][p][ARCHITECTURE] == 'all'):
 | 
			
		||||
                                nuninst[arch].remove(p)
 | 
			
		||||
                                # if the package was previously arch:all and uninstallable
 | 
			
		||||
                                # and has moved to being architecture-dependent, becoming
 | 
			
		||||
                                # installable in the process then it will not be in the
 | 
			
		||||
                                # architecture-dependent uninstallability set; therefore,
 | 
			
		||||
                                # don't try removing it
 | 
			
		||||
                                if p in nuninst[arch]:
 | 
			
		||||
                                    nuninst[arch].remove(p)
 | 
			
		||||
 | 
			
		||||
                # if we are processing hints, go ahead
 | 
			
		||||
                if hint:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user