Commit Graph

71 Commits

Author SHA1 Message Date
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
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
Oliver Smith 57a07962f6 Cosmetic: OBS: describe build() parameters
Change-Id: Ib50499d6d3bd862879eaff58c9bf2260afc97ff8
2021-04-29 11:03:00 +02:00
Harald Welte 0eade12c25 osmocom-latest-packages: Package osmo-smlc
osmo-smlc now has a tag that builds against a tagged libosmocore

Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21
2021-03-02 11:17:21 +00:00
Oliver Smith ac802f941f OBS: latest: add osmo-gbproxy
Related: OS#5051
Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe
2021-03-01 12:53:01 +00:00
Oliver Smith bb880678c1 OBS: latest: run osmo_obs_add_rpm_spec every time
Replace the current logic, that would only run osmo_obs_add_rpm_spec
when adding a new package, or when the version of a package has changed,
with running it every time.

Running the command when it is not needed does not hurt, as it does not
take significant time, and osc does not attempt to upload the file when
it did not change.

The advantage is, that we can update/upload the spec file without
tagging a new version, if a bug prevented it from getting uploaded
before (as it just was the case for all Osmocom packages).

Related: OS#5054
Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3
2021-03-01 12:52:40 +00:00
Oliver Smith 08a554c7d1 OBS: latest: fix osmo_obs_add_rpm_spec call
Pass the path to the project's git repository to osmo_obs_add_rpm_spec,
instead of $output (has the output of "gbp buildpackage").

Related: OS#5054
Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449
2021-03-01 12:52:40 +00:00
Harald Welte bdb36dd055 osmocom-latest-packages: re-enable osmo-uecups
this should have been re-enabled since libosmocore 1.4.0 already

Change-Id: I5b8789cdfff2432c8d43972e19117f9f54eaaa7f
2021-02-23 20:21:11 +01:00
Harald Welte 2f611e206c osmocom-latest-packages: Build osmo-cbc
osmo-cbc has full support for building dpkg + rpm from the latest
tag (0.2), hence we can enable building it also in 'latest'

Change-Id: Ia5bfd126ad168da7ab629b1f18ecfd60d4a49a51
2021-02-03 08:38:30 +00:00
Oliver Smith 245b68316a OBS: add %H%M to DT
Make sure that each time osmocom-nightly-packages.sh and
osmocom-next-packages.sh runs, we get a different date appended to the
versions, even if it runs twice on the same day (e.g. because the
jenkins job was triggered manually).

This is in preparation to let all packages depend on a specific version
(with that date) of the conflicting dummy package.

DT in osmocom-latest-packages.sh is adjusted for consistency (though it
is not appended to the package versions, only used in the commit message
when pushing the latest packages).

Related: OS#4733
Change-Id: I7f08c694a549f1b3dd938a68e05082f2c31fdb92
2021-01-15 16:51:24 +01:00
Oliver Smith e738afafa3 OBS: osmo_obs_add_rpm_spec: depend on conflict pkg
Related: OS#4733
Change-Id: I69bebdadaf89c2a6e5dd9a27161703a567882359
2021-01-15 16:51:22 +01:00
Oliver Smith d0ab94579b OBS: add_depend_deb: no self-dependencies
Check if we are trying to make a package depend on itself, and skip in
that case. This happens for the osmocom-nightly etc. metapackages, as
they go through the same code path as regular packages. While at it, use
proper variable names in the function.

Add the new variable as second argument and not as third, because a
fourth argument will be added with the dependency version, and because
this order will be consistent with osmo_obs_add_rpm_spec() when it gets
extended in a future commit.

Fix the following warning:
W: osmocom-nightly source: package-depends-on-itself osmocom-nightly depends

Related: OS#4733
Change-Id: I439079c00259d73a18cb8617a3e76d05df5a7a35
2021-01-15 16:51:13 +01:00
Oliver Smith b7f05a92e5 OBS: rename osmo_obs_add_debian_dependency
Change name to osmo_obs_add_depend_deb. I'll add a _rpm function in a
future patch, and so we get consistent names.

Related: OS#4733
Change-Id: Icf444b86df993184c9fe4db8d3e67ab4bb06bd47
2021-01-15 16:51:12 +01:00
Harald Welte f95275f0eb osmocom-latest-packages: Remove limesuite-debian10
Since LimeSuite v20.07.x has been released, we don't need a debian10
specific package anymore.

Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05
2020-08-09 13:03:34 +02:00
Harald Welte 1d5d879be0 Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken"
This reverts commit e17a4d66d0, i.e.
we are back to building the latest tag, now that v20.07.1 has been
released, which actually builds again.

However, the package name in debian/changelog has not been updated to
reflect that version change, resulting in v20.07.1 being packaged
in a package called v20.07.0.

Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c
2020-08-05 11:48:25 +02:00
Harald Welte e17a4d66d0 nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken
See https://github.com/myriadrf/LimeSuite/issues/313

This also reverts the previous commits that removed the work-around for
building LimeSuite on Debian10, as that one is still required for
v20.01.0 (and not for v20.07.0).

Change-Id: Ib70418f0b8a4c6aafa3098b6fa3e240f89112b59
2020-07-30 11:07:12 +02:00
Harald Welte e969f7f8a4 latest-packages: build osmo-e1d
Change-Id: Ib74832bff1ce6856ada126c54f5f66c510034af4
2020-07-01 10:50:25 +02:00
Harald Welte cf8711ed9a remove openbsc from nightly and latest builds
The only part that we haven't migrated elsewhere is osmo-bsc_nat,
which is also really unmaintained at this point.  Let's not confuse
people into thinking they should actually use this software anymore.

Change-Id: Icee165422a52bfe04be103a5b7ebb5c8909c0321
2020-06-03 20:50:34 +02:00
Oliver Smith 799d936cc6 OBS: add osmocom-next-packages.sh
Fill the "next" feed with source packages generated from the "next"
branch of each Osmocom project, if it exists, with fallback to the
"master" branch. Implement as wrapper around osmocom-nightly-packages.sh,
so we don't duplicate code and don't need to add more logic to the jenkins
job.

Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of
each osmocom-*-packages.sh script stating the feed they can be used with.

Related: SYS#4887
Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
2020-05-28 10:01:23 +00:00
Oliver Smith ec04994c10 Cosmetic: OBS: remove comments for requirements
The list is incomplete, and we have a programmatic check for required
binaries in common-obs.sh now. The next patch will add a new one of
these scripts, so let's clean it up a bit.

Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f
2020-05-25 11:47:30 +02:00
Oliver Smith 7cb8e2d05c OBS: add debian10 specific patch for limesuite
Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in
debian/control. Adjust OBS scripts to apply such patches from this
repository if they exist here, and fall back to the project's
repository (osmo-trx, osmo-gsm-manuals patches are there).

Related: OS#4562
Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad
2020-05-25 11:47:11 +02:00
Oliver Smith b6965f877c scripts/common-obs.sh: move osmo_obs_checkout_copy
Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh
and osmocom-nightly-packages.sh to take the distribution name as
argument and merge both to osmo_obs_checkout_copy in common-obs.sh.

Use debian8 as distribution name instead of debian8-jessie, so the
distribution name matches the suffix of the patch file
(build-for-debian8.patch).

A follow-up commit will apply a debian10 specific patch with this new
function.

Related: OS#4562
Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65
2020-05-25 11:46:04 +02:00
Oliver Smith eb33aa7f63 OBS: add --noservice to osc ci command
Prevent the following error:

ERROR: please install obs-service-format_spec_file or use the --noservice option
Build step 'Execute shell' marked build as failure

Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console
Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8
2020-05-22 11:36:58 +02:00
Oliver Smith a36c355462 OBS: check required programs before start
osmocom-*-packages.sh take some time to execute and has quite a few
programs that are not commonly installed. Check the required
dependencies first, so it doesn't abort in the middle of the scripts if
these are missing. I just ran into this with the new meson dependency.

Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead
2020-05-22 11:36:53 +02:00
Oliver Smith 4f66f30307 OBS: add RPM spec files
Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set
the same version, as in the debian .dsc files.

Related: OS#4550
Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c
2020-05-19 16:58:37 +02:00
Harald Welte bede70bee5 disable osmo-uecups latest build; needs new libosmocore release
Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa
2020-04-27 09:32:03 +02:00
Harald Welte b5254872aa osmocom-*-packages.sh: fix osmo-uecups
Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a
2020-04-24 23:41:44 +02:00
Harald Welte fcd7f76107 add osmo-uecups to nightly + latest feeds
Change-Id: Ic7de1b4c6ce47093874fe373cac8a1f7e47ee179
2020-04-20 13:32:00 +02:00
Harald Welte 99a7abe42e osmocom-*-packages: Build neocon package
Change-Id: Ie0243bf066d6bc369737b8d659d09e3871cae79d
2020-02-26 14:45:30 +01:00
Harald Welte d52b4ee105 osmocom-latest-packages: Allow non-osmocom git URL in checkout()
Change-Id: I33bbc47598cb2c31cdc4209cd2fe3e6f6dd67e7a
2020-02-26 14:45:30 +01:00
Harald Welte 30ca06a8d4 osmocom-nightly/latest: Build open5gs
This is unfortunately harder than expected.  The problem is the use
of meson external dependencies using 'wrap', specifically for
freeDiameter.

As a debian source package needs to include the entire source, the
dpkg helpers are calling 'meson --wrap-mode=nodownload' at build time.

This in turn requires us to download the freeDiameter after the git
clone of open5gs.  Unfortunately this creates a git checkout in a
sub directory of the open5gs repo, which is not part of the git history.

git-buildpackage hence generates a source tarball *without*
freeDiameter.  I tried very hard in several methods like
* git commit subprojects/freeDiameter
* adding subprojects/freeDiameter as git submodule
unfortuantely none of them helped.

In the end, I resorted to using 'dpkg-buildpackage' instead of
'git-buildpackage' (gbp), which then has other disadvantages,
such as not being able to determine the output directory to which
the .tar.* and .dsc files are written to.

In the end, the solution implemented here is the only one I could
make work.

Change-Id: I6752288868e5ee1378c0776b1be9f06750017c41
2020-02-24 10:52:30 +01:00
Oliver Smith d93fd48da9 OBS: clone from gerrit.osmocom.org
Work around "garbage at end of loose object" errors that occasionally
cause these jenkins jobs to fail.

A few repositories are not hosted on gerrit, so they still get cloned
from git.osmocom.org. However, having almost all repositories cloned from
gerrit should improve the situation a lot.

Related: OS#4083
Change-Id: Id8f08a1bc10d6c81be9ad44c60646e2ea9f6cf4e
2020-01-16 14:42:02 +00:00
Oliver Smith df967f76f6 OBS: print date/time before git clone and on error
The OBS job clones a lot of repositories from git.osmocom.org every
night, so it is a good candidate to reproduce the "garbage at end of
loose object" error we are getting sporadically.

Print exact timestamps, so we can check if there is anything related in
the server logs, when this error happens again.

Related: OS#4083
Change-Id: Ic9a6d3f0c2b8dad2661ede793c21307f1680a52e
2019-07-22 13:22:33 +02:00
Harald Welte dcb9edafd4 latest-packages: Enable osmo-remsim as new libosmo-abis is tagged
Change-Id: Id1902f8b79357ac280767edba3698450f67b7c37
2019-07-21 21:35:00 +02:00
Oliver Smith e26866af0d OBS: make nightly packages conflict with latest
Add conflicting dummy packages osmocom-nightly and osmocom-latest, and
make all packages from each repository depend on the right one.

As usually, the latest packages will only get changed when a new release
appears. So the dependency will get introduced after tagging a new
release. I have tested in an own OBS namespace, that everything works as
expected.

Related: OS#2640
Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a
2019-06-17 12:21:32 +02:00
Oliver Smith 83f4f25d7c OBS: build osmo-gsm-manuals-dev in latest
Enable in osmocom-latest-packages.sh. Check it out and create the source
package for the latest release as usually, but also create a second
version for debian 8 with adjusted dependencies (like in nightly [1]).

[1] Change-Id: I3570599ede51b974d350064f44f77e360fafd8b0

Related: OS#3899
Change-Id: Ib7251cca9116151e473798879375cd5eb48ff3ad
2019-05-29 12:41:11 +02:00
Oliver Smith 9dc7e2ad4b OBS: latest: remove redundant checkout in build()
Don't checkout a specific version in build(), this is already done in
checkout().

Change-Id: I74290968fe25a6311da0de26ff675bbd687ba156
2019-05-29 12:37:39 +02:00
Harald Welte acb2fb6078 osmocom-latest-packages: Enable osmo-sysmon
Since libosmocore 1.1.0 and libosmo-netif 0.5.0 are released, we can
address the TODO and build osmo-sysmon also in our latest feed.

Change-Id: I48bd5aff2ae315b6f462facea70222eb2cdd2d58
2019-05-11 06:15:24 +00:00
Oliver Smith dc5fc51c1f OBS: build osmo-gsm-manuals-dev in nightly
Enable in osmo-nightly-packages.sh, and add as coment in
osmocom-nightly-packages.sh for now (needs a tagged release first).

Related: OS#3899
Depends: I7edb5093e5b58eb3b0f7af2376476db4026db735 (osmo-gsm-manuals.git)
Change-Id: Ideeae4f7846fa5626fe2c1f5a77e07a3c6e626fe
2019-04-15 08:53:47 +02:00
Pau Espin bfea6499a3 nightly-packages: Move some code and rename some vars to look similar to latest-packages
Change-Id: I177bb7fb75e293ef665e95363a38c6b4f8e49c13
2019-04-12 17:53:15 +02:00
Harald Welte 15ae47aa99 osmocom-nightly-packages: build osmo-remsim
As of Change-Id Id5044b1835190edc948952d207a5196a18669eb1, osmo-remsim
contains Debian packaging information and hence we can build it as part
of our nightly feeds.

We're not yet enabling 'latest' builds as we need to wait for the next
libosmo-abis release for that (requires the IPA keepalive FSM).

Change-Id: Ic367dc95f46cece4bd769061af860fd82b4bd2e9
2019-04-03 12:23:34 +02:00
Pau Espin b3b2e37246 scripts: Enable osmo-sysmon debian package OBS build
Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb
2019-03-22 12:51:14 +00:00
Harald Welte 2dfb2c6fa1 osmocom-*-packages: clone via https:// not via unencrypted git://
Change-Id: Ibfb52cbac93451ba402edb6b59350620954b0d81
2019-01-26 18:29:01 +01:00