Allow installpkgs to do version pinning through globbing
This commit is contained in:
		
							parent
							
								
									5584b6ac56
								
							
						
					
					
						commit
						8edaefd4d1
					
				| @ -563,15 +563,15 @@ class LoraxTemplateRunner(object): | ||||
|                 # dnf queries don't have a concept of negative globs which is why | ||||
|                 # the filtering is done the hard way. | ||||
| 
 | ||||
|                 pkgnames = {pkg.name for pkg in dnf.subject.Subject(p).get_best_query(self.dbo.sack)} | ||||
|                 pkgnames = [pkg for pkg in dnf.subject.Subject(p).get_best_query(self.dbo.sack).filter(latest=True)] | ||||
|                 if not pkgnames: | ||||
|                     raise dnf.exceptions.PackageNotFoundError("no package matched", p) | ||||
| 
 | ||||
|                 for exclude in excludes: | ||||
|                     pkgnames = {pkgname for pkgname in pkgnames if not fnmatch.fnmatch(pkgname, exclude)} | ||||
| 
 | ||||
|                 # Sort the results so that we have consistent results | ||||
|                 pkgnames = sorted(pkgnames) | ||||
|                 pkgnames = sorted(["{}-{}-{}".format(pkg.name, pkg.version, pkg.release) for pkg in pkgnames]) | ||||
| 
 | ||||
|                 for exclude in excludes: | ||||
|                     pkgnames = [pkg for pkg in pkgnames if not fnmatch.fnmatch(pkg, exclude)] | ||||
| 
 | ||||
|                 # If the request is a glob, expand it in the log | ||||
|                 if any(g for g in ['*','?','.'] if g in p): | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user