When using pungi on a F17 system with all updates applied, it seems
to work fine when I only use the F17 release repo in the config file,
but it creates useless media when I also include the F17 updates repo.
Then, when booting the DVD, it times out after a long time when spawning
the shell on tty2 and after selecting the keyboard it runs into a Python
Are these known problems and what can I do about it? My main goal is
to create media to install an up-to-date F17 from (only) DVD.
Otherwise I'll file a bug with all details
-- Jos Vos <jos(a)xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
I would like to build my kernel module with Koji.
- kmod : it works except that the builder need to run the latest
kernel version built within koji. It seems mock always set "kver" to
running kernel version. Can this be changed ? We don't want to reboot
the builder each time there is a new kernel.
- For modules that need a rebuild, what would be a good approach to
build the module for last two kernels (current and previous). Does
Anyone have experience with this kind of setup ?
Greedy matching should only matter for dependencies, not for explicitly specified packages.
Signed-off-by: Bill Nottingham <notting(a)redhat.com>
src/pypungi/__init__.py | 57 +++++++++++++++--------------------------------
1 file changed, 18 insertions(+), 39 deletions(-)
diff --git a/src/pypungi/__init__.py b/src/pypungi/__init__.py
index 8366434..3cfc05b 100644
@@ -483,45 +483,24 @@ class Pungi(pypungi.PungiBase):
# Make the search list unique
searchlist = yum.misc.unique(searchlist)
- if self.config.getboolean('pungi', 'alldeps'):
- # greedy
- # Search repos for things in our searchlist, supports globs
- (exactmatched, matched, unmatched) = yum.packages.parsePackages(self.ayum.pkgSack.returnPackages(), searchlist, casematch=1)
- matches = filter(self._filtersrcdebug, exactmatched + matched)
- matches = self.excludePackages(matches)
- # Populate a dict of package objects to their names
- for match in matches:
- matchdict[match.name] = match
- # Get the newest results from the search
- mysack = yum.packageSack.ListPackageSack(matches)
- for match in mysack.returnNewestByNameArch():
- self.logger.info('Found %s.%s' % (match.name, match.arch))
- for pkg in unmatched:
- if not pkg in matchdict.keys():
- self.logger.warn('Could not find a match for %s in any configured repo' % pkg)
- # nogreedy
- for name in searchlist:
- arch = None
- if "." in name:
- name, arch = name.rsplit(".", 1)
- pkg_sack = self.ayum.pkgSack.searchNevra(name=name, arch=arch)
- # filter sources out of the package sack
- pkg_sack = [ i for i in pkg_sack if i.arch not in ("src", "nosrc") ]
- pkg_sack = self.excludePackages(pkg_sack)
- match = self.ayum._bestPackageFromList(pkg_sack)
- if not match:
- self.logger.warn('Could not find a match for %s in any configured repo' % name)
- self.logger.info('Found %s.%s' % (match.name, match.arch))
+ # Search repos for things in our searchlist, supports globs
+ (exactmatched, matched, unmatched) = yum.packages.parsePackages(self.ayum.pkgSack.returnPackages(), searchlist, casematch=1)
+ matches = filter(self._filtersrcdebug, exactmatched + matched)
+ matches = self.excludePackages(matches)
+ # Populate a dict of package objects to their names
+ for match in matches:
+ matchdict[match.name] = match
+ # Get the newest results from the search
+ mysack = yum.packageSack.ListPackageSack(matches)
+ for match in mysack.returnNewestByNameArch():
+ self.logger.info('Found %s.%s' % (match.name, match.arch))
+ for pkg in unmatched:
+ if not pkg in matchdict.keys():
+ self.logger.warn('Could not find a match for %s in any configured repo' % pkg)
if len(self.ayum.tsInfo) == 0:
raise yum.Errors.MiscError, 'No packages found to download.'
I've just tagged and posted the 1.7.0 release of Koji. The most
significant change is the move from mod_python to mod_wsgi, but there
are a number of other changes also (it's been a while since 1.6.0).
I've written a document for migrating from 1.6.0 to 1.7.0. Look under:
Here is the changelog entry:
* Thu May 31 2012 Mike McLean <mikem at redhat.com> - 1.7.0-1
- mod_wsgi support
- mod_python support deprecated
- kojiweb configuration file (web.conf)
- split storage support (build volumes)
- configurable resource limits (hub, web, and kojid)
- drop pkgurl in favor of topurl
- better approach to web themes
- more helpful policy errors
- clearer errors when rpc args do not match function signature
- avoid retry errors on some common builder calls
- don't rely on pgdb._quoteparams
- avoid hosts taking special arch tasks they cannot handle
- kojid: configure yum proxy
- kojid: configure failed buildroot lifetime
- kojid: literal_task_arches option
- support for arm hardware floating point arches
- maven build options: goals, envs, extra packages
- store Maven build output under the standard build directory
- make the list of files ignored in the local Maven repo configurable
- add Maven information to taginfo
- make kojira more efficient using multicalls and caching
- speed up kojira startup
- kojira: configurable sleep time
- kojira: count untracked newRepo tasks towards limits
- kojira: limit non-waiting newRepo tasks
- gssapi support in the messagebus plugin
- grant-permission --new
- improved argument display for list-api command
- download task output directly from KojiFilesURL, rather than going
- option to show buildroot data in rpminfo command
- show search help on blank search command
- wait-repo: wait for the build(s) to be the latest rather than just present
Hopefully this is the place that might be able to give me some
guidance/answers on my question.
Currently I'm working to get Koji up-and-running in my company as
Although I was wondering if there is any-one that is having experience
with using Red Hat Satellite or Spacewalk together with Koji?
My first thoughts were to start using the rhnplugin from yum within the
mock-root, but how to make koji 'aware' of the content of the repo (like
Thank you in advance for your response.
I upgraded a F16 64-bit box from Koji 1.6.0 to 1.7.0 today. I used the
1.7.0 conf files as a template and replaced the default URLs with my
server's URLs (so I am using WSGI).
When I attempt to use the web interface I am having issues with
"Internal Server Error" messages popping up.
-Browse to foo.example.com/koji. Web page displays fine.
-Click on "Packages" link on the top header and "Internal Server Error"
-Click Back button. Click on "Builds" link and it displays fine.
-Click on "Packages" from "Builds" page and it displays fine.
-Click on "Summary" from "Packages" page and "Internal Server Error" is
This same behavior occurs (in different steps) with the other links at
the top of the koji web interface.
My apache logs show python is failing to connect to some service when
the "Internal Server Error" occurs:
[snip Python traceback]
[Mon Jul 09 11:59:11 2012] [error] [client 172.17.100.41] gaierror:
[Errno -2] Name or service not known, referer:
My /etc/kojiweb/web.conf file is pointing to the right URLs. I don't see
anything else wrong. Anything I might have missed?