Commit graph

54 commits

Author SHA1 Message Date
Michael Keller
0d6b572a9f Fix script permissions.
Signed-off-by: Michael Keller <mikeller@042.ch>
2024-05-13 12:32:07 +12:00
=Michael Keller
6fc8310705 CICD: Improve Workflows.
Make multiple improvements to the existing workflows:
- create a shared custom action to deal with version number tracking
  and generation;
- use this action to add the branch name to the version for pull
  request builds;
- create a shared workflow for all debian-ish builds to avoid re-use
  by copy / paste;
- remove potential security risks by eliminating the use of
  pre-evaluated expressions (`${{ ... }}`) inside scripts;
- update outdated GitHub action versions;
- improve the consistency by renaming scripts acording to have a `.sh`
  extension;
- improve naming of generated artefacts for pull requests to include
  the correct version.

@dirkh: Unfortunately this is potentially going to break builds when it is
merged, as there is no good way to 'test' a merge build short of
merging.
We'll just have to deal with the fallout of it in a follow-up pull
request.

Signed-off-by: Michael Keller <github@ike.ch>
2024-05-13 10:19:59 +12:00
Dirk Hohndel
6318a983eb remove Ubuntu Lunar as build target (EOL)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2024-01-29 15:11:33 -08:00
Dirk Hohndel
21095b18fc enable creating current releases for Ubuntu and Fedora
While for the other platforms we can simply copy our binaries (maybe
after signing them), for Fedora and Ubuntu we have to trigger fresh
builds.

The most logical way that I could think of to do this was to push the
same commit corresponding with the intended current release into a
branch named 'current' and have that trigger Copr and Launchpad builds
that post into our release repos.

So 'master' keeps moving forward, keeps creating new build numbers.
At some point we pick a build number that we want to be the next
'current' release. We then update the current branch to the commit that
corresponds to that build number and push the current branch which
triggers new builds in the correct repos on Copr and Launchpad.

This commit removes the silly 'push' argument from the make-package
scripts (after all, they are used to push those packages to the
respective build services) and instead use the branch name as argument
to those scripts - allowing us to pick which repo to push into.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2024-01-27 19:36:47 -08:00
Dirk Hohndel
2a7628483e don't quote globs...
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2024-01-06 12:33:31 -08:00
Dirk Hohndel
c4cb913426 adjust Launchpad package make script to new version logic
Also address some shellcheck issues.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2024-01-06 11:42:26 -08:00
Dirk Hohndel
f252af1dd1 prevent the 'latest' tag from messing with our version
We need to use git describe in a way that only refers to vX.Y.Z style tags.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-12-07 04:00:32 -08:00
Dirk Hohndel
41b5bbb226 add Launchpad PPA build
Could it be this easy? There's no way it's this easy.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-12-04 12:55:10 -08:00
Dirk Hohndel
243d6bfd2b stop building our own libgit2 for Ubuntu
It's embarrassing that we kept doing this for so long. Debian and Ubuntu
have had new enough versions of libgit2 for a very long time.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-12-04 12:55:10 -08:00
Dirk Hohndel
c5feae126b truly switch to focal as oldest supported Ubuntu release
Thanks to @mikeller for catching my oversight here.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-09-26 21:13:05 -07:00
Dirk Hohndel
947c2e704f remove unsupported versions and add newer ones
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-09-26 21:13:05 -07:00
Dirk Hohndel
6b272ac3aa build-system: add Ubuntu kinetic (22.10)
That's been out for a while... oops.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2023-02-18 21:59:54 -08:00
Dirk Hohndel
05ed2e70b5 build-system: impish is EOL
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 12:11:19 -07:00
Dirk Hohndel
197ea2b655 build-system: update Ubuntu targets
Hirsute no longer accepts builds, but Jammy apparently does.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-03-16 11:00:59 -07:00
Dirk Hohndel
c94e2b5d3f build-system: switch submodule protocol
As of today, GitHub no longer allows the 'git://' protocol, so we need to
switch the submodule and our other references to cloning git repos to
'https://' instead.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-03-16 06:46:07 -07:00
Dirk Hohndel
c3a5cf3315 build-system: update Ubuntu releases
groovy has been rejecting updates for a while, but impish should now be
available.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-10-19 12:26:09 -07:00
Dirk Hohndel
fd3ebf9b62 build-system: build for Ubuntu 21.04 / hirsute as well
This release drops the qt5-default package - which really wasn't needed since
focal. So just drop it on all of the builds after 18.04 (bionic).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-05-07 12:17:21 -07:00
Dirk Hohndel
74021afd97 build-system: don't check dependencies when creating Ubuntu package
There is no reason to check that on the system that is simply used to
submit the package to Launchpad.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-17 09:07:20 -08:00
Dirk Hohndel
02a4aa927e build-system: update Ubuntu distros that we build for
Eoan no longer accepts builds, Groovy Gorilla will be the next one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-03 11:43:24 -07:00
Dirk Hohndel
da953fa18a move GitHub url to the Subsurface org
Instead of using the Subsurface-divelog user on GitHub, we now use an org that
was generously donated to us.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-04-26 16:36:30 -07:00
Dirk Hohndel
08c5788020 build-system: cleanup Ubuntu/Debian script
This code block was also for the OBS builds and is no longer needed now that we
have to separate make-package scripts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-04-19 14:27:54 -07:00
Dirk Hohndel
2f8c968ff9 build-system: remove OBS support from Ubuntu/Debian scripts
This feels much cleaner.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-04-19 08:17:15 -07:00
Dirk Hohndel
b38138fd0d build-system: update Ubuntu/Debian package script
This cleans up a lot of the ancient mess in that file.

It's still confusingly usable to push sources to OBS as well (but that's now
hidden behind an option) and it is still somewhat custom-made for me, but it
should be much easier to reuse for others now.

In addition to Subsurface and libdivecomputer we are inclooding the googlemaps
sources and libgit2 1.0.0 sources. Bionic is the only remaining distro that we
support that doesn't have a new enough version of libgit2 (0.26 is the minimum
we expect), but since we are linking statically against it, maybe it's best to
simply force all of these builds to include libgit2 1.0.0.

Handling of the debian/* files in the script has been changed quite a bit to
make it easier for others to create a working setup. It now updates all of the
files with the exception of the changelog files from the sources we are
building from. I am hoping that this will be a not-so-subtle incentive for me
to keep the bundled versions up to date.

Since we no longer do beta releases, I removed that part from the file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-04-18 17:38:09 -07:00
Dirk Hohndel
83079c92df build-system: fix appdata creation on OBS
Build systems that run from tar balls and not git fail to create valid
.appdata.xml This solves the problem for tar balls that we create for
OBS via our own make-package script. It doesn't solve the problem for
Arch or Gentoo who I believe take our tar files created via git archive.
One way to fix this would be to change the process by which I create
those tar files, I guess.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-20 10:02:54 -07:00
Dirk Hohndel
9ef90daf77 Ubuntu build script update
Make sure we list the currently supported releases.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-29 15:49:04 -07:00
Lubomir I. Ivanov
2b40e15713 remove Marble from packaging and build scripts
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>

---
please note, that i have no way to test most of the scripts ATM.
2017-09-04 07:46:35 -07:00
Dirk Hohndel
2aeb2b8d8b Small fix for Ubuntu builds
This makes the code slightly less error prone, I hope.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 21:01:29 +09:00
Miika Turkia
1f19abdd4f Add yakkety (16.10) to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 20:36:37 +09:00
Anton Lundin
04d8d7cb13 scripts: run all scripts with -e
Run all scripts with -e so they exit as soon as something breaks. That
way the build stops at the first error, not some other error.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Miika Turkia
bc28944abb Add Ubuntu Xenial to be built (16.04)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-26 09:26:41 -07:00
Miika Turkia
692ef8f141 Add wily to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21 13:11:12 -07:00
Dirk Hohndel
5b1d7541dd Update the packaging script to my latest version
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:15:42 -07:00
Dirk Hohndel
dc47003e5b Update the build rules for .deb based builds
With this we also give up on building daily builds on Ubuntu 12.04
The cmake based infrastructure very much assumes Qt5 at this point.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:15:42 -07:00
Dirk Hohndel
6dc2d7ba18 Start building packages for vivid
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-22 08:38:58 -08:00
Dirk Hohndel
31a6f3c383 Handle building beta packages
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-23 16:51:58 -08:00
Dirk Hohndel
5e0abd8829 Finally deal with incrementing the serial number of the build
I know, I know. This should never have been hard coded.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 14:15:30 -08:00
Dirk Hohndel
90f931dabe Attempt to build for Ubuntu 12.04 as well
And fix a silly typo in the Debian/Ubuntu control file

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 13:02:52 -08:00
Dirk Hohndel
b8af46a33e Another tiny change for OBS
As expected, switching to subsurfacedaily as package name turned out to be a
massive PITA.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:24:16 -08:00
Dirk Hohndel
72a78f6c2d Next attempt to get the OBS subsurfacedaily naming right
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 11:41:06 -08:00
Dirk Hohndel
38278c9c71 Revert "Make the daily builds on OBS distinct from the releases"
This reverts commit 7a7ce2c5e0.

Shouldn't have pushed that one :-)

The fix was to modify the spec file, not the name of the directory and tar
file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:03:47 -08:00
Dirk Hohndel
7a7ce2c5e0 Make the daily builds on OBS distinct from the releases
This way there should be less confusion

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 09:19:06 -08:00
Dirk Hohndel
f42a83f4b2 Linux package generation: integrate and automate OBS and Ubuntu PPA
This is still quite fragile and isn't enough for anyone to run it, but it
captures where I am in the automation process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:48:27 -08:00
Dirk Hohndel
028bd1e235 Ubuntu packaging: this works better for changelog
Tiny change, specify the version as the tools get it wrong by default

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 14:52:32 -08:00
Dirk Hohndel
5e9c491f19 Ubuntu packaging: add support for better changelog tracking
This now assumes that a running changelog is maintained in
src/debian.changelog, i.e., at the same level as the subsurface tree; the
organization now should look like this:

src/debian.changelog
src/subsurface                 # subsurface git checkout
src/subsurface/libdivecomputer # libdivecomputer git Subsurface-xx branch
src/subsurface/marble-source   # marble git Subsurface-xx branch
src/subsurface/libgit2         # libgit2 git checkout

Instead of running dh_make to create all new debian build files, we add the
necessary files in our script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 10:21:23 -08:00
Dirk Hohndel
f559f6c870 Ubuntu packaging: Create the correct libdivecomputer version
Since we strip the .git data from the source tree (to conserve space and not
violate the packaging guidelines - or at least not violate THAT packaging
guideline) we need to create the correct revision before the tar file of sources
is packaged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12 11:39:46 -08:00
Dirk Hohndel
c9f927d547 Updates to Ubuntu package building process
Marble can't be static, so instead we build a shared library but give it a
different name so it can be installed in parallel with the "real"
libmarblewidget.so.

Also make sure that the correct libusb is installed so that Atomics Aquatics
dive computers are supported.

Fixes #782

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 13:08:35 -08:00
Dirk Hohndel
18159b6265 Minor tweak to Ubuntu package building
12.04 can't build our Qt5 based package, so let's just drop it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 09:45:53 -07:00
Miika Turkia
bac2b92860 Add utopic and precise to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-07 09:42:14 -06:00
Dirk Hohndel
8f224c1737 Ubuntu packaging: move support files into debian directory
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-03 09:39:57 -08:00
Dirk Hohndel
89c333e4b6 Ubuntu packaging: remove .git trees from sources
Oops, I thought I had done that but that was flat out wrong.
Now the source upload shrinks from over 70MB to around 26MB. Much better.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 22:11:23 -08:00