lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

March 2023

  • 1 participants
  • 3642 discussions
[M] Change in osmo-ci[master]: jobs: add Osmocom_OBS_wireshark
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31937 ) Change subject: jobs: add Osmocom_OBS_wireshark ...................................................................... jobs: add Osmocom_OBS_wireshark Add a nightly jenkins job that does the following: * Clone Wireshark from upstream * Merge several Osmocom branches on top * Build a source package * Submit it to the osmocom:wireshark OBS project Related: OS#2537 Change-Id: Ifb49c5cb22a4de0da30a920e5450a27172b11d73 --- A jobs/osmocom-obs-wireshark.yml A scripts/obs/update_obs_wireshark.sh 2 files changed, 103 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/37/31937/1 diff --git a/jobs/osmocom-obs-wireshark.yml b/jobs/osmocom-obs-wireshark.yml new file mode 100644 index 0000000..7bf7ccd --- /dev/null +++ b/jobs/osmocom-obs-wireshark.yml @@ -0,0 +1,38 @@ +--- +- project: + name: Osmocom_OBS + jobs: + - Osmocom_OBS_wireshark + +- job: + name: 'Osmocom_OBS_wireshark' + project-type: freestyle + defaults: global + description: | + See <a href="https://osmocom.org/issues/2537">OS#2537</a> + for more information. + node: obs + parameters: + - string: + name: BRANCH + description: osmo-ci.git branch + default: 'master' + builders: + - shell: | + export PYTHONUNBUFFERED=1 + ./scripts/obs/update_obs_wireshark.sh osmocom:wireshark + scm: + - git: + branches: + - '$BRANCH' + url: https://gerrit.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins(a)osmocom.org' + wipe-workspace: true + triggers: + - timed: "H 05 * * *" + + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications(a)lists.osmocom.org' diff --git a/scripts/obs/update_obs_wireshark.sh b/scripts/obs/update_obs_wireshark.sh new file mode 100755 index 0000000..70a0392 --- /dev/null +++ b/scripts/obs/update_obs_wireshark.sh @@ -0,0 +1,49 @@ +#!/bin/sh -e +DIR="$(realpath "$(dirname "$0")")" +PROJ="$1" + +BRANCHES=" + osmith/deb-packaging + laforge/amr-2023 + laforge/doc-fixes + osmocom/qcdiag + laforge/rspro +" + +prepare_git_repo() { + cd "$DIR" + if ! [ -d _cache/wireshark ]; then + mkdir -p _cache + git -C _cache clone https://gitlab.com/wireshark/wireshark.git + git -C _cache/wireshark remote add osmocom https://gitea.osmocom.org/osmocom/wireshark + fi + + cd _cache/wireshark + git fetch --all + git clean -fdx + git checkout -f -B osmocom/all-in-one origin/master + + for b in $BRANCHES; do + git merge --no-edit "osmocom/$b" + done +} + +update_obs_project() { + cd "$DIR" + ./update_obs_project.py \ + --apiurl obs.osmocom.org \ + --docker \ + --allow-unknown-package \ + --git-skip-checkout \ + --git-skip-fetch \ + --version-append "~osmocom" \ + "$PROJ" \ + wireshark +} + +set -x +prepare_git_repo + +if [ -n "$PROJ" ]; then + update_obs_project +fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifb49c5cb22a4de0da30a920e5450a27172b11d73 Gerrit-Change-Number: 31937 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ci[master]: obs: don't pass proj through functions
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31927 ) Change subject: obs: don't pass proj through functions ...................................................................... obs: don't pass proj through functions Change-Id: Id213ae155f34c74529845ff86468b68ffa6ffb1d --- M scripts/obs/lib/osc.py M scripts/obs/update_obs_project.py 2 files changed, 35 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/27/31927/1 diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py index df5c34c..6a1d42b 100644 --- a/scripts/obs/lib/osc.py +++ b/scripts/obs/lib/osc.py @@ -12,11 +12,12 @@ apiurl = None -def check_proj(obs_project): - if ":" in obs_project: +def check_proj(): + proj = lib.args.obs_project + if ":" in proj: return - print(f"ERROR: this doesn't look like a valid OBS project: {obs_project}") + print(f"ERROR: this doesn't look like a valid OBS project: {proj}") exit(1) @@ -56,13 +57,15 @@ return lib.run_cmd(cmd, *args, **kwargs) -def get_remote_pkgs(proj): +def get_remote_pkgs(): + proj = lib.args.obs_project print(f"OBS: getting packages in {proj}") ret = run_osc(["list", proj]) return ret.output.rstrip().split("\n") -def get_package_version(proj, package, feed): +def get_package_version(package, feed): + proj = lib.args.obs_project print(f"{package}: getting OBS version") ret = run_osc(["list", proj, os.path.basename(package)]) @@ -87,7 +90,8 @@ " extracting the version from the file list") -def create_package(proj, package): +def create_package(package): + proj = lib.args.obs_project print(f"{package}: creating new OBS package") # cut off repository prefix like in "python/osmo-python-tests" @@ -111,7 +115,8 @@ lib.run_cmd(["rm", "-rf", f"{lib.config.path_temp}/osc"]) -def update_package(proj, package, version): +def update_package(package, version): + proj = lib.args.obs_project print(f"{package}: updating OBS package") # cut off repository prefix like in "python/osmo-python-tests" diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 0ae949b..5718a45 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -62,7 +62,7 @@ return False -def build_srcpkg_if_needed(proj, feed, branch, pkgs_remote, package, conflict_version, +def build_srcpkg_if_needed(feed, branch, pkgs_remote, package, conflict_version, fetch, is_meta_pkg, skip_up_to_date): global srcpkgs_skipped @@ -85,7 +85,7 @@ if os.path.basename(package) not in pkgs_remote: print(f"{package}: building source package (not in OBS)") else: - obs_version = lib.osc.get_package_version(proj, package, feed) + obs_version = lib.osc.get_package_version(package, feed) if is_up_to_date(obs_version, latest_version): if skip_up_to_date: print(f"{package}: skipping ({obs_version} is up-to-date)") @@ -104,28 +104,28 @@ build_srcpkg(feed, branch, package, conflict_version, fetch, is_meta_pkg) -def upload_srcpkg(proj, feed, pkgs_remote, package, version): +def upload_srcpkg(feed, pkgs_remote, package, version): if os.path.basename(package) not in pkgs_remote: - lib.osc.create_package(proj, package) - lib.osc.update_package(proj, package, version) + lib.osc.create_package(package) + lib.osc.update_package(package, version) -def build_srcpkgs(proj, feed, branch, pkgs_remote, packages, conflict_version, fetch, +def build_srcpkgs(feed, branch, pkgs_remote, packages, conflict_version, fetch, meta, skip_up_to_date): print() print("### Building source packages ###") print() if meta: - build_srcpkg_if_needed(proj, feed, branch, pkgs_remote, f"osmocom-{feed}", + build_srcpkg_if_needed(feed, branch, pkgs_remote, f"osmocom-{feed}", conflict_version, fetch, True, skip_up_to_date) for package in packages: - build_srcpkg_if_needed(proj, feed, branch, pkgs_remote, package, + build_srcpkg_if_needed(feed, branch, pkgs_remote, package, conflict_version, fetch, False, skip_up_to_date) -def upload_srcpkgs(proj, feed, pkgs_remote): +def upload_srcpkgs(feed, pkgs_remote): global srcpkgs_built global srcpkgs_failed_upload global srcpkgs_updated @@ -142,7 +142,7 @@ for package, version in srcpkgs_built.items(): try: - upload_srcpkg(proj, feed, pkgs_remote, package, version) + upload_srcpkg(feed, pkgs_remote, package, version) srcpkgs_updated += [package] except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -194,7 +194,6 @@ help="package name, e.g. libosmocore or open5gs," " default is all packages") args = parser.parse_args() - proj = args.obs_project feed = args.feed branch = args.git_branch packages = parse_packages(args.package) @@ -204,7 +203,7 @@ if args.docker: lib.docker.run_in_docker_and_exit("update_obs_project.py", True) - lib.osc.check_proj(proj) + lib.osc.check_proj() lib.osc.check_oscrc() lib.osc.set_apiurl(args.apiurl) @@ -213,11 +212,11 @@ lib.remove_temp() - pkgs_remote = lib.osc.get_remote_pkgs(proj) + pkgs_remote = lib.osc.get_remote_pkgs() - build_srcpkgs(proj, feed, branch, pkgs_remote, packages, args.conflict_version, + build_srcpkgs(feed, branch, pkgs_remote, packages, args.conflict_version, args.git_fetch, args.meta, args.skip_up_to_date) - upload_srcpkgs(proj, feed, pkgs_remote) + upload_srcpkgs(feed, pkgs_remote) exit_with_summary() -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id213ae155f34c74529845ff86468b68ffa6ffb1d Gerrit-Change-Number: 31927 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-ci[master]: obs: don't pass feed through functions
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31928 ) Change subject: obs: don't pass feed through functions ...................................................................... obs: don't pass feed through functions Change-Id: I9124d33c45ef3fef48666b485fd169eec0eb393a --- M scripts/obs/build_srcpkg.py M scripts/obs/lib/debian.py M scripts/obs/lib/metapkg.py M scripts/obs/lib/osc.py M scripts/obs/lib/srcpkg.py M scripts/obs/update_obs_project.py 6 files changed, 57 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/28/31928/1 diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index 869b8ef..597092c 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -41,10 +41,10 @@ lib.remove_temp() if args.meta: - lib.metapkg.build(args.feed, args.conflict_version) + lib.metapkg.build(args.conflict_version) if args.package: - lib.srcpkg.build(args.package, args.feed, args.git_branch, args.conflict_version, + lib.srcpkg.build(args.package, args.git_branch, args.conflict_version, args.git_fetch, args.gerrit_id) diff --git a/scripts/obs/lib/debian.py b/scripts/obs/lib/debian.py index 3bba3ec..8a82e16 100644 --- a/scripts/obs/lib/debian.py +++ b/scripts/obs/lib/debian.py @@ -22,8 +22,9 @@ lib.run_cmd(cmd, cwd=repo_path) -def changelog_add_entry(project, feed, version): +def changelog_add_entry(project, version): """ :param version: for the new changelog entry """ + feed = lib.args.feed repo_path = lib.git.get_repo_path(project) changelog_path = f"{repo_path}/debian/changelog" @@ -84,7 +85,7 @@ return ret -def changelog_add_entry_if_needed(project, feed, version): +def changelog_add_entry_if_needed(project, version): """ Adjust the changelog if the version in the changelog is different from the given version. """ version_changelog = get_last_version_from_changelog(project) @@ -93,7 +94,7 @@ print(f"{project}: adding debian/changelog entry ({version_changelog} =>" f" {version})") - changelog_add_entry(project, feed, version) + changelog_add_entry(project, version) def build_source_package(project): diff --git a/scripts/obs/lib/metapkg.py b/scripts/obs/lib/metapkg.py index dd261de..531dab6 100644 --- a/scripts/obs/lib/metapkg.py +++ b/scripts/obs/lib/metapkg.py @@ -7,17 +7,17 @@ import lib.rpm_spec -def get_conflicts(feed): +def get_conflicts(): ret = [] for f in lib.config.feeds: - if f == feed: + if f == lib.args.feed: continue ret += [f"osmocom-{f}"] return ret -def prepare_source_dir(feed): - path = f"{lib.config.path_cache}/osmocom-{feed}" +def prepare_source_dir(): + path = f"{lib.config.path_cache}/osmocom-{lib.args.feed}" if os.path.exists(path): lib.run_cmd(["rm", "-rf", path]) @@ -26,9 +26,10 @@ os.makedirs(f"{path}/contrib") -def generate_debian_pkg(feed, version): +def generate_debian_pkg(version): + feed = lib.args.feed path = f"{lib.config.path_cache}/osmocom-{feed}" - conflicts = get_conflicts(feed) + conflicts = get_conflicts() with open(f"{path}/debian/control", "w") as f: f.write(f"Source: osmocom-{feed}\n") @@ -63,11 +64,12 @@ f.write("10\n") -def generate_rpm_spec(feed, version): +def generate_rpm_spec(version): + feed = lib.args.feed print(f"osmocom-{feed}: generating rpm spec file") path = (f"{lib.config.path_cache}/osmocom-{feed}/contrib/osmocom-{feed}" ".spec.in") - conflicts = get_conflicts(feed) + conflicts = get_conflicts() with open(path, "w") as f: f.write(f"Name: osmocom-{feed}\n") @@ -83,13 +85,14 @@ f.write("%files\n") -def build(feed, conflict_version): +def build(conflict_version): + feed = lib.args.feed pkgname = f"osmocom-{feed}" version = conflict_version if conflict_version else "1.0.0" print(f"{pkgname}: generating meta package {version}") - prepare_source_dir(feed) - generate_debian_pkg(feed, version) + prepare_source_dir() + generate_debian_pkg(version) os.makedirs(lib.get_output_path(pkgname)) lib.remove_cache_extra_files() @@ -97,7 +100,7 @@ lib.debian.build_source_package(pkgname) lib.debian.move_files_to_output(pkgname) - generate_rpm_spec(feed, version) + generate_rpm_spec(version) lib.rpm_spec.copy_to_output(pkgname) lib.remove_cache_extra_files() diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py index 6a1d42b..c2f6ad4 100644 --- a/scripts/obs/lib/osc.py +++ b/scripts/obs/lib/osc.py @@ -64,7 +64,8 @@ return ret.output.rstrip().split("\n") -def get_package_version(package, feed): +def get_package_version(package): + feed = lib.args.feed proj = lib.args.obs_project print(f"{package}: getting OBS version") ret = run_osc(["list", proj, os.path.basename(package)]) diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py index e888ffa..4816363 100644 --- a/scripts/obs/lib/srcpkg.py +++ b/scripts/obs/lib/srcpkg.py @@ -9,8 +9,9 @@ import lib.rpm_spec -def checkout_for_feed(project, feed, branch=None): +def checkout_for_feed(project, branch=None): """ checkout a commit, either latest tag or master or 20YY branch """ + feed = lib.args.feed if branch: lib.git.checkout(project, f"origin/{branch}") elif feed == "latest": @@ -55,8 +56,8 @@ return ret.output -def get_version_for_feed(project, feed, conflict_version): - if feed == "latest": +def get_version_for_feed(project, conflict_version): + if lib.args.feed == "latest": # There's always a tag if we are here. If there was none, the build # would have been skipped for latest. ret = lib.git.get_latest_tag(project) @@ -130,14 +131,15 @@ pathlib.Path(f"{output_path}/commit_{commit}.txt").touch() -def build(project, feed, branch, conflict_version, fetch, gerrit_id=0): +def build(project, branch, conflict_version, fetch, gerrit_id=0): + feed = lib.args.feed lib.git.clone(project, fetch) lib.git.clean(project) if gerrit_id > 0: lib.git.checkout_from_review(project, gerrit_id) else: - checkout_for_feed(project, feed, branch) - version = get_version_for_feed(project, feed, conflict_version) + checkout_for_feed(project, branch) + version = get_version_for_feed(project, conflict_version) epoch = get_epoch(project) version_epoch = f"{epoch}:{version}" if epoch else version has_rpm_spec = lib.rpm_spec.get_spec_in_path(project) is not None @@ -151,7 +153,7 @@ if has_rpm_spec: lib.rpm_spec.add_depend(project, metapkg, conflict_version) - lib.debian.changelog_add_entry_if_needed(project, feed, version_epoch) + lib.debian.changelog_add_entry_if_needed(project, version_epoch) os.makedirs(lib.get_output_path(project)) lib.remove_cache_extra_files() diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 5718a45..a6f8643 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -32,7 +32,7 @@ return ret -def build_srcpkg(feed, branch, package, conflict_version, fetch, is_meta_pkg): +def build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg): global srcpkgs_built global srcpkgs_failed_build @@ -40,9 +40,9 @@ try: if is_meta_pkg: - version = lib.metapkg.build(feed, conflict_version) + version = lib.metapkg.build(conflict_version) else: - version = lib.srcpkg.build(package, feed, branch, conflict_version, fetch) + version = lib.srcpkg.build(package, branch, conflict_version, fetch) srcpkgs_built[package] = version except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -62,9 +62,10 @@ return False -def build_srcpkg_if_needed(feed, branch, pkgs_remote, package, conflict_version, +def build_srcpkg_if_needed(branch, pkgs_remote, package, conflict_version, fetch, is_meta_pkg, skip_up_to_date): global srcpkgs_skipped + feed = lib.args.feed if feed in ["master", "latest"]: """ Check if we can skip this package by comparing the OBS version with @@ -85,7 +86,7 @@ if os.path.basename(package) not in pkgs_remote: print(f"{package}: building source package (not in OBS)") else: - obs_version = lib.osc.get_package_version(package, feed) + obs_version = lib.osc.get_package_version(package) if is_up_to_date(obs_version, latest_version): if skip_up_to_date: print(f"{package}: skipping ({obs_version} is up-to-date)") @@ -101,31 +102,32 @@ else: print(f"{package}: building source package (feed is {feed})") - build_srcpkg(feed, branch, package, conflict_version, fetch, is_meta_pkg) + build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg) -def upload_srcpkg(feed, pkgs_remote, package, version): +def upload_srcpkg(pkgs_remote, package, version): if os.path.basename(package) not in pkgs_remote: lib.osc.create_package(package) lib.osc.update_package(package, version) -def build_srcpkgs(feed, branch, pkgs_remote, packages, conflict_version, fetch, +def build_srcpkgs(branch, pkgs_remote, packages, conflict_version, fetch, meta, skip_up_to_date): print() print("### Building source packages ###") print() if meta: - build_srcpkg_if_needed(feed, branch, pkgs_remote, f"osmocom-{feed}", + feed = lib.args.feed + build_srcpkg_if_needed(branch, pkgs_remote, f"osmocom-{feed}", conflict_version, fetch, True, skip_up_to_date) for package in packages: - build_srcpkg_if_needed(feed, branch, pkgs_remote, package, + build_srcpkg_if_needed(branch, pkgs_remote, package, conflict_version, fetch, False, skip_up_to_date) -def upload_srcpkgs(feed, pkgs_remote): +def upload_srcpkgs(pkgs_remote): global srcpkgs_built global srcpkgs_failed_upload global srcpkgs_updated @@ -142,7 +144,7 @@ for package, version in srcpkgs_built.items(): try: - upload_srcpkg(feed, pkgs_remote, package, version) + upload_srcpkg(pkgs_remote, package, version) srcpkgs_updated += [package] except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -194,7 +196,6 @@ help="package name, e.g. libosmocore or open5gs," " default is all packages") args = parser.parse_args() - feed = args.feed branch = args.git_branch packages = parse_packages(args.package) @@ -214,9 +215,9 @@ pkgs_remote = lib.osc.get_remote_pkgs() - build_srcpkgs(feed, branch, pkgs_remote, packages, args.conflict_version, + build_srcpkgs(branch, pkgs_remote, packages, args.conflict_version, args.git_fetch, args.meta, args.skip_up_to_date) - upload_srcpkgs(feed, pkgs_remote) + upload_srcpkgs(pkgs_remote) exit_with_summary() -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9124d33c45ef3fef48666b485fd169eec0eb393a Gerrit-Change-Number: 31928 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ci[master]: obs: lib.args: store argparse result here
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31926 ) Change subject: obs: lib.args: store argparse result here ...................................................................... obs: lib.args: store argparse result here Prepare to add more arguments to the OBS scripts, so they can be used for building the wireshark package in its own OBS project. It was not so clear to me when writing this initially, but with more and more arguments getting added: it's not very maintainable to pass each variable from the argparse result several functions down to where it gets used... so unfortunately this means the code needs to be refactored to just use libs.args in the few lines of code where the arguments actually get used. This patch adds lib.args, and the next patches refactor existing code to use it instead of passing parameters, where it makes sense. After that follow the patches related to adding the wireshark package. Related: OS#2537 Change-Id: I48853444f1386dfb842c174ebc45f9decc8bec0f --- M scripts/obs/build_binpkg.py M scripts/obs/build_srcpkg.py M scripts/obs/lib/__init__.py M scripts/obs/update_obs_project.py 4 files changed, 37 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/31926/1 diff --git a/scripts/obs/build_binpkg.py b/scripts/obs/build_binpkg.py index a34a699..dcd6cdc 100755 --- a/scripts/obs/build_binpkg.py +++ b/scripts/obs/build_binpkg.py @@ -38,7 +38,7 @@ help="package name, e.g. libosmocore") args = parser.parse_args() - lib.set_cmds_verbose(args.verbose) + lib.set_args(args) srcdir = f"{lib.config.path_temp}/srcpkgs/{args.package}" if not os.path.exists(srcdir): diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index ad21927..869b8ef 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -28,7 +28,7 @@ print("ERROR: specify -m and/or a package. See -h for help.") exit(1) - lib.set_cmds_verbose(args.verbose) + lib.set_args(args) if args.docker: lib.docker.run_in_docker_and_exit("build_srcpkg.py") diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py index 479c1c1..edf19f4 100644 --- a/scripts/obs/lib/__init__.py +++ b/scripts/obs/lib/__init__.py @@ -10,6 +10,10 @@ import inspect import lib.config +# Argparse result +args = None + +# Print output of commands as they run, not only on error cmds_verbose = False @@ -60,6 +64,12 @@ cmds_verbose = new_val +def set_args(new_val): + global args + args = new_val + set_cmds_verbose(args.verbose) + + def check_required_programs(): ok = True diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 86cf40a..0ae949b 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -199,7 +199,7 @@ branch = args.git_branch packages = parse_packages(args.package) - lib.set_cmds_verbose(args.verbose) + lib.set_args(args) if args.docker: lib.docker.run_in_docker_and_exit("update_obs_project.py", True) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I48853444f1386dfb842c174ebc45f9decc8bec0f Gerrit-Change-Number: 31926 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ci[master]: obs: don't pass branch through functions
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31929 ) Change subject: obs: don't pass branch through functions ...................................................................... obs: don't pass branch through functions Change-Id: I9ec6d04c51bc795dd9cd4738313e60a556791eb2 --- M scripts/obs/build_srcpkg.py M scripts/obs/lib/srcpkg.py M scripts/obs/update_obs_project.py 3 files changed, 23 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/29/31929/1 diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index 597092c..6502206 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -44,7 +44,7 @@ lib.metapkg.build(args.conflict_version) if args.package: - lib.srcpkg.build(args.package, args.git_branch, args.conflict_version, + lib.srcpkg.build(args.package, args.conflict_version, args.git_fetch, args.gerrit_id) diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py index 4816363..59a6c45 100644 --- a/scripts/obs/lib/srcpkg.py +++ b/scripts/obs/lib/srcpkg.py @@ -9,9 +9,10 @@ import lib.rpm_spec -def checkout_for_feed(project, branch=None): +def checkout_for_feed(project): """ checkout a commit, either latest tag or master or 20YY branch """ feed = lib.args.feed + branch = lib.args.git_branch if branch: lib.git.checkout(project, f"origin/{branch}") elif feed == "latest": @@ -131,14 +132,14 @@ pathlib.Path(f"{output_path}/commit_{commit}.txt").touch() -def build(project, branch, conflict_version, fetch, gerrit_id=0): +def build(project, conflict_version, fetch, gerrit_id=0): feed = lib.args.feed lib.git.clone(project, fetch) lib.git.clean(project) if gerrit_id > 0: lib.git.checkout_from_review(project, gerrit_id) else: - checkout_for_feed(project, branch) + checkout_for_feed(project) version = get_version_for_feed(project, conflict_version) epoch = get_epoch(project) version_epoch = f"{epoch}:{version}" if epoch else version diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index a6f8643..716f52b 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -32,7 +32,7 @@ return ret -def build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg): +def build_srcpkg(package, conflict_version, fetch, is_meta_pkg): global srcpkgs_built global srcpkgs_failed_build @@ -42,7 +42,7 @@ if is_meta_pkg: version = lib.metapkg.build(conflict_version) else: - version = lib.srcpkg.build(package, branch, conflict_version, fetch) + version = lib.srcpkg.build(package, conflict_version, fetch) srcpkgs_built[package] = version except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -62,10 +62,11 @@ return False -def build_srcpkg_if_needed(branch, pkgs_remote, package, conflict_version, +def build_srcpkg_if_needed(pkgs_remote, package, conflict_version, fetch, is_meta_pkg, skip_up_to_date): global srcpkgs_skipped feed = lib.args.feed + branch = lib.args.git_branch if feed in ["master", "latest"]: """ Check if we can skip this package by comparing the OBS version with @@ -102,7 +103,7 @@ else: print(f"{package}: building source package (feed is {feed})") - build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg) + build_srcpkg(package, conflict_version, fetch, is_meta_pkg) def upload_srcpkg(pkgs_remote, package, version): @@ -111,7 +112,7 @@ lib.osc.update_package(package, version) -def build_srcpkgs(branch, pkgs_remote, packages, conflict_version, fetch, +def build_srcpkgs(pkgs_remote, packages, conflict_version, fetch, meta, skip_up_to_date): print() print("### Building source packages ###") @@ -119,11 +120,11 @@ if meta: feed = lib.args.feed - build_srcpkg_if_needed(branch, pkgs_remote, f"osmocom-{feed}", + build_srcpkg_if_needed(pkgs_remote, f"osmocom-{feed}", conflict_version, fetch, True, skip_up_to_date) for package in packages: - build_srcpkg_if_needed(branch, pkgs_remote, package, + build_srcpkg_if_needed(pkgs_remote, package, conflict_version, fetch, False, skip_up_to_date) @@ -196,7 +197,6 @@ help="package name, e.g. libosmocore or open5gs," " default is all packages") args = parser.parse_args() - branch = args.git_branch packages = parse_packages(args.package) lib.set_args(args) @@ -215,7 +215,7 @@ pkgs_remote = lib.osc.get_remote_pkgs() - build_srcpkgs(branch, pkgs_remote, packages, args.conflict_version, + build_srcpkgs(pkgs_remote, packages, args.conflict_version, args.git_fetch, args.meta, args.skip_up_to_date) upload_srcpkgs(pkgs_remote) exit_with_summary() -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9ec6d04c51bc795dd9cd4738313e60a556791eb2 Gerrit-Change-Number: 31929 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ci[master]: obs: don't pass conflict_version through functions
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31930 ) Change subject: obs: don't pass conflict_version through functions ...................................................................... obs: don't pass conflict_version through functions Change-Id: I3d712e94d56269c49ee5baecfee1fa9f35101488 --- M scripts/obs/build_srcpkg.py M scripts/obs/lib/metapkg.py M scripts/obs/lib/srcpkg.py M scripts/obs/update_obs_project.py 4 files changed, 29 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/30/31930/1 diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index 6502206..9163061 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -41,10 +41,10 @@ lib.remove_temp() if args.meta: - lib.metapkg.build(args.conflict_version) + lib.metapkg.build() if args.package: - lib.srcpkg.build(args.package, args.conflict_version, + lib.srcpkg.build(args.package, args.git_fetch, args.gerrit_id) diff --git a/scripts/obs/lib/metapkg.py b/scripts/obs/lib/metapkg.py index 531dab6..847a56b 100644 --- a/scripts/obs/lib/metapkg.py +++ b/scripts/obs/lib/metapkg.py @@ -85,9 +85,10 @@ f.write("%files\n") -def build(conflict_version): +def build(): feed = lib.args.feed pkgname = f"osmocom-{feed}" + conflict_version = lib.args.conflict_version version = conflict_version if conflict_version else "1.0.0" print(f"{pkgname}: generating meta package {version}") diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py index 59a6c45..f1d610d 100644 --- a/scripts/obs/lib/srcpkg.py +++ b/scripts/obs/lib/srcpkg.py @@ -57,7 +57,7 @@ return ret.output -def get_version_for_feed(project, conflict_version): +def get_version_for_feed(project): if lib.args.feed == "latest": # There's always a tag if we are here. If there was none, the build # would have been skipped for latest. @@ -76,6 +76,7 @@ # Append the conflict_version to increase the version even if the commit # did not change (OS#5135) + conflict_version = lib.args.conflict_version if conflict_version: ret = f"{ret}.{conflict_version}" @@ -132,7 +133,7 @@ pathlib.Path(f"{output_path}/commit_{commit}.txt").touch() -def build(project, conflict_version, fetch, gerrit_id=0): +def build(project, fetch, gerrit_id=0): feed = lib.args.feed lib.git.clone(project, fetch) lib.git.clean(project) @@ -140,7 +141,7 @@ lib.git.checkout_from_review(project, gerrit_id) else: checkout_for_feed(project) - version = get_version_for_feed(project, conflict_version) + version = get_version_for_feed(project) epoch = get_epoch(project) version_epoch = f"{epoch}:{version}" if epoch else version has_rpm_spec = lib.rpm_spec.get_spec_in_path(project) is not None @@ -150,9 +151,9 @@ if project in lib.config.projects_osmocom: metapkg = f"osmocom-{feed}" - lib.debian.control_add_depend(project, metapkg, conflict_version) + lib.debian.control_add_depend(project, metapkg, version) if has_rpm_spec: - lib.rpm_spec.add_depend(project, metapkg, conflict_version) + lib.rpm_spec.add_depend(project, metapkg, version) lib.debian.changelog_add_entry_if_needed(project, version_epoch) diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 716f52b..155caee 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -32,7 +32,7 @@ return ret -def build_srcpkg(package, conflict_version, fetch, is_meta_pkg): +def build_srcpkg(package, fetch, is_meta_pkg): global srcpkgs_built global srcpkgs_failed_build @@ -40,9 +40,9 @@ try: if is_meta_pkg: - version = lib.metapkg.build(conflict_version) + version = lib.metapkg.build() else: - version = lib.srcpkg.build(package, conflict_version, fetch) + version = lib.srcpkg.build(package, fetch) srcpkgs_built[package] = version except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -62,7 +62,7 @@ return False -def build_srcpkg_if_needed(pkgs_remote, package, conflict_version, +def build_srcpkg_if_needed(pkgs_remote, package, fetch, is_meta_pkg, skip_up_to_date): global srcpkgs_skipped feed = lib.args.feed @@ -72,6 +72,7 @@ """ Check if we can skip this package by comparing the OBS version with the git remote. """ if is_meta_pkg: + conflict_version = lib.args.conflict_version latest_version = conflict_version if conflict_version else "1.0.0" else: if feed == "master": @@ -103,7 +104,7 @@ else: print(f"{package}: building source package (feed is {feed})") - build_srcpkg(package, conflict_version, fetch, is_meta_pkg) + build_srcpkg(package, fetch, is_meta_pkg) def upload_srcpkg(pkgs_remote, package, version): @@ -112,7 +113,7 @@ lib.osc.update_package(package, version) -def build_srcpkgs(pkgs_remote, packages, conflict_version, fetch, +def build_srcpkgs(pkgs_remote, packages, fetch, meta, skip_up_to_date): print() print("### Building source packages ###") @@ -121,11 +122,11 @@ if meta: feed = lib.args.feed build_srcpkg_if_needed(pkgs_remote, f"osmocom-{feed}", - conflict_version, fetch, True, skip_up_to_date) + fetch, True, skip_up_to_date) for package in packages: build_srcpkg_if_needed(pkgs_remote, package, - conflict_version, fetch, False, skip_up_to_date) + fetch, False, skip_up_to_date) def upload_srcpkgs(pkgs_remote): @@ -215,7 +216,7 @@ pkgs_remote = lib.osc.get_remote_pkgs() - build_srcpkgs(pkgs_remote, packages, args.conflict_version, + build_srcpkgs(pkgs_remote, packages, args.git_fetch, args.meta, args.skip_up_to_date) upload_srcpkgs(pkgs_remote) exit_with_summary() -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3d712e94d56269c49ee5baecfee1fa9f35101488 Gerrit-Change-Number: 31930 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-ci[master]: obs: don't pass fetch through functions
by osmith 15 Mar '23

15 Mar '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/31931 ) Change subject: obs: don't pass fetch through functions ...................................................................... obs: don't pass fetch through functions Change-Id: I0689868db6fadaaaca470cdefbf60ceedc2eb225 --- M scripts/obs/build_srcpkg.py M scripts/obs/lib/git.py M scripts/obs/lib/srcpkg.py M scripts/obs/update_obs_project.py 4 files changed, 22 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/31/31931/1 diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index 9163061..0ec1958 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -44,8 +44,7 @@ lib.metapkg.build() if args.package: - lib.srcpkg.build(args.package, - args.git_fetch, args.gerrit_id) + lib.srcpkg.build(args.package, args.gerrit_id) if __name__ == "__main__": diff --git a/scripts/obs/lib/git.py b/scripts/obs/lib/git.py index 13c2216..f1ee98d 100644 --- a/scripts/obs/lib/git.py +++ b/scripts/obs/lib/git.py @@ -22,7 +22,8 @@ return lib.config.git_latest_tag_pattern_default -def clone(project, fetch=False): +def clone(project): + fetch = lib.args.git_fetch repo_path = get_repo_path(project) url = get_repo_url(project) diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py index f1d610d..b230353 100644 --- a/scripts/obs/lib/srcpkg.py +++ b/scripts/obs/lib/srcpkg.py @@ -133,9 +133,9 @@ pathlib.Path(f"{output_path}/commit_{commit}.txt").touch() -def build(project, fetch, gerrit_id=0): +def build(project, gerrit_id=0): feed = lib.args.feed - lib.git.clone(project, fetch) + lib.git.clone(project) lib.git.clean(project) if gerrit_id > 0: lib.git.checkout_from_review(project, gerrit_id) diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 155caee..93f2f7c 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -32,7 +32,7 @@ return ret -def build_srcpkg(package, fetch, is_meta_pkg): +def build_srcpkg(package, is_meta_pkg): global srcpkgs_built global srcpkgs_failed_build @@ -42,7 +42,7 @@ if is_meta_pkg: version = lib.metapkg.build() else: - version = lib.srcpkg.build(package, fetch) + version = lib.srcpkg.build(package) srcpkgs_built[package] = version except Exception as ex: traceback.print_exception(type(ex), ex, ex.__traceback__) @@ -62,8 +62,7 @@ return False -def build_srcpkg_if_needed(pkgs_remote, package, - fetch, is_meta_pkg, skip_up_to_date): +def build_srcpkg_if_needed(pkgs_remote, package, is_meta_pkg, skip_up_to_date): global srcpkgs_skipped feed = lib.args.feed branch = lib.args.git_branch @@ -104,7 +103,7 @@ else: print(f"{package}: building source package (feed is {feed})") - build_srcpkg(package, fetch, is_meta_pkg) + build_srcpkg(package, is_meta_pkg) def upload_srcpkg(pkgs_remote, package, version): @@ -113,8 +112,7 @@ lib.osc.update_package(package, version) -def build_srcpkgs(pkgs_remote, packages, fetch, - meta, skip_up_to_date): +def build_srcpkgs(pkgs_remote, packages, meta, skip_up_to_date): print() print("### Building source packages ###") print() @@ -122,11 +120,11 @@ if meta: feed = lib.args.feed build_srcpkg_if_needed(pkgs_remote, f"osmocom-{feed}", - fetch, True, skip_up_to_date) + True, skip_up_to_date) for package in packages: build_srcpkg_if_needed(pkgs_remote, package, - fetch, False, skip_up_to_date) + False, skip_up_to_date) def upload_srcpkgs(pkgs_remote): @@ -216,8 +214,7 @@ pkgs_remote = lib.osc.get_remote_pkgs() - build_srcpkgs(pkgs_remote, packages, - args.git_fetch, args.meta, args.skip_up_to_date) + build_srcpkgs(pkgs_remote, packages, args.meta, args.skip_up_to_date) upload_srcpkgs(pkgs_remote) exit_with_summary() -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0689868db6fadaaaca470cdefbf60ceedc2eb225 Gerrit-Change-Number: 31931 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-gsm-manuals[master]: Fix mistypes
by vp 15 Mar '23

15 Mar '23
vp has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31925 ) Change subject: Fix mistypes ...................................................................... Fix mistypes Change-Id: I87da6bec137c7be37ec748ec1f9f8d072517022d --- M common/chapters/cell-broadcast.adoc M common/chapters/preface.adoc M common/chapters/sigtran-osmocom.adoc M common/chapters/sigtran.adoc 4 files changed, 19 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/25/31925/1 diff --git a/common/chapters/cell-broadcast.adoc b/common/chapters/cell-broadcast.adoc index a87efae..842e8d1 100644 --- a/common/chapters/cell-broadcast.adoc +++ b/common/chapters/cell-broadcast.adoc @@ -18,7 +18,7 @@ === Use Cases Cell Broadcast was used for various different use cases primarily in -the 1990ies and early 2000s, including +the 1990s and early 2000s, including * advertisement of the GPS position of the cell tower you're currently camping on * advertisement of the calling codes of your current "home zone", i.e. a diff --git a/common/chapters/preface.adoc b/common/chapters/preface.adoc index 76e6f48..b8f7e72 100644 --- a/common/chapters/preface.adoc +++ b/common/chapters/preface.adoc @@ -1,7 +1,7 @@ == Foreword Digital cellular networks based on the GSM specification were designed -in the late 1980ies and first deployed in the early 1990ies in Europe. +in the late 1980s and first deployed in the early 1990s in Europe. Over the last 25 years, hundreds of networks were established globally and billions of subscribers have joined the associated networks. diff --git a/common/chapters/sigtran-osmocom.adoc b/common/chapters/sigtran-osmocom.adoc index fa8e128..05cdedb 100644 --- a/common/chapters/sigtran-osmocom.adoc +++ b/common/chapters/sigtran-osmocom.adoc @@ -38,7 +38,7 @@ ==== The present (2017) In 2017, sysmocom was tasked with implementing a 3GPP AoIP compliant A -interface. This meant that lot of things had to change in the +interface. This meant that a lot of things had to change in the existing code: * removal of the existing hard-wired SCCPlite/IPA code from OsmoBSC @@ -112,7 +112,7 @@ `accept-asp-connections dynamic-permitted`. To enable dynamic registration of routing keys via RKM, the -corresponding SS7 Instance (<<ss7-instance>>) must be confgured with +corresponding SS7 Instance (<<ss7-instance>>) must be configured with `xua rkm routing-key-allocation dynamic-permitted`. This is of course highly insecure and can only be used in trusted, @@ -349,7 +349,7 @@ |Recovery Timeout|Duration of the AS T(r) recovery timer. During this time, outgoing messages are queued. If the AS is ACTIVE before timer expiration, the queue is drained. At - expriation, the queue is flushed. + expiration, the queue is flushed. |State|Application Server State (Down, Inactive, Active, Pending) |ASPs|Which ASPs are permitted to transfer traffic for this AS |==== @@ -360,7 +360,7 @@ connection. From the STP/SG (Server) point-of-view, those are incoming connections from Application Servers such as the BSCs. From the ASP (Client) Point of view, it has one `osmo_ss7_asp` object for -each outbound SIGTARN connection. +each outbound SIGTRAN connection. An ASP has the following properties: diff --git a/common/chapters/sigtran.adoc b/common/chapters/sigtran.adoc index 2cbd84c..51ef65e 100644 --- a/common/chapters/sigtran.adoc +++ b/common/chapters/sigtran.adoc @@ -33,7 +33,7 @@ === Message Transfer Part (MTP) MTP is the lower layer of the SS7 protocol stack. It is comprised of -two sub-layes, called MTP2 and MTP3. +two sub-layers, called MTP2 and MTP3. Nodes in a MTP network are addressed by their unique PC (Point Code). @@ -54,7 +54,7 @@ ==== Point Codes The length of point codes depends on the particular MTP dialect that -is used. In the 1980ies, when international telephony signaling +is used. In the 1980s, when international telephony signaling networks were established, most countries had their own national dialects with certain specifics. @@ -210,7 +210,7 @@ SS7 backbone by means as SUA and M3UA. Over time, even the links of the actual network backbone networks became more and more IP based. -In order to replace existing TDM-based SS7 links/liksets with SIGTRAN, +In order to replace existing TDM-based SS7 links/linksets with SIGTRAN, the M2UA or M2PA variants are used as a kind of drop-in replacement for physical links. @@ -334,7 +334,7 @@ underlying IP transport is transparent to the SS7/SCCP applications, there is no restriction on whether to use SIGTRAN over IPv4 or IPv6. -==== SCTP multi-homing in SIGTARN +==== SCTP multi-homing in SIGTRAN SCTP, unlike more traditional IP L4 protocols (TCP, UDP) doesn't work based on a _connection_ between source IP:port and Destination IP:port. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I87da6bec137c7be37ec748ec1f9f8d072517022d Gerrit-Change-Number: 31925 Gerrit-PatchSet: 1 Gerrit-Owner: vp <vilius(a)elitnet.lt> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-bts[master]: Rewrite pcu_sock_write()
by pespin 15 Mar '23

15 Mar '23
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/31924 ) Change subject: Rewrite pcu_sock_write() ...................................................................... Rewrite pcu_sock_write() The code in that function is pretty rotten: * osmo_fd_write_disable() is called for each message in the queue, there's no need for that. Let's simply call it at the end if the queue is empty. * Asserting for obvious stuff like dequeue returning the first entry in the list. * Having error code path for empty message: That shouldn't happen, abort immediately. With all thse changes, the function is way simpler, easy to read and more efficient. Change-Id: I7ffff98cd8cdf2041bff486c3fde6f16365028d5 --- M src/common/pcu_sock.c 1 file changed, 32 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 145942b..5e4b06b 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -28,6 +28,7 @@ #include <inttypes.h> #include <osmocom/core/talloc.h> +#include <osmocom/core/utils.h> #include <osmocom/core/select.h> #include <osmocom/core/socket.h> #include <osmocom/gsm/gsm23003.h> @@ -1087,48 +1088,33 @@ static int pcu_sock_write(struct osmo_fd *bfd) { struct pcu_sock_state *state = bfd->data; + struct msgb *msg; int rc; - while (!llist_empty(&state->upqueue)) { - struct msgb *msg, *msg2; - struct gsm_pcu_if *pcu_prim; - - /* peek at the beginning of the queue */ - msg = llist_entry(state->upqueue.next, struct msgb, list); - pcu_prim = (struct gsm_pcu_if *)msg->data; - - osmo_fd_write_disable(bfd); - + while ((msg = msgb_dequeue(&state->upqueue))) { /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ - if (!msgb_length(msg)) { - LOGP(DPCU, LOGL_ERROR, "message type (%d) with ZERO " - "bytes!\n", pcu_prim->msg_type); - goto dontsend; - } + OSMO_ASSERT(msgb_length(msg) > 0); /* try to send it over the socket */ rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); - if (rc == 0) + if (OSMO_UNLIKELY(rc == 0)) goto close; - if (rc < 0) { + if (OSMO_UNLIKELY(rc < 0)) { if (errno == EAGAIN) { - osmo_fd_write_enable(bfd); - break; + /* Re-insert at the start of the queue, skip disabling fd WRITE */ + llist_add(&msg->list, &state->upqueue); + return 0; } goto close; } - -dontsend: - /* _after_ we send it, we can deueue */ - msg2 = msgb_dequeue(&state->upqueue); - assert(msg == msg2); msgb_free(msg); } + osmo_fd_write_disable(bfd); return 0; close: + msgb_free(msg); pcu_sock_close(state); - return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7ffff98cd8cdf2041bff486c3fde6f16365028d5 Gerrit-Change-Number: 31924 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in osmo-bts[master]: Rewrite pcu_sock_write()
by pespin 15 Mar '23

15 Mar '23
Attention is currently required from: arehbein. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/31924 ) Change subject: Rewrite pcu_sock_write() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7ffff98cd8cdf2041bff486c3fde6f16365028d5 Gerrit-Change-Number: 31924 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Comment-Date: Wed, 15 Mar 2023 17:13:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • ...
  • 365
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.