aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/obs/lib/config.py
blob: b4e23a08663327cee252cabd744910499ed2f052 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright 2022 sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
import os
import re

# Lists are ordered alphabetically.

path_top = os.path.normpath(f"{os.path.realpath(__file__)}/../..")
path_cache = f"{path_top}/_cache"
path_temp = f"{path_top}/_temp"

# Keep in sync with packages installed in data/Dockerfile
required_programs = [
    "dh",
    "dh_python3",
    "dpkg-buildpackage",
    "fakeroot",
    "find",
    "git",
    "git-review",
    "meson",
    "osc",
    "rebar3",
    "sed",
]

required_python_modules = [
    "packaging",
    "setuptools",
]

feeds = [
    "2022q1",
    "2022q2",
    "2023q1",
    "latest",
    "master",
    "nightly",
]

# Osmocom projects: generated source packages will depend on a meta package,
# such as osmocom-nightly, osmocom-latest or osmocom-2022q1. This meta package
# prevents that packages from different feeds are mixed by accident.
# NOTE: Before adding new projects, add them to jobs/gerrit-verifications.yml
#       and ensure the rpm and deb packages build successfully in jenkins.
projects_osmocom = [
    "erlang/osmo_dia2gsup",
    "erlang/osmo-epdg",
    "gapk",
    "libasn1c",
    "libgtpnl",
    "libosmo-abis",
    "libosmo-dsp",
    "libosmo-gprs",
    "libosmo-netif",
    "libosmo-pfcp",
    "libosmo-sccp",
    "libosmocore",
    "libsmpp34",
    "libusrp",
    "osmo-bsc",
    "osmo-bsc-nat",
    "osmo-bts",
    "osmo-cbc",
    "osmo-e1d",
    "osmo-fl2k",
    "osmo-gbproxy",
    "osmo-ggsn",
    "osmo-gsm-manuals",
    "osmo-hlr",
    "osmo-hnbgw",
    "osmo-hnodeb",
    "osmo-iuh",
    "osmo-mgw",
    "osmo-msc",
    "osmo-pcap",
    "osmo-pcu",
    "osmo-remsim",
    "osmo-sgsn",
    "osmo-sip-connector",
    "osmo-smlc",
    "osmo-sysmon",
    "osmo-trx",
    "osmo-uecups",
    "osmo-upf",
    "osmocom-bb",
    "python/osmo-python-tests",
    "rtl-sdr",
    "simtrace2",
]
projects_other = [
    "limesuite",
    "neocon",
    "open5gs",
]

git_url_default = "https://gerrit.osmocom.org"  # /project gets appended
git_url_other = {
    "libosmo-dsp": "https://gitea.osmocom.org/sdr/libosmo-dsp",
    "limesuite": "https://github.com/myriadrf/LimeSuite",
    "neocon": "https://github.com/laf0rge/neocon",
    "open5gs": "https://github.com/open5gs/open5gs",
    "osmo-fl2k": "https://gitea.osmocom.org/sdr/osmo-fl2k",
    "rtl-sdr": "https://gitea.osmocom.org/sdr/rtl-sdr",
}

git_branch_default = "master"
git_branch_other = {
    "open5gs": "main",
}

git_latest_tag_pattern_default = "^[0-9]*\\.[0-9]*\\.[0-9]*$"
git_latest_tag_pattern_other = {
        "limesuite": "^v[0-9]*\\.[0-9]*\\.[0-9]*$",
        "open5gs": "^v[0-9]*\\.[0-9]*\\.[0-9]*$",
        "osmo-fl2k": "^v[0-9]*\\.[0-9]*\\.[0-9]*$",
        "rtl-sdr": "^v[0-9]*\\.[0-9]*\\.[0-9]*$",
        "wireshark": "^v[0-9]*\\.[0-9]*\\.[0-9a-z]*$",
}

docker_distro_default = "debian:12"
docker_distro_other = [
    "almalinux:*",  # instead of centos (SYS#5818)
    "debian:*",
    "ubuntu:*",
]

#
# Options related to sync from build.opensuse.org (OS#6165)
#

sync_remove_paths = [
    # This path has a kernel-obs-build package that other OBS instances use to
    # build armv7l/hl packages, but we don't need it
    "OBS:DefaultKernel",
]

sync_set_maintainers = [
    "osmocom-jenkins",
]

# Distributions for which we want to make sure we add the latest release as
# soon as it is available in openSUSE's OBS
# https://osmocom.org/projects/cellular-infrastructure/wiki/Linux_Distributions
check_new_distros = [
    "Debian",
    "Raspbian",
    "Ubuntu",
]

check_new_distros_version_regex = re.compile(r'[0-9.]+$')