Attention is currently required from: dexter, fixeria, pespin.
jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/35151?usp=email )
Change subject: gprs_rlcmac_sched: rewrite logic around idle block skip
......................................................................
Patch Set 2:
(1 comment)
File src/gprs_rlcmac_sched.cpp:
https://gerrit.osmocom.org/c/osmo-pcu/+/35151/comment/9686db33_06a01355
PS1, Line 486: * way we help BTS energy saving (on TRX!=C0) by sending nothing
> > Was this ever tested? […]
Oops, sending an empty (idle) PDCH block causes osmo-bts-sysmo to crash. This is a bug in l1_if.c of sysmo-bts code, not in this PCU. sysmo-bts specific code does not handle messages without data correctly. There will be a patch to fix this.
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/35151?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Iadb62748b18605bf158169b317f880352bc0a5a6
Gerrit-Change-Number: 35151
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 06 Dec 2023 10:15:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: comment
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35238?usp=email )
Change subject: flatten_dict_lists(): Don't flatten lists with duplicate keys
......................................................................
flatten_dict_lists(): Don't flatten lists with duplicate keys
If we have a list of dicts, and we flatten that into a dict: Only
do that if there are no dicts with duplocate key values in the list,
as otherwise we will loose information during the transformation.
Change-Id: I7f6d03bf323a153f3172853a3ef171cbec8aece7
Closes: OS#6288
---
M pySim/tlv.py
1 file changed, 19 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/38/35238/1
diff --git a/pySim/tlv.py b/pySim/tlv.py
index 7f20559..1ecc806 100644
--- a/pySim/tlv.py
+++ b/pySim/tlv.py
@@ -435,8 +435,12 @@
return False
return True
+ def are_elements_unique(lod):
+ set_of_keys = set([list(x.keys())[0] for x in lod])
+ return len(lod) == len(set_of_keys)
+
if isinstance(inp, list):
- if are_all_elements_dict(inp):
+ if are_all_elements_dict(inp) and are_elements_unique(inp):
# flatten into one shared dict
newdict = {}
for e in inp:
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35238?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I7f6d03bf323a153f3172853a3ef171cbec8aece7
Gerrit-Change-Number: 35238
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
Attention is currently required from: pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35233?usp=email )
Change subject: socket: osmo_sock_init2_multiaddr2(): Apply params too if no OSMO_SOCK_F_BIND flag set
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35233?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia32510e8db1de0cc0dc36cebf8a94f09e44fda70
Gerrit-Change-Number: 35233
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 06 Dec 2023 07:36:49 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35232?usp=email )
Change subject: socket: Reimplement osmo_sock_init2_multiaddr()
......................................................................
Patch Set 2:
(1 comment)
File src/core/socket.c:
https://gerrit.osmocom.org/c/libosmocore/+/35232/comment/97f6d9df_6d77f3dc
PS2, Line 945: (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) {
> the if condition looks right, but is IMHO a bit hard to read, maybe move it / or the whole block her […]
with multiple return paths I mean, to potentially make it more readable
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35232?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I2641fbaca6f477404b094dbc53c0c1a3dd3fd2fd
Gerrit-Change-Number: 35232
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 06 Dec 2023 07:32:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35232?usp=email )
Change subject: socket: Reimplement osmo_sock_init2_multiaddr()
......................................................................
Patch Set 2: Code-Review+1
(4 comments)
Patchset:
PS2:
logic looks fine, just some cosmetics
File src/core/socket.c:
https://gerrit.osmocom.org/c/libosmocore/+/35232/comment/707ab214_70e3d9a9
PS2, Line 922: IPv4 or IPv6
IPv4-only or IPv6-only
https://gerrit.osmocom.org/c/libosmocore/+/35232/comment/c4fb0cd8_50b0b67d
PS2, Line 933: * Both are checked here through "or" here to account for "bind flag set,
what do you mean with 'checked through "or" here', did you mean to write it like this?
```
if (loc_has_v6addr || rem_has_v6addr)
family = AF_INET6;
else
family = AF_INET;
```
https://gerrit.osmocom.org/c/libosmocore/+/35232/comment/1f5f1437_11cdfece
PS2, Line 945: (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) {
the if condition looks right, but is IMHO a bit hard to read, maybe move it / or the whole block here to a separate function?
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35232?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I2641fbaca6f477404b094dbc53c0c1a3dd3fd2fd
Gerrit-Change-Number: 35232
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 06 Dec 2023 07:26:48 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/35222?usp=email )
Change subject: OBS: lib.osc.get_projects: print apiurl
......................................................................
OBS: lib.osc.get_projects: print apiurl
Print the apiurl, to make more obvious what is going on when running the
function twice in a row with two different apiurls (as done in the next
patch).
Change-Id: I789d12ce59ff14f526ab0334e78a6b22a063ec06
---
M scripts/obs/lib/osc.py
1 file changed, 14 insertions(+), 1 deletion(-)
Approvals:
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py
index 20a63b5..ef2fc4b 100644
--- a/scripts/obs/lib/osc.py
+++ b/scripts/obs/lib/osc.py
@@ -178,5 +178,5 @@
proj])
def get_projects():
- print(f"OBS: getting list of projects")
+ print(f"OBS: getting list of projects ({apiurl})")
return lib.osc.run_osc(["ls"]).output.rstrip().split("\n")
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/35222?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I789d12ce59ff14f526ab0334e78a6b22a063ec06
Gerrit-Change-Number: 35222
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/35223?usp=email )
Change subject: OBS: add jenkins job to check for new distros
......................................................................
OBS: add jenkins job to check for new distros
Add a new jenkins job to notify us about new versions of Debian,
Raspbian and Ubuntu becoming available in the openSUSE OBS. This allows
us to consistently follow along and make the repositories available in
the Osmocom OBS. I've decided to check the openSUSE OBS instead of
checking somewhere upstream, because it takes time between a new
release of a distribution and the version becoming available in
openSUSE OBS, and we have another job that syncs the configuration with
that OBS instance.
Related: OS#6163
Change-Id: I0abc49a95197da55f7d83ed4fd1c4ebb6bd14b1e
---
M jobs/README.adoc
A jobs/osmocom-obs-check-new-distros.yml
A scripts/obs/check_new_distros.py
M scripts/obs/lib/config.py
4 files changed, 181 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
diff --git a/jobs/README.adoc b/jobs/README.adoc
index 86fc485..c37b3bb 100644
--- a/jobs/README.adoc
+++ b/jobs/README.adoc
@@ -123,6 +123,7 @@
18:00 - 21:00 OBS related
18:XX osmocom-obs-sync (sync Debian:12 etc. with openSUSE OBS)
+ 19:XX osmocom-obs-check-new-distros
19:XX osmocom-obs-wireshark
20:XX osmocom-obs (new binary packages start building on OBS!)
diff --git a/jobs/osmocom-obs-check-new-distros.yml b/jobs/osmocom-obs-check-new-distros.yml
new file mode 100644
index 0000000..760479a
--- /dev/null
+++ b/jobs/osmocom-obs-check-new-distros.yml
@@ -0,0 +1,39 @@
+---
+- job:
+ name: 'Osmocom_OBS_check_new_distros'
+ project-type: freestyle
+ concurrent: false
+ defaults: global
+ description: |
+ Check whether new distributions (Debian, Raspyberry Pi OS, Ubuntu) are
+ available in openSUSE's OBS that we need to add to the Osmocom OBS.
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 30
+ node: obs
+ parameters:
+ - string:
+ name: CI_BRANCH
+ description: osmo-ci.git branch
+ default: 'master'
+ scm:
+ - git:
+ branches:
+ - '$CI_BRANCH'
+ url: https://gerrit.osmocom.org/osmo-ci
+ git-config-name: 'Jenkins Builder'
+ git-config-email: 'jenkins(a)osmocom.org'
+ builders:
+ - shell: |
+ export PYTHONUNBUFFERED=1
+ ./scripts/obs/check_new_distros.py --docker
+ triggers:
+ - timed: "H 19 * * *"
+ wrappers:
+ - ansicolor:
+ colormap: xterm
+ publishers:
+ - email:
+ notify-every-unstable-build: true
+ recipients: 'jenkins-notifications(a)lists.osmocom.org'
diff --git a/scripts/obs/check_new_distros.py b/scripts/obs/check_new_distros.py
new file mode 100755
index 0000000..962d547
--- /dev/null
+++ b/scripts/obs/check_new_distros.py
@@ -0,0 +1,110 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2023 sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+import argparse
+import lib.docker
+import lib.osc
+import sys
+
+projects_opensuse = None
+projects_osmocom = None
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description="Check for new distribution"
+ " projects on the openSUSE OBS, that we want to configure in the"
+ " Osmocom OBS as soon as they are available")
+ parser.add_argument("-d", "--docker",
+ help="run in docker to avoid installing required pkgs",
+ action="store_true")
+ parser.add_argument("-v", "--verbose", action="store_true",
+ help="always print shell commands and their output,"
+ " instead of only printing them on error")
+
+ advanced = parser.add_argument_group("advanced options")
+ advanced.add_argument("-A", "--apiurl", help="source OBS API URL"
+ " (default: https://api.opensuse.org)",
+ default="https://api.opensuse.org")
+ advanced.add_argument("-p", "--prefix", default="openSUSE.org-mirror",
+ help="destination OBS prefix"
+ " (default: openSUSE.org-mirror)")
+ advanced.add_argument("-t", "--to-apiurl", help="destination OBS API URL"
+ " (default: https://obs.osmocom.org)",
+ default="https://obs.osmocom.org")
+
+ args = parser.parse_args()
+ lib.set_args(args)
+
+ lib.osc.check_oscrc()
+
+ if args.docker:
+ lib.docker.run_in_docker_and_exit("check_new_distros.py", add_oscrc=True)
+
+
+def find_highest_distro_project(distro):
+ highest = None
+ for project in projects_opensuse:
+ if not project.startswith(f"{distro}:"):
+ continue
+
+ num = project[len(distro) + 1:]
+ if not lib.config.check_new_distros_version_regex.match(num):
+ if lib.args.verbose:
+ print(f"ignoring {distro}:{num} (doesn't match version regex)")
+ continue
+
+ if not highest or float(num) > float(highest):
+ highest = num
+
+ if highest:
+ return f"{distro}:{highest}"
+
+ return None
+
+
+def check_distro(distro):
+ highest = find_highest_distro_project(distro)
+ if not highest:
+ print(f"ERROR: {distro}: not found in {lib.args.apiurl}")
+ return False
+
+ # check if it is in the osmo obs
+ exp = f"{lib.args.prefix}:{highest}"
+ if exp in projects_osmocom:
+ print(f"{exp}: OK")
+ return True
+
+ print()
+ print(f"ERROR: {exp} not found")
+ print()
+ print("Follow this guide to add it to the Osmocom OBS:")
+ print("https://osmocom.org/projects/cellular-infrastructure/wiki/Add_a_new_distrib…")
+ print()
+
+ return False
+
+
+def main():
+ global projects_opensuse
+ global projects_osmocom
+
+ parse_args()
+ ret = 0
+
+ # Get list of projects from Osmocom OBS
+ lib.osc.set_apiurl(lib.args.to_apiurl)
+ projects_osmocom = lib.osc.get_projects()
+
+ # Get list of projects from openSUSE OBS
+ lib.osc.set_apiurl(lib.args.apiurl)
+ projects_opensuse = lib.osc.get_projects()
+
+ # Check for missing distros in Osmocom OBS
+ for distro in lib.config.check_new_distros:
+ if not check_distro(distro):
+ ret = 1
+
+ sys.exit(ret)
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/obs/lib/config.py b/scripts/obs/lib/config.py
index 4779d77..ce2917e 100644
--- a/scripts/obs/lib/config.py
+++ b/scripts/obs/lib/config.py
@@ -2,6 +2,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright 2022 sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
import os
+import re
# Lists are ordered alphabetically.
@@ -136,3 +137,14 @@
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_Distributio…
+check_new_distros = [
+ "Debian",
+ "Raspbian",
+ "Ubuntu",
+]
+
+check_new_distros_version_regex = re.compile(r'[0-9.]+$')
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/35223?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I0abc49a95197da55f7d83ed4fd1c4ebb6bd14b1e
Gerrit-Change-Number: 35223
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged