Commit graph

670 commits

Author SHA1 Message Date
Tomas Kopecek
956ad744af add _remote.repositories to ignored maven files
Fixes: https://pagure.io/koji/issue/1731
2019-11-07 11:43:09 -05:00
Tomas Kopecek
8d4d74fca0 check existence of maven symlink
Fixes: https://pagure.io/koji/issue/1593
2019-11-06 13:49:04 -05:00
Yu Ming Zhu
135ac0d6ae clean python compiled binaries for non *.py code
fixes: #1698
2019-10-31 13:20:53 +01:00
Tomas Kopecek
3f64a486a9 mostly only mock exit code 10 ends in build.log
Fixes: https://pagure.io/koji/issue/1679
2019-10-16 09:08:44 +02:00
Yu Ming Zhu
081aacbdeb use RawConfigParser for kojid 2019-10-15 09:14:16 +02:00
Yu Ming Zhu
4c1928f377 extract read_config_files util for config parsing 2019-10-15 09:14:16 +02:00
Tomas Kopecek
dd8fd935f4 use preferred arch if there is more options
https://pagure.io/koji/pull-request/323 introduced option to force an
arch for noarch packages. Nevertheless, it is only task architecture and
not buildroot one. So, if builder can provide more possible archs (32/64
bit), it will pick one of these randomly and can go against preferred arch.

Patch introduces "preferred_arch" option for find_arch and use the
task's one when it works with noarch rpm.

Fixes: https://pagure.io/koji/issue/789
2019-10-14 10:12:40 +02:00
Yu Ming Zhu
2034695e88 add an option to set server realm for all clients 2019-10-10 16:37:56 +02:00
Brendan Reilly
8eea824490 Handle sys.exc_clear in Python 3
Fixes: #1641
2019-10-08 14:38:09 +02:00
Tomas Kopecek
0c9ecf3f7c write binary data to ks file
Fixes: https://pagure.io/koji/issue/1617
2019-08-28 15:16:20 +02:00
Tomas Kopecek
74ec938f69 fix krbV error handling
Fixes: https://pagure.io/koji/issue/1575
2019-08-14 11:47:38 -04:00
Patrick Uiterwijk
184fbf02f4 Allow builder to attempt krb if gssapi is available
Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
2019-08-14 11:47:38 -04:00
Tomas Kopecek
6afee115d0 remove deprecated BuildRoot.uploadDir()
Fixes: https://pagure.io/koji/issue/1455
2019-08-12 17:58:35 -04:00
Mike McLean
c9ade098ed adjust tag macro namespace 2019-07-15 10:40:54 -04:00
David Abdurachmanov
7e1809bafd Add support for tag/target macros for Mageia
Discussions with Son_Goku (from Mageia) on IRC revealed that they need
per tag/target macro support in Koji. We store tag macros in 'Extra Options'
and macro has to start with '%'.

Example:

    % koji taginfo f29
    Tag: f29 [11]
    Arches: riscv64
    Groups:
    Required permission: 'admin'
    Tag options:
      %mymacro : 'value123'
      %packager : 'Fedora Project RISC-V'
      mock.package_manager : 'dnf'
    [..]

Tag macros can be added using koji edit-tag.

The tag macros are allowed to overwrite macros set in koji.genMockConfig.
For example, %packager is set in koji.genMockConfig by default. The mock
configuration generated by kojid was:

    [..]
    config_opts['macros']['%_host'] = 'riscv64-koji-linux-gnu'
    config_opts['macros']['%mymacro'] = 'value123'
    config_opts['macros']['%_host_cpu'] = 'riscv64'
    config_opts['macros']['%vendor'] = 'Fedora Project'
    config_opts['macros']['%distribution'] = 'Fedora Project'
    config_opts['macros']['%_topdir'] = '/builddir/build'
    config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
    config_opts['macros']['%packager'] = 'Fedora Project RISC-V'
    [..]

This two-line change was tested on Fedora RISC-V koji instance.

Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2019-07-15 10:10:29 -04:00
Tomas Kopecek
4d248f460b use RawConfigParser for kojid
We are using percent signs in host_principal_format. As python3 replaced
ConfigParser with SafeConfigParser, parsing now fails.

Fixes: https://pagure.io/koji/issue/1543
2019-07-12 09:50:23 -04:00
Kevin Fenzi
05cd2fe120 kojibuilder: Pass mergerepo_c --all for bare mode as well.
The '--koji' mode of mergerepo_c implies --all, and thats what we want
for bare mode as well. The default merge mode is 'repo' which uses the
first found package by name if multiple packages with the same name are
in the multiple repos. This causes chaos with rhel8 repos as GA and
updates content are in the same repo and if it hits an old version of
one package and an update of another that depends on the new version
it blows up.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2019-07-11 15:14:28 -04:00
Tomas Kopecek
a5014ac29b set module_hotfixes=1 in yum.conf via tag config
New field in tag extra 'mock.yum.module_hotfixes' can be used to set
module_hotfixes=0/1 in yum.conf's inside mock's buildroots.

Fixes: https://pagure.io/koji/issue/1521
2019-07-11 15:12:47 -04:00
Tomas Kopecek
5882bc249b remove unneeded chown 2019-06-26 09:06:48 +02:00
Tomas Kopecek
2bef7c16dc rename source_srpm to srpm 2019-06-26 09:06:48 +02:00
Mike McLean
17128a67fd use getBuildConfig with event_id to check for rebuild_srpm setting 2019-06-26 09:06:48 +02:00
Tomas Kopecek
279e6533f6 rebuildSRPM task
New task rebuildSRPM for srpms uploaded to koji. If policy
'rebuild_srpm' returns True, build task will spawn rebuildSRPM task
first to recreate SRPM with updated buildroot macros, typically 'dist'.
Policy has access to same data as build_from_srpm and build_from_repo_id
policies. (user_id, source, task_id, build_tag, skip_tag, target, tag)

Fixes: https://pagure.io/koji/issue/1396
2019-06-26 09:06:48 +02:00
Mike McLean
0899f74de3 Don't pass block list in bare merge mode
Related: https://pagure.io/koji/issue/1404

mergerepos_c doesn't allow -b without --koji
2019-06-19 11:16:35 -04:00
Tomas Kopecek
be1a56647a createrepo_c is used by default now
Fixes: https://pagure.io/koji/issue/716
2019-06-06 16:24:17 -04:00
Tomas Kopecek
e3c5a03156 deprecate BuildRoot.uploadDir method
Fixes: https://pagure.io/koji/issue/839
2019-05-31 19:58:22 -04:00
Mikolaj Izdebski
3d058c50db Allow generating separate src repo for build repos
Fixes #1266
2019-05-23 10:01:12 -04:00
Mike McLean
fc250d09c2 typo in comment 2019-05-20 17:07:50 -04:00
Tomas Kopecek
3cb64be496 py2.6 compatibility fix
Python 2.6 doesn't support context manager for GzipFile. Revert to
original behaviour.

Fixes: https://pagure.io/koji/issue/1431
2019-05-20 17:07:50 -04:00
Mike McLean
be6ae53fb6 handle bare merge mode
Fixes https://pagure.io/koji/issue/1404
2019-05-06 11:23:19 -04:00
Brian Stinson
af1efed6fa build_srpm: Wait until after running the sources command to check for
alt_sources_dir

In the RPM layout, it's possible that the SOURCES directory might be
completely empty save for the lookaside payload. In this case a SOURCES
directory wouldn't exist in SCM, and wouldn't be created until the
sources command is run.
2019-05-06 10:47:36 -04:00
Igor Gnatenko
a66b4ddfb4
kojid: Download only 'repomd.xml'
We have pretty slow connection from s390x koji which helped to uncover
this part. Kojid downloads all files from repomd.xml (incl. filelists)
which is really big. What we really want is just find location of
'origin' (used later in the code).

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-04-17 07:38:03 +02:00
Tomas Kopecek
0f8e61554c Use createrepo_update even for first repo run
createrepo_update is currently reusing only old repos from same tag.
Nevertheless, for first newRepo there is no old data, but there is a
high chance, that we inherit something. This inherited repo can be used
also for significant speedup.

Fixes: https://pagure.io/koji/issue/1354
2019-04-09 15:36:32 -04:00
Tomas Kopecek
47ed809a8a Rely on ozif_enabled switch in BaseImageTask
Fixes: https://pagure.io/koji/issue/1345
2019-03-15 10:27:21 -04:00
Tomas Kopecek
12cabb0f2c Remove 'keepalive' option
keepalive is not used anymore anywhere in koji

Fixes: https://pagure.io/koji/issue/1239
2019-03-12 10:34:36 -04:00
Mike McLean
01b0a41639 fix file open mode 2019-03-04 09:28:39 -05:00
Mike McLean
f7f75d20ee error if volume id is too long 2019-02-21 16:37:35 -05:00
Mike McLean
23b5a40c42 fix references to logger instance 2019-02-21 16:37:35 -05:00
Brendan Reilly
deb738fc1d Added warnings and failures for too long volid 2019-02-21 16:37:35 -05:00
Brendan Reilly
b92824cca0 Added volume id as argument to livemedia task 2019-02-21 16:37:35 -05:00
Tomas Kopecek
8d62b5f197 python 3 can't index dict.keys()
Fixes: https://pagure.io/koji/issue/1262
2019-02-19 11:18:06 +01:00
Tomas Kopecek
b78c1b42aa fix race-condition with librepo temp directories
Same directory is used for all librepo uses. It should be done inside
mock directory.

Fixes: https://pagure.io/koji/issue/1250
2019-02-18 14:50:05 -05:00
Mike McLean
5f15ff218b drop dnf from yum handler 2019-02-12 16:09:20 -05:00
Tomas Kopecek
5216c54572 distrepo via dnf 2019-02-12 16:09:19 -05:00
Tomas Kopecek
69c2acaebc use librepo instead of yum where possible
librepo is not available from RHEL6 by default, so don't expect it as a
hardrequire for now
2019-02-12 16:09:19 -05:00
Tomas Kopecek
ccf1c41274 fixes 2019-02-12 16:09:19 -05:00
Tomas Kopecek
009081c0fc bundle rpmUtils.arch 2019-02-12 16:09:19 -05:00
Tomas Kopecek
ed01f8d299 reorder imports 2019-02-12 16:09:19 -05:00
Tomas Kopecek
a7280fb5c0 fix rpm headers access 2019-02-12 16:07:49 -05:00
Tomas Kopecek
e2c7826338 use files in context managers 2019-02-12 16:06:00 -05:00
Tomas Kopecek
5885b526ac fix librepo workdir 2019-02-12 16:06:00 -05:00