mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-10-31 00:24:06 +00:00 
			
		
		
		
	Migrate "packages[0]"-style code to the package and version properties.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
This commit is contained in:
		
							parent
							
								
									7e324daa56
								
							
						
					
					
						commit
						6b953d8f9e
					
				
							
								
								
									
										36
									
								
								britney.py
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								britney.py
									
									
									
									
									
								
							| @ -806,25 +806,24 @@ class Britney: | |||||||
|         for x in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "urgent", "remove", "age-days"]: |         for x in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "urgent", "remove", "age-days"]: | ||||||
|             z = {} |             z = {} | ||||||
|             for hint in hints[x]: |             for hint in hints[x]: | ||||||
|                 item = hint.packages[0] |                 package = hint.package | ||||||
|                 package = item.package |                 if z.has_key(package) and z[package] != hint.version: | ||||||
|                 if z.has_key(package) and z[package] != item.version: |  | ||||||
|                     if x in ['unblock', 'unblock-udeb']: |                     if x in ['unblock', 'unblock-udeb']: | ||||||
|                         if apt_pkg.VersionCompare(z[package], item.version) < 0: |                         if apt_pkg.VersionCompare(z[package], hint.version) < 0: | ||||||
|                             # This hint is for a newer version, so discard the old one |                             # This hint is for a newer version, so discard the old one | ||||||
|                             self.__log("Overriding %s[%s] = %s with %s" % (x, package, z[package], item.version), type="W") |                             self.__log("Overriding %s[%s] = %s with %s" % (x, package, z[package], hint.version), type="W") | ||||||
|                             for other in [y for y in hints[x] if y.package==package and y.version==z[package]]: |                             for other in [y for y in hints[x] if y.package==package and y.version==z[package]]: | ||||||
|                                 other.set_active(False) |                                 other.set_active(False) | ||||||
|                         else: |                         else: | ||||||
|                             # This hint is for an older version, so ignore it in favour of the new one |                             # This hint is for an older version, so ignore it in favour of the new one | ||||||
|                             self.__log("Ignoring %s[%s] = %s, %s is higher or equal" % (x, package, item.version, z[package]), type="W") |                             self.__log("Ignoring %s[%s] = %s, %s is higher or equal" % (x, package, hint.version, z[package]), type="W") | ||||||
|                             hint.set_active(False) |                             hint.set_active(False) | ||||||
|                     else: |                     else: | ||||||
|                         self.__log("Overriding %s[%s] = %s with %s" % (x, package, z[package], item.version), type="W") |                         self.__log("Overriding %s[%s] = %s with %s" % (x, package, z[package], hint.version), type="W") | ||||||
|                         for other in [y for y in hints[x] if y.package==package and y.version==z[package]]: |                         for other in [y for y in hints[x] if y.package==package and y.version==z[package]]: | ||||||
|                             other.set_active(False) |                             other.set_active(False) | ||||||
|                          |                          | ||||||
|                 z[package] = item.version |                 z[package] = hint.version | ||||||
| 
 | 
 | ||||||
|         # Sanity check the hints hash |         # Sanity check the hints hash | ||||||
|         if len(hints["block"]) == 0 and len(hints["block-udeb"]) == 0: |         if len(hints["block"]) == 0 and len(hints["block-udeb"]) == 0: | ||||||
| @ -1122,7 +1121,7 @@ class Britney: | |||||||
|          |          | ||||||
|         # if there is a `remove' hint and the requested version is the same as the |         # if there is a `remove' hint and the requested version is the same as the | ||||||
|         # version in testing, then stop here and return False |         # version in testing, then stop here and return False | ||||||
|         for hint in [ x for x in self.hints.hints('remove', package=src) if self.same_source(source_t[VERSION], x.packages[0].version) ]: |         for hint in [ x for x in self.hints.hints('remove', package=src) if self.same_source(source_t[VERSION], x.version) ]: | ||||||
|             excuse.addhtml("Removal request by %s" % (hint.user)) |             excuse.addhtml("Removal request by %s" % (hint.user)) | ||||||
|             excuse.addhtml("Trying to remove package, not update it") |             excuse.addhtml("Trying to remove package, not update it") | ||||||
|             excuse.addhtml("Not considered") |             excuse.addhtml("Not considered") | ||||||
| @ -1261,9 +1260,8 @@ class Britney: | |||||||
|         # if there is a `remove' hint and the requested version is the same as the |         # if there is a `remove' hint and the requested version is the same as the | ||||||
|         # version in testing, then stop here and return False |         # version in testing, then stop here and return False | ||||||
|         for item in self.hints.hints('remove', package=src): |         for item in self.hints.hints('remove', package=src): | ||||||
|             package = item.packages[0] |             if source_t and self.same_source(source_t[VERSION], item.version) or \ | ||||||
|             if source_t and self.same_source(source_t[VERSION], package.version) or \ |                self.same_source(source_u[VERSION], item.version): | ||||||
|                self.same_source(source_u[VERSION], package.version): |  | ||||||
|                 excuse.addhtml("Removal request by %s" % (item.user)) |                 excuse.addhtml("Removal request by %s" % (item.user)) | ||||||
|                 excuse.addhtml("Trying to remove package, not update it") |                 excuse.addhtml("Trying to remove package, not update it") | ||||||
|                 update_candidate = False |                 update_candidate = False | ||||||
| @ -1271,7 +1269,7 @@ class Britney: | |||||||
|         # check if there is a `block' or `block-udeb' hint for this package, or a `block-all source' hint |         # check if there is a `block' or `block-udeb' hint for this package, or a `block-all source' hint | ||||||
|         blocked = {} |         blocked = {} | ||||||
|         for hint in self.hints.hints(package=src): |         for hint in self.hints.hints(package=src): | ||||||
|             if hint.type == 'block' or (hint.type == 'block-all' and hint.packages[0] == 'source' and hint not in blocked['block']): |             if hint.type == 'block' or (hint.type == 'block-all' and hint.package == 'source' and hint not in blocked['block']): | ||||||
|                 blocked['block'] = hint |                 blocked['block'] = hint | ||||||
|             if hint.type == 'block-udeb': |             if hint.type == 'block-udeb': | ||||||
|                 blocked['block-udeb'] = hint |                 blocked['block-udeb'] = hint | ||||||
| @ -1308,7 +1306,7 @@ class Britney: | |||||||
|             min_days = self.MINDAYS[urgency] |             min_days = self.MINDAYS[urgency] | ||||||
| 
 | 
 | ||||||
|             for age_days_hint in [ x for x in self.hints.hints('age-days', package=src) if \ |             for age_days_hint in [ x for x in self.hints.hints('age-days', package=src) if \ | ||||||
|                self.same_source(source_u[VERSION], x.packages[0].version) ]: |                self.same_source(source_u[VERSION], x.version) ]: | ||||||
|                 excuse.addhtml("Overriding age needed from %d days to %d by %s" % (min_days, |                 excuse.addhtml("Overriding age needed from %d days to %d by %s" % (min_days, | ||||||
|                     int(age_days_hint.days), age_days_hint.user)) |                     int(age_days_hint.days), age_days_hint.user)) | ||||||
|                 min_days = int(age_days_hint.days) |                 min_days = int(age_days_hint.days) | ||||||
| @ -1316,7 +1314,7 @@ class Britney: | |||||||
|             excuse.setdaysold(days_old, min_days) |             excuse.setdaysold(days_old, min_days) | ||||||
|             if days_old < min_days: |             if days_old < min_days: | ||||||
|                 urgent_hints = [ x for x in self.hints.hints('urgent', package=src) if \ |                 urgent_hints = [ x for x in self.hints.hints('urgent', package=src) if \ | ||||||
|                    self.same_source(source_u[VERSION], x.packages[0].version) ] |                    self.same_source(source_u[VERSION], x.version) ] | ||||||
|                 if urgent_hints: |                 if urgent_hints: | ||||||
|                     excuse.addhtml("Too young, but urgency pushed by %s" % (urgent_hints[0].user)) |                     excuse.addhtml("Too young, but urgency pushed by %s" % (urgent_hints[0].user)) | ||||||
|                 else: |                 else: | ||||||
| @ -1439,7 +1437,7 @@ class Britney: | |||||||
|                         "though it fixes more than it introduces, whine at debian-release)" % pkg) |                         "though it fixes more than it introduces, whine at debian-release)" % pkg) | ||||||
| 
 | 
 | ||||||
|         # check if there is a `force' hint for this package, which allows it to go in even if it is not updateable |         # check if there is a `force' hint for this package, which allows it to go in even if it is not updateable | ||||||
|         forces = [ x for x in self.hints.hints('force', package=src) if self.same_source(source_u[VERSION], x.packages[0].version) ] |         forces = [ x for x in self.hints.hints('force', package=src) if self.same_source(source_u[VERSION], x.version) ] | ||||||
|         if forces: |         if forces: | ||||||
|             excuse.dontinvalidate = 1 |             excuse.dontinvalidate = 1 | ||||||
|         if not update_candidate and forces: |         if not update_candidate and forces: | ||||||
| @ -1449,7 +1447,7 @@ class Britney: | |||||||
|         # if the suite is *-proposed-updates, the package needs an explicit approval in order to go in |         # if the suite is *-proposed-updates, the package needs an explicit approval in order to go in | ||||||
|         if suite in ['tpu', 'pu']: |         if suite in ['tpu', 'pu']: | ||||||
|             key = "%s_%s" % (src, source_u[VERSION]) |             key = "%s_%s" % (src, source_u[VERSION]) | ||||||
|             approves = [ x for x in self.hints.hints('approve', package=src) if self.same_source(source_u[VERSION], x.packages[0].version) ] |             approves = [ x for x in self.hints.hints('approve', package=src) if self.same_source(source_u[VERSION], x.version) ] | ||||||
|             if approves: |             if approves: | ||||||
|                 excuse.addhtml("Approved by %s" % approves[0].user) |                 excuse.addhtml("Approved by %s" % approves[0].user) | ||||||
|             else: |             else: | ||||||
| @ -1577,14 +1575,14 @@ class Britney: | |||||||
| 
 | 
 | ||||||
|         # process the `remove' hints, if the given package is not yet in upgrade_me |         # process the `remove' hints, if the given package is not yet in upgrade_me | ||||||
|         for item in self.hints['remove']: |         for item in self.hints['remove']: | ||||||
|             src = item.packages[0].package |             src = item.package | ||||||
|             if src in upgrade_me: continue |             if src in upgrade_me: continue | ||||||
|             if ("-"+src) in upgrade_me: continue |             if ("-"+src) in upgrade_me: continue | ||||||
|             if src not in sources['testing']: continue |             if src not in sources['testing']: continue | ||||||
| 
 | 
 | ||||||
|             # check if the version specified in the hint is the same as the considered package |             # check if the version specified in the hint is the same as the considered package | ||||||
|             tsrcv = sources['testing'][src][VERSION] |             tsrcv = sources['testing'][src][VERSION] | ||||||
|             if not self.same_source(tsrcv, item.packages[0].version): continue |             if not self.same_source(tsrcv, item.version): continue | ||||||
| 
 | 
 | ||||||
|             # add the removal of the package to upgrade_me and build a new excuse |             # add the removal of the package to upgrade_me and build a new excuse | ||||||
|             upgrade_me.append("-%s" % (src)) |             upgrade_me.append("-%s" % (src)) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user