|
Brian Stinson |
6e343c |
# pylint: disable=line-too-long,abstract-class-not-used
|
|
Brian Stinson |
6e343c |
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
Top level function library for centpkg
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
Brian Stinson |
6e343c |
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# Author(s):
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# Jesse Keating <jkeating@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# Pat Riehecky <riehecky@fnal.gov>
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# Brian Stinson <bstinson@ksu.edu>
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
#
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# This program is free software; you can redistribute it and/or modify it
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# under the terms of the GNU General Public License as published by the
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# Free Software Foundation; either version 2 of the License, or (at your
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
# the full text of the license.
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
|
|
![](https://seccdn.libravatar.org/avatar/25b391aad4604da4d060ebac56a74378660d08a933299c566ebc59941f52c806?s=16&d=retro) |
85a850 |
|
|
Miro Hrončok |
12342a |
import os
|
|
Brian Stinson |
ca61eb |
import re
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
e7fd56 |
import warnings
|
|
Brian Stinson |
2fb8a5 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
import git
|
|
Miro Hrončok |
12342a |
import rpm
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
ebeaf1 |
from pyrpkg import Commands, rpkgError
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
from pyrpkg.utils import cached_property
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/016a5f3568d521d40c077bd1f06aa5b9eab60232808db00b9e3488bbb7477299?s=16&d=retro) |
96fedb |
# doc/centpkg_man_page.py uses the 'cli' import
|
|
![](https://seccdn.libravatar.org/avatar/016a5f3568d521d40c077bd1f06aa5b9eab60232808db00b9e3488bbb7477299?s=16&d=retro) |
96fedb |
from . import cli # noqa
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
from .lookaside import StreamLookasideCache, SIGLookasideCache, CLLookasideCache
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
_DEFAULT_VERSION = "9"
|
|
Brian Stinson |
2fb8a5 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
05c687 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
7ae64c |
class DistGitDirectory(object):
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
7ae64c |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
86b0d3 |
signame = None
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
centosversion = _DEFAULT_VERSION
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
86b0d3 |
projectname = None
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
86b0d3 |
releasename = None
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
distrobranch = False
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
sigbranch = False
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
repo = None
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
git_origin_substr = "git@gitlab.com/redhat/centos-stream"
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
86b0d3 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
def __init__(self, branchtext, repo_path=None):
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
if repo_path:
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
4588ec |
# self.repo = git.cmd.Git(repo_path)
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
4588ec |
self.repo = git.repo.Repo(repo_path)
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
rhelbranchre = r"rhel-(?P<major>\d+)\.(?P<minor>\d+)(?:\.(?P<appstream>\d+))?"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
sigtobranchre = r"c(?P<centosversion>\d+[s]?)-sig-(?P<signame>\w+)-?(?P<projectname>\w+)?-?(?P<releasename>\w+)?"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
distrobranchre = r"c(?P<centosversion>\d+)-?(?P<projectname>\w+)?"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
javabranchre = r"openjdk-portable-centos-(?P<centosversion>\d+)"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
oldbranchre = r"(?P<signame>\w+)(?P<centosversion>\d)"
|
|
![](https://seccdn.libravatar.org/avatar/d08fb1b241ec88428d6652c3b0e09065a3c79149a33933aeb140795ea8585038?s=16&d=retro) |
bb525a |
rhelmatch = re.search(rhelbranchre, branchtext)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
sigmatch = re.match(sigtobranchre, branchtext)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
distromatch = re.match(distrobranchre, branchtext)
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
0fb26c |
javamatch = re.match(javabranchre, branchtext)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
e7fd56 |
oldbranchmatch = re.match(oldbranchre, branchtext)
|
|
![](https://seccdn.libravatar.org/avatar/d08fb1b241ec88428d6652c3b0e09065a3c79149a33933aeb140795ea8585038?s=16&d=retro) |
bb525a |
if rhelmatch:
|
|
![](https://seccdn.libravatar.org/avatar/d08fb1b241ec88428d6652c3b0e09065a3c79149a33933aeb140795ea8585038?s=16&d=retro) |
bb525a |
gd = rhelmatch.groupdict()
|
|
![](https://seccdn.libravatar.org/avatar/d08fb1b241ec88428d6652c3b0e09065a3c79149a33933aeb140795ea8585038?s=16&d=retro) |
bb525a |
self.distrobranch = True
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.signame = "centos"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.centosversion = gd["major"]
|
|
![](https://seccdn.libravatar.org/avatar/d08fb1b241ec88428d6652c3b0e09065a3c79149a33933aeb140795ea8585038?s=16&d=retro) |
bb525a |
elif sigmatch:
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
gd = sigmatch.groupdict()
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
self.sigbranch = True
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.signame = gd["signame"]
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.centosversion = gd["centosversion"]
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
7ae64c |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
35f2c1 |
# Users have the option to specify (or not specify) common in their
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
35f2c1 |
# git repos. Ww need to handle these cases because common is not a
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
35f2c1 |
# project nor is it a release.
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if gd["projectname"] != "common":
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.projectname = gd["projectname"]
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if gd["releasename"] != "common":
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.releasename = gd["releasename"]
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
elif distromatch:
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
gd = distromatch.groupdict()
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
self.distrobranch = True
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.signame = "centos"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.centosversion = gd["centosversion"]
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if gd["projectname"] != "common":
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.projectname = gd["projectname"]
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
0fb26c |
elif javamatch:
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
0fb26c |
gd = javamatch.groupdict()
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
0fb26c |
self.distrobranch = True
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.signame = "centos"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.centosversion = gd["centosversion"]
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
e7fd56 |
elif oldbranchmatch:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
warnings.warn(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"This branch is deprecated and will be removed soon", DeprecationWarning
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
if not self.is_fork():
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
warnings.warn(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"Unable to determine if this is a fork or not. Proceeding, but you should double check."
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
self.distrobranch = True
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.signame = "centos"
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.projectname = self.get_origin().split("_")[-1].replace(".git", "")
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
warnings.warn(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
'Remote "origin" was detected as a fork, ignoring branch name checking'
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
def get_origin(self):
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
if self.repo is None:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return ""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if "origin" not in self.repo.remotes:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return ""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
urls = [u for u in self.repo.remotes["origin"].urls]
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
4588ec |
if len(urls) == 0:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return ""
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
4588ec |
return urls[0]
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
def is_fork(self):
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
Check if origin remote repository is using a fork url.
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
Returns
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
bool
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
A boolean flag indicating if origin remote url is using
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
a forked repository url.
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
# git+ssh://git@gitlab.com/redhat/centos-stream/rpms/binutils.git
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
if self.repo is None:
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
return False
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
return self.git_origin_substr not in self.get_origin()
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
@property
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
def target(self):
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
projectorcommon = self.projectname
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
releaseorcommon = self.releasename
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
if self.distrobranch:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if self.centosversion not in ("6", "7"):
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return "c{}s-candidate".format(self.centosversion)
|
|
Brian Stinson |
3edf28 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return "-".join(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
filter(None, ["c" + self.centosversion, projectorcommon])
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
Brian Stinson |
3edf28 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
if not releaseorcommon:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
if not projectorcommon or projectorcommon == "common":
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
projectorcommon = "common"
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
releaseorcommon = "common"
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return "-".join(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
filter(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
None,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
[self.signame + self.centosversion, projectorcommon, releaseorcommon],
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
) + "-el{0}".format(self.centosversion)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
9af8c4 |
class Commands(Commands):
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
For the pyrpkg commands with centpkg behavior
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
def __init__(self, *args, **kwargs):
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
Init the object and some configuration details.
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
super(Commands, self).__init__(*args, **kwargs)
|
|
James Antill |
ed1405 |
# For MD5 we want to use the old format of source files, the BSD format
|
|
James Antill |
ed1405 |
# should only be used when configured for SHA512
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.source_entry_type = "bsd" if self.lookasidehash != "md5" else "old"
|
|
Miro Hrončok |
d624da |
self.branchre = r"c\d{1,}(s)?(tream)?|master"
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
@property
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
def distgitdir(self):
|
|
![](https://seccdn.libravatar.org/avatar/5d2226572f5efd5993a3b03e9d2e38951ce985250f7030e5912208b0a11de064?s=16&d=retro) |
b201d4 |
return DistGitDirectory(self.branch_merge, repo_path=self.path)
|
|
Brian Stinson |
2fb8a5 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
@cached_property
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
def lookasidecache(self):
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
if self.layout.sources_file_template == "sources":
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return StreamLookasideCache(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookasidehash,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside_cgi,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
Brian Stinson |
3edf28 |
else:
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
if self.distgitdir.sigbranch:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return SIGLookasideCache(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookasidehash,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside_cgi,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.repo_name,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.branch_merge,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
e1698b |
else:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return CLLookasideCache(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookasidehash,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.lookaside_cgi,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.repo_name,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.branch_merge,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
639034 |
|
|
Miro Hrončok |
12342a |
def _define_patchn_compatiblity_macros(self):
|
|
Miro Hrončok |
12342a |
"""
|
|
Miro Hrončok |
12342a |
RPM 4.19 deprecated the %patchN macro. RPM 4.20 removed it completely.
|
|
Miro Hrončok |
12342a |
The macro works on c8s, c9s, c10s, but does not work on Fedora 41+.
|
|
Miro Hrončok |
12342a |
We can no longer even parse RPM spec files with the %patchN macros.
|
|
Miro Hrončok |
12342a |
When we build for old streams, we define the %patchN macros manually as %patch -P N.
|
|
Miro Hrončok |
12342a |
Since N can be any number including zero-prefixed numbers,
|
|
Miro Hrončok |
12342a |
we regex-search the spec file for %patchN uses and define only the macros found.
|
|
Miro Hrončok |
12342a |
"""
|
|
Miro Hrončok |
12342a |
# Only do this on RPM 4.19.90+ (4.19.9x were pre-releases of 4.20)
|
|
Miro Hrončok |
12342a |
if tuple(int(i) for i in rpm.__version_info__) < (4, 19, 90):
|
|
Miro Hrončok |
12342a |
return
|
|
Miro Hrončok |
12342a |
# Only do this when building for CentOS Stream version with RPM < 4.20
|
|
Miro Hrončok |
12342a |
try:
|
|
Miro Hrončok |
12342a |
if int(self._distval.split("_")[0]) > 10:
|
|
Miro Hrončok |
12342a |
return
|
|
Miro Hrončok |
12342a |
except ValueError as e:
|
|
Miro Hrončok |
12342a |
self.log.debug(
|
|
Miro Hrončok |
12342a |
"Cannot parse major dist version as int: %s",
|
|
Miro Hrončok |
12342a |
self._distval.split("_")[0],
|
|
Miro Hrončok |
12342a |
exc_info=e,
|
|
Miro Hrončok |
12342a |
)
|
|
Miro Hrončok |
12342a |
return
|
|
Miro Hrončok |
12342a |
defined_patchn = False
|
|
Miro Hrončok |
12342a |
try:
|
|
Miro Hrončok |
12342a |
specfile_path = os.path.join(self.layout.specdir, self.spec)
|
|
Miro Hrončok |
12342a |
with open(specfile_path, "rb") as specfile:
|
|
Miro Hrončok |
12342a |
# Find all uses of %patchN in the spec files
|
|
Miro Hrončok |
12342a |
# Using a benevolent regex: commented out macros, etc. match as well
|
|
Miro Hrončok |
12342a |
for patch in re.findall(rb"%{?patch(\d+)\b", specfile.read()):
|
|
Miro Hrončok |
12342a |
# We operate on bytes becasue we don't know the spec encoding
|
|
Miro Hrončok |
12342a |
# but the matched part only includes ASCII digits
|
|
Miro Hrončok |
12342a |
patch = patch.decode("ascii")
|
|
Miro Hrončok |
12342a |
self._rpmdefines.extend(
|
|
Miro Hrončok |
12342a |
[
|
|
Miro Hrončok |
12342a |
"--define",
|
|
Miro Hrončok |
12342a |
# defines parametric macro %patchN which passes all arguments to %patch -P N
|
|
Miro Hrončok |
12342a |
"patch%s(-) %%patch -P %s %%{?**}" % (patch, patch),
|
|
Miro Hrončok |
12342a |
]
|
|
Miro Hrončok |
12342a |
)
|
|
Miro Hrončok |
12342a |
defined_patchn = True
|
|
Miro Hrončok |
12342a |
except OSError as e:
|
|
Miro Hrončok |
12342a |
self.log.debug("Cannot read spec.", exc_info=e)
|
|
Miro Hrončok |
12342a |
if defined_patchn:
|
|
![](https://seccdn.libravatar.org/avatar/4839116d65bebe0d191f285b19d5774238ed4be98dedc4f0d138e5a43e413e02?s=16&d=retro) |
d8635c |
self.log.warning(
|
|
Miro Hrončok |
12342a |
"centpkg defined %patchN compatibility shims to parse the spec file. "
|
|
Miro Hrončok |
12342a |
"%patchN is obsolete, use %patch -P N instead."
|
|
Miro Hrončok |
12342a |
)
|
|
Miro Hrončok |
12342a |
|
|
Brian Stinson |
ca61eb |
# redefined loaders
|
|
Brian Stinson |
ca61eb |
def load_rpmdefines(self):
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
Populate rpmdefines based on branch data
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a1a2e2 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a1a2e2 |
if not self.distgitdir.centosversion:
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
raise rpkgError(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"Could not get the OS version from the branch:{0}".format(
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self.branch_merge
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
)
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a1a2e2 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
self._distvar = self.distgitdir.centosversion
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self._distval = self._distvar.replace(".", "_")
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
441ee7 |
self._distunset = 'fedora'
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self._disttag = "el%s" % self._distval
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
self._rpmdefines = [
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"_sourcedir %s" % self.layout.sourcedir,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"_specdir %s" % self.layout.specdir,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"_builddir %s" % self.layout.builddir,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"_srcrpmdir %s" % self.layout.srcrpmdir,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"_rpmdir %s" % self.layout.rpmdir,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"dist .%s" % self._disttag,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
# int and float this to remove the decimal
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"%s 1" % self._disttag,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
# This is so the rhel macro is set for spec files
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"rhel %s" % self._distval.split("_")[0],
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
7f8395 |
# This is so the centos macro is set for spec files
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
7f8395 |
"--define",
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
7f8395 |
"centos %s" % self._distval.split("_")[0],
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
441ee7 |
# This is so the fedora macro is unset for spec files
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
441ee7 |
"--eval",
|
|
![](https://seccdn.libravatar.org/avatar/e0034d87af3e72eecdfa3848707ecc6cc2339078b68d48c05dbaf7e20bf477b2?s=16&d=retro) |
441ee7 |
"%%undefine %s" % self._distunset,
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
]
|
|
Miro Hrončok |
12342a |
self._define_patchn_compatiblity_macros()
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
a394b1 |
self.log.debug("RPMDefines: %s" % self._rpmdefines)
|
|
Brian Stinson |
ca61eb |
|
|
James Antill |
dda40d |
def construct_build_url(self, *args, **kwargs):
|
|
James Antill |
dda40d |
"""Override build URL for CentOS/Fedora Koji build
|
|
James Antill |
dda40d |
|
|
James Antill |
dda40d |
In CentOS/Fedora Koji, anonymous URL should have prefix "git+https://"
|
|
James Antill |
dda40d |
"""
|
|
James Antill |
dda40d |
url = super(Commands, self).construct_build_url(*args, **kwargs)
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
return "git+{0}".format(url)
|
|
James Antill |
dda40d |
|
|
Brian Stinson |
6ba768 |
def load_target(self):
|
|
![](https://seccdn.libravatar.org/avatar/bf298fff6edef11d0f53e6bd1fb1e649c131b75ad7200ab134883e8603591405?s=16&d=retro) |
85cce4 |
"""This sets the target attribute (used for mock and koji)"""
|
|
Brian Stinson |
3f76b3 |
|
|
![](https://seccdn.libravatar.org/avatar/d635613ede4b3412560d42b110505d92a6fa9398ec643dab6a3ce5ee8932bacb?s=16&d=retro) |
8b3983 |
self._target = self.distgitdir.target
|