Commit Graph

986 Commits

Author SHA1 Message Date
Oliver Smith c1bdb5b9ce build-old-tags: mark osmo-msc 1.7.0 as known error
Old osmo-msc releases failed to build because logging output of
libosmo-mgcp-client has changed. I'm backporting the fix as 1.7.1 and
1.6.4. The script builds the last 3 releases (1.6.4, 1.7.0, 1.7.1), so
mark 1.7.0 as known error.

Related: osmo-msc Id197e4ab9ba12e284299ef520edee9c362513bf1
Change-Id: I86f8252d450165f4be3d7c97fa70235638f7dd96
2021-09-16 11:02:57 +02:00
Oliver Smith 477218474f lint: checkpatch_osmo.sh: ignore debian/changelog
Auto-generated from commit log, may contain spelling errors.

Fixes: OS#5232
Change-Id: Id0ccfbff73464dac7f7f939c88a9e2677fa2a37f
2021-09-15 16:41:18 +02:00
Oliver Smith cbc58a6874 lint: checkpatch.pl: add STRCPY_OSMO
Add Osmocom specific check to forbid using strncpy() and strcpy().
Instead, osmo_strlcpy() or OSMO_STRLCPY_ARRAY() should be used.

Related: OS#5087
Related: https://lists.osmocom.org/pipermail/openbsc/2021-September/013538.html
Change-Id: I6fa96c8f3d15110dd3d3509faa593285a78f469e
2021-09-15 11:08:40 +02:00
Oliver Smith 654cfb3192 lint: checkpatch_osmo.sh: ignore UNSPECIFIED_INT
As suggested by Pau, let's remove this check because it isn't useful for us.

Related: OS#5087
Change-Id: I15345a154f490362093e46fc0df75e75bbb237fe
2021-09-13 10:37:06 +02:00
Oliver Smith 94cf194666 lint: checkpatch_osmo.sh: ignore UNNECESSARY_INT
Related: https://gerrit.osmocom.org/c/libosmocore/+/25345/4#message-8f6827dc90942698d23ebb909544bf60fa461b2d
Related: OS#5087
Change-Id: I5be890a296b37511affc17cb786f0709de822826
2021-09-13 10:32:15 +02:00
Oliver Smith a18e6dfa40 jobs/ttcn3-testsuites.yml: add ns-test-sgsn-sns
Depends: docker-playground I1a9205885d381c04141dad752de0b39d9268ab69
Change-Id: Ifb08fafa408b8c622998080b4ec2932b0c3fd3bb
2021-09-08 08:14:49 +02:00
Oliver Smith 1658ff58aa jobs/gerrit-lint.yml: add lint jobs
Related: OS#5087
Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2
2021-09-06 10:56:26 +00:00
Oliver Smith 4f75177e8c lint: checkpatch_osmo.sh: ignore LONG_LINE_*
According to a comment in checkpatch.pl, these should automatically be
ignored when LONG_LINE is ignored. However I found that it's still
complaining about LONG_LINE_COMMENT, so explicitly disable it.

Related: OS#5087
Change-Id: I7aed3bfbfcb0b9e2f1d743b111e8418846f031d2
2021-09-03 08:27:28 +00:00
Oliver Smith d314ae8280 OBS: remove {osmo-gsm-manuals,osmo-trx}-debian8
Drop these workarounds, as we are not building binary packages for
debian 8 anymore.

Related: OS#5223
Change-Id: Ibe7ba124557969df62798ba49c4489e9606c2341
2021-09-01 16:49:53 +02:00
Oliver Smith 8cbd4bf779 lint: ignore EMBEDDED_FILENAME
Mentioning the file in itself is useful sometimes (e.g. when explaining
how to use a contrib script). So do not let the linter fail here.

Related: OS#5087
Change-Id: I151b97bc7f2fe83898c0598db54360807956993c
2021-08-16 11:27:11 +02:00
Oliver Smith 20901e849e repo-install-test: osmo-pcap-server: !latest
Disable osmo-pcap-server for latest again, as the port is still
conflicting there with osmo-bts.

Fixes: 7ca9c4 ("repo-install-test: clear SERVICES_NIGHTLY list")
Related: OS#5203
Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba
2021-08-09 16:11:08 +02:00
Oliver Smith 7ca9c4f33d repo-install-test: clear SERVICES_NIGHTLY list
All services that start up in nightly should also start in the latest
release now, as new versions have been released of related programs.

Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984
2021-08-05 19:06:55 +02:00
Oliver Smith b70fede452 lint: ignore LONG_LINE
With recent code reviews I've realized that in Osmocom we do often use
more than 120 characters per line for various reasons. So adjust the
linter to not fail anymore if that is the case.

Related: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h#32
Related: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c#125
Related: OS#5087
Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372
2021-07-30 10:11:11 +02:00
Oliver Smith dc66e9a394 lint: exclude kdf, milenage for libosmocore
Imported code that doesn't follow our guidelines (e.g. spaces used
instead of tabs).

Related: OS#5087
Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17
2021-07-19 14:39:43 +02:00
Oliver Smith dbc4e6e78f lint: checkpatch.pl: no spaces required for tdef
Don't require spaces around equals sign for tdef entries.

Related: OS#5087
Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c
2021-07-19 14:39:39 +02:00
Oliver Smith bedf7ed0fb lint: checkpatch.pl: complain about %i in printf
Pau has to remind me often that %d is used instead of %i in Osmocom
trees, so let's automate it.

Complain like this:
src/vty/command.c:3052: WARNING:PRINTF_I_OSMO: Use %d instead of %i

Related: OS#5087
Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868
2021-07-15 10:21:47 +02:00
Oliver Smith 7f0fdda23c lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO
Don't complain that macros such as __packed should be used, which are
defined in the Linux kernel but not in libosmocore.

For example:
src/gsm/gsm0808.c:85: WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: Prefer __packed over __attribute__((packed))

Related: OS#5087
Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6
2021-07-15 10:21:47 +02:00
Oliver Smith 7c3c0bdaa5 lint: ignore DEEP_INDENTATION
Related: OS#5087
Change-Id: Iff29f0a97dbfed904705f543541441f761370602
2021-07-15 10:21:47 +02:00
Oliver Smith 972e8bcbb0 lint: ignore PREFER_FALLTHROUGH
Related: OS#5087
Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a
2021-07-15 10:21:47 +02:00
Oliver Smith b6e2adb0aa lint: checkpatch.pl: allow spaces below (g)DEFUN
Do not complain if indenting with exactly 6/7 spaces below (g)DEFUN(,
as it's often done in VTY-related code in Osmocom. This patch assumes
that if the line starts with 6/7 spaces and " or a word, it's probably
below DEFUN( or gDEFUN(. I've considered implementing a more accurate
check, but that would be too much effort (e.g. when more macros are
involved).

Other related macros, such as DEFUN_ATTR are longer. Indentation below
those should be done with one tab (+ spaces for padding), the linter
doesn't need to be adjusted for those.

Related: OS#5087
Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6
2021-07-15 10:21:05 +02:00
Oliver Smith 444ca841e6 lint: checkpatch.pl: fix && complaints
Don't complain with:
	ERROR:SPACING: space prohibited after that '&&' (ctx:ExW)
in code similar to:
	if (conn->conn->mode != MGCP_CONN_LOOPBACK
	    && conn->conn->mode != MGCP_CONN_RECV_ONLY
	    && !mgcp_rtp_end_remote_addr_available(&conn->end)) {

The check was supposed to complain about spaces if the && is used as
unary operator (to get the address of a goto label). But it's clearly
producing false positives in the Osmocom context with use as non-unary
operator, so remove this check.

Related: OS#5087
Related: 0d413866c7
Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9
2021-07-07 11:28:38 +02:00
Oliver Smith 5409188d55 lint: ignore LINE_CONTINUATIONS
Causes false positives, e.g. in tests/mgcp/mgcp_test.c in osmo-mgw:

  #define MDCX4_PT2 \
	"MDCX 18983218 1@mgw MGCP 1.0\r\n" \
	"M: sendrecv\r" \
	"C: 2\r\n" \
	"I: %s\r\n" \
	"L: p:20-20, a:AMR, nt:IN\r\n" \
	...

tests/mgcp/mgcp_test.c:189: WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations

Related: OS#5087
Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248
2021-07-07 11:28:38 +02:00
Oliver Smith 2cceff4535 lint: ignore COMPLEX_MACRO
Complains about, for example:
  #define MDCX4 \
	"MDCX 18983217 1@mgw MGCP 1.0\r\n" \
	"M: sendrecv\r" \
	"C: 2\r\n" \
	"I: %s\r\n" \
	"L: p:20, a:AMR, nt:IN\r\n" \
	"\n" \
	"v=0\r\n" \
	"o=- %s 23 IN IP4 5.6.7.8\r\n" \
	"c=IN IP4 5.6.7.8\r\n" \
	"t=0 0\r\n" \
	"m=audio 4441 RTP/AVP 99\r\n" \
	"a=rtpmap:99 AMR/8000\r\n" \
	"a=ptime:40\r\n"

Related: OS#5087
Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363
2021-07-07 11:28:38 +02:00
Oliver Smith 497ce6743a lint: exclude *.ok, *.err
Complains about e.g. \r\n in *.ok files.

Related: OS#5087
Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06
2021-07-07 11:28:37 +02:00
Oliver Smith 57804faacc lint: checkpatch.pl: exclude pattern, not dir
Allow to exclude files in a follow-up commit, not just directories.

Related: OS#5087
Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8
2021-07-07 11:28:16 +02:00
Oliver Smith d58b999e0f lint: add helper scripts
Add lint_diff.sh, which runs checkpatch on git diff to either HEAD~1 (if
the tree is clean) or HEAD. This can be used as pre-commit hook, and
it's what jenkins will run.

Add lint_all.sh, which runs checkpatch on a whole repository to test if
the rules we are checking for make sense in Osmocom context.

Related: OS#5087
Change-Id: I1d02c169b05fb05b87209a444a5ddb86efc99d04
2021-06-16 16:49:47 +02:00
Oliver Smith 1e750ed6dc lint/checkpatch: add Osmocom specific wrapper
Related: OS#5087
Change-Id: I0ec6a3bc57a4d31c821fa83370f05c6d4ac2a5b0
2021-06-16 16:42:18 +02:00
Oliver Smith 6c497c076b lint/checkpatch: add --exclude argument
Apply patch from https://review.coreboot.org/c/coreboot/+/18568/, so we
can exclude specific directories.

Related: OS#5087
Change-Id: Ia980814895249f839873c5002f0d21c0e59ee01d
2021-06-16 16:42:18 +02:00
Oliver Smith 47ba23b820 lint/checkpatch: import from Linux kernel
Prepare to run checkpatch on patches submitted to gerrit to point out
various linting errors automatically, such as { after functions not
placed on a new line, or common spelling errors.

Import version from 7e6cdd7f ("checkpatch: improve ALLOC_ARRAY_ARGS test")
of linux.git.

Related: OS#5087
Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linting
Change-Id: I58571a0409e79d88d37e8328f41a540a58cfb198
2021-06-16 16:41:56 +02:00
Oliver Smith 1bc1947974 osmo-ci-docker-rebuild: don't build ogt for arm
Don't attempt to build the osmo-gsm-tester docker container on arm. It's
currently causing the update-osmo-ci-on-slaves job to fail on
rpi4-raspbian10build-ansible-*.

Related: https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian10build-ansible-1/876/console
Change-Id: Ic30de69d318927d5c142f8212eefa3a53037ef25
2021-06-16 15:37:13 +02:00
Oliver Smith f404962d61 jobs: don't run any on admin2-deb9build
This node was disabled permanently, so don't try to run anything on it.

Change-Id: I0ea91658c74ea24fae551b917628fab5f7952c97
2021-06-04 14:11:05 +02:00
Neels Hofmeyr 499faad7a3 ttcn3: add ttcn3-bsc-test-vamos
Change-Id: I9c4918c4f1da28b97db6386485e115f7e091a842
2021-05-26 00:09:22 +02:00
Oliver Smith 60cef18539 OBS: use nightly script to build 2021q1 feed
Use the nightly script instead of latest, so all packages get
upgraded when upgrading osmocom-2021q1.

Related: SYS#5370
Change-Id: If8de585652997aae1edb586c948c181f564f6994
2021-05-19 06:35:56 +00:00
Oliver Smith 33be93bcc9 OBS: refactor osmo_obs_prepare_conflict
Determine the package name of the conflict package itself and all
conflicting packages automatically, so we don't need to have it
duplicated in the OBS latest and OBS nightly scripts.

This is in preparation to move osmocom-2021q1 from latest to nightly.
With the current logic in nightly for the conflict package, it would not
be possible.

Related: SYS#5370
Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04
2021-05-19 06:35:56 +00:00
Oliver Smith 58d02c5483 OBS: move verify_feed to common
Prepare to move the 2021q1 feed from latest to nightly.

Related: SYS#5370
Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145
2021-05-19 06:35:56 +00:00
Harald Welte 16f324618f master-builds: turn git_base_url actually in a URL, not just hostname.
Let's include the 'protocol' part itno the git_base_url variable, so it
actually becomes an URL, not just a hostname-with-path-prefix.

This way we can keep using git:// for osmocom and use https:// for
github and sysmocom.

Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196
2021-05-18 11:55:53 +02:00
Harald Welte 51e5b234f4 master-builds: Use https when linking to git repos from description
Change-Id: I3a0a3d779ce456ce359e33bc1305f63271deb87e
2021-05-18 11:53:35 +02:00
Oliver Smith 00188531c2 OBS: conflict: allow overriding pkgver
Allow overriding OSMO_OBS_CONFLICT_PKGVER, so we can increase the
version of the osmocom-2021q1 package whenever something changes on one
of the 2021q1 branches.

Related: SYS#5370
Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211
2021-05-17 08:27:17 +00:00
Harald Welte d793650519 some more git.sysmocom.de https (+path) changes due to gitea migration
Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14
2021-05-17 08:16:34 +02:00
Harald Welte e82f47ccfc ansible/hosts: new IPs for GTP0 slaves
the old ones were DHCP-allocated and after a power outage, they changed.

I've now moved to static allocated addresses.

Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba
2021-05-17 08:10:12 +02:00
Harald Welte 1a8bdf4674 layer1-headers: change git.sysmocom.de to https
after migrating to gitea, we don't offer classic git:// anymore

Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f
2021-05-17 08:09:29 +02:00
Oliver Smith 849495ff9b jobs/ttcn3: add TTCN3-centos-*-2021q1
Depends: docker-playground Icf1e3f1928658ff3d82190c4176252cf3590a1f5
Related: SYS#5370
Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299
2021-05-04 09:38:38 +02:00
Oliver Smith f8099e5504 OBS: add osmocom-packages-docker.sh
Add a simple helper script to run osmocom-*-packages.sh in docker to
avoid installing dependencies on the host system.

Related: SYS#5370
Depends: docker-playground Ibb55ad18d2ccf4313f52fa3e3c10d4420c84dced
Change-Id: Icc89e20950c2aaa67b209340d1d797b76fce32d2
2021-04-29 16:05:14 +02:00
Oliver Smith 730d011de5 OBS: common: don't require wget anymore
Not needed anymore since Iaf2527043e9acdb6acff3e481d4516ac4b75b7e7.

Change-Id: I2e03487058e4c2c9426872975953fa1814b24ccd
2021-04-29 16:05:14 +02:00
Oliver Smith a323d1a41c OBS: latest: add commit to version for 2021q1 feed
Move get_commit_version to common-obs.sh and call it in
osmocom-latest-packages.sh, if the feed is not "latest". This way, the
packages don't have the latest tag as version anymore, and the version
changes if commits get pushed to the feed's branch.

Related: SYS#5370
Change-Id: I4a4fa3b8f66652ef36a7fe62047a88a69c473f19
2021-04-29 16:05:14 +02:00
Oliver Smith 4e82ff70cd OBS: refactor git_version_gen related logic
Move git_version_gen calls into an own function and add some of the
description from I76e3713f0b01a6110091ff90e8e53aa79533c374 where this
code was added.

Don't call it inside get_commit_version anymore, but call it before.
Don't try to cat the resulting .tarball-version there if it doesn't
exist.

Related: SYS#5370
Change-Id: I9a1b6ae4b4311abb77dc6390733c5e330e3d489e
2021-04-29 16:05:14 +02:00
Oliver Smith 5ef41781aa OBS: add PACKAGES env var
Skip checking out and building source packages of all other packages, if
the environment variable is set.

Related: SYS#5370
Change-Id: I83c3744713fd6abda4b832460f30eb2e79ebeed8
2021-04-29 16:05:14 +02:00
Oliver Smith 797e4aa386 OBS: latest: support new 2021q1 feed
Related: SYS#5370
Change-Id: I7a59a6ad94b21ba397349813b56b9bd5ea01c7c3
2021-04-29 16:05:10 +02:00
Oliver Smith c925604247 Cosmetic: OBS: explain difference latest/nightly
Related: SYS#5370
Change-Id: I4de2a9e9d096f8f77bfd72b8cabb0a69af2d51df
2021-04-29 16:04:34 +02:00
Oliver Smith e660339f2e OBS: require PROJ environment variable to be set
Uploading to network:osmocom:* should only be done when these scripts
are running in the Osmocom jenkins. Remove the default and require users
of the script to explicitly set PROJ.

Related: SYS#5370
Change-Id: If49ce217e77716b63dfde9139e869672a54b66a2
2021-04-29 16:04:00 +02:00