Skip to content

Conversation

@hoffie
Copy link
Member

@hoffie hoffie commented Mar 19, 2022

Short description of changes

  • Autobuild: Add Linux .deb armhf (Raspberry) 32bit builds
    This uses the existing build logic, but makes it cross-compiler aware.

  • Build: Use bash as shell and fail on errors in linux/deploy.deb

CHANGELOG: Autobuild: Added experimental support for armhf (Raspberry-compatible) Linux .deb packages

Context: Fixes an issue?

Fixes #1452

Does this change need documentation? What needs to be documented and how?

Though not required, it would be helpful to advertise this.
This is tracked here: jamulussoftware/jamuluswebsite#728

Status of this Pull Request

Builds, binary has the proper arch and headless binary works on my RPi 3 Model B.

$ file ./usr/bin/jamulus-headless
./usr/bin/jamulus-headless: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=dd4c54e78824cabcc13e2396f828b078e227f382, stripped

What is missing until this pull request can be merged?

  • It would be good to have actual tests on other Raspberry models
  • It would be good to have actual tests of a Jamulus client

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I tested my code and it does what I want
  • My code follows the style guide
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
  • I've filled all the content above

@hoffie hoffie added this to the Release 3.9.0 milestone Mar 19, 2022
@hoffie hoffie requested a review from softins March 19, 2022 16:48
@ann0see
Copy link
Member

ann0see commented Mar 20, 2022

So we need to run this on every PR? I‘d like to save resources and only build on merge to master and release tags. Yes there’s the argument that we don’t see breakage soon – however the intel build is very similar.

@hoffie
Copy link
Member Author

hoffie commented Mar 20, 2022

So we need to run this on every PR? I‘d like to save resources and only build on merge to master and release tags. Yes there’s the argument that we don’t see breakage soon – however the intel build is very similar.

I understand the desire to save ressources, but we should have a consistent plan there. When is a build different enough to allow for skipping it? We build Windows for 32bit & 64bit as well. Aren't they very similar? We build headless on each run as well, isn't it very similar?
I see a huge benefit of building all supported architectures on all code/build-related PRs.

Basically, I think we should have this discussion here:
#2282 (comment)

... and do in this PR what has been done for the other platforms as well. :)

Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving since the CI seems to be ok, but should still be tested on a real Raspberry Pi.

@ann0see ann0see added the needs documentation PRs requiring documentation changes or additions label Mar 20, 2022
Copy link
Member

@softins softins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes look sane. I haven't studied them in fine detail.

I downloaded the full artifact on my Pi4 with Raspbian 11 (32 bit), and it installed with no problems. I then ran it, did a few tests and listened to a session, and it seems to work fine.

@hoffie hoffie merged commit 6644ef8 into jamulussoftware:master Mar 21, 2022
@hoffie hoffie deleted the autobuild-armhf branch March 21, 2022 19:16
@ann0see
Copy link
Member

ann0see commented Jul 4, 2022

Since the related documentation issue is done, removing needs documentation

@ann0see ann0see removed the needs documentation PRs requiring documentation changes or additions label Jul 4, 2022
@softins softins mentioned this pull request Mar 24, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide Debian/Ubuntu ARM builds

4 participants