This is a different take at https://pagure.io/koji/pull-request/45
Instead of installing just the runroot builder plugin explicitly, here we
separate the plugins out into hub and builder plugins explicitly and install
each type in turn.
Wait-repo had time.sleep(60) call before a check for timeout
expiration was done. This patch moves the check before
the sleep() call.
Signed-off-by: Tomas Mlcoch <tmlcoch@redhat.com>
This patch adds support to build squashfs images which are compatible to
anaconda's liveimg directive and dracuts liveimg feature.
The feature is pretty simple, as it just reuses the raw diskimage, and
strips the disklabel, to retrieve the plain filesystem image.
Two open issues:
- Stripping the disk label is a pretty hack
- Database schema upgrade is missing
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
All the packages in groups that koji uses to build srpms/rpms/live images and other outputs are mandatory but are currently specified as default. Yum historically didn't make a major diffentiation between the two and failed build if there was issues, dnf treats this differently and only classifies mandatory as the only option that would fail the install. The packages in the group should be mandatory because we really do want to ensure they're there. This fixes dnf, but should have no impact on the yum use case.
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
Supermin needs access to the pristine RPMs from which the buildroot
is installed, in order to grab the /etc (configuration) files into
the libguestfs appliance (the binaries etc are not baked into the
appliance for obvious security/maintainability reasons).
For years we got these from the yum cache, but problem: dnf defaults
to keepcache=0 and so doesn't save these RPMs.
Therefore enable keepcache like yum.
From https://fedorahosted.org/rel-eng/ticket/6274
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
as 32 bit arm can run hardware or software floating point code,
we have a bunch of arches that are not exactly real to
differenciate and keep installs sane. qemu only understands
armv7l, so we need to always use armv7l for virt on 32 bit arm
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
Dict comprehensions (PEP-274) were added to python 2.7+. The patch that added the --mine
option to list-tasks made use of a dict comprehension, which broke python 2.6 support.
This patch restores the older dict() + list comprehension approach, which restores
support for python 2.6.
If you issue `make test`, it will run the tests and print out a coverage
reporting indicating what lines of code were covered by the tests and which
were not. This will (hopefully) be useful more over time as we start to write
more tests.
This is useful to e.g. wait on tasks you have fired off without
having to explicitly list their ids. For simplicity,
watch-tasks accepts the same options as list-tasks.
Koji CLI calls on like this:
koji -d download-task $TASK_ID
which involve getTaskChildren() XMLRPC call fail:
...
File "/usr/bin/koji", line 6460, in anon_handle_download_task
base_task = session.getTaskInfo(base_task_id)
NameError: global name 'session' is not defined
At the time of first initialization of Koji database tables and
functions don't exist. This isn't really a problem as SQL commands later
in the script create them.
For non-existent tables or functions psql prints NOTICE instead of an
ERROR. Therefore one can check if database was initialized correctly
with ON_ERROR_STOP set (see psql(1)):
psql returns 3 if an error occurred in a script and the variable
ON_ERROR_STOP was set.