Add debian/ dir & build packages in CI (for Debian and derivatives)#235
Add debian/ dir & build packages in CI (for Debian and derivatives)#235tenzap wants to merge 2 commits intoHemantKArya:mainfrom
Conversation
|
BTW I think it would be nice if you could provide the icon of the app (for the the desktip menu & app icon...) in svg format. That way we wouldn't have to create the picture for each size. |
95d2054 to
52abe6a
Compare
|
Updated for 2.12.5+183-1 @HemantKArya, any chance to see this merged? Building & providing the deb would fix #232 & #65, maybe #64 depending on which distribution the reporter uses. Also #211 (zorin-os is a debian/ubuntu derivative). |
|
Hi @tenzap, thanks for this commit, Actually I was just busy with some work so unable to get time for review this but as soon as I will review it then I will definitely merge it. |
|
Each distribution ships different versions of the libraries (eg glibc). It is much safer (wrt their version) to have a binary package fully built from sources for that specific version of Linux (Debian or Ubuntu...). On Launchpad PPA https://launchpad.net/ubuntu/+ppas a source package is also built for each supported version of Ubuntu. But in your case this can't be done because your build scenario requires to download a lot a things (flutter and depencies) from the internet at build time. And the PPA builders dont have network access (which is by design). |
|
I updated this for v3.0.2 |
Keep in mind that: - when you update/set the version for a release, it has to be updated in debian/changelog as well. However, the github actions workflow will set it again to build the deb. - when you update the flutter version you should also update the version in debian/rules. The build will fail by design if it is not the same version as the one in your github actions job. For now I have disabled the tests because one test fails. It can be reenabled once the tests PASS. Note that this cannot stricly follow the "Debian policy" since (among other reasons), to build the binary package, we have to download flutter SDK from the internet as well as rustup for older distributions. The github actions job produces the binary packages (*.deb) for 6 suites: - Debian 11 bullseye - Debian 12 bookworm - Debian 13 trixie - Ubuntu 22.04 jammy - Ubuntu 24.04 noble - Kali rolling I can confirm that it runs perfectly on Debian bookworm. I can't test the other, but they should work as well.
|
@HemantKArya see previous message. What is blocking the merge? |

Keep in mind that:
${{ github.run_number }} + 121when you update the flutter version you should also update the version inWith the update to 2.12.5, the version is fetched from the github actions workflow. So no additional maintenance is required here.debian/rules. The build will fail by design if it is not the same version as the one in your github actions job.For now (2.12.4) I have disabled the tests because one test fails. It can be reenabled once the tests PASS.→ Tests pass with 2.12.5, so they are enabled again.Note that this cannot stricly follow the "Debian policy" since (among other reasons), to build the binary package, we have to download flutter SDK from the internet as well as rustup for older distributions.
As you can see for 2.12.4+178-1 and for 2.12.5+183-1, the github actions job produces successfully the debs for 6 suites:
I can confirm that it runs perfectly on Debian bookworm. I can't test the other, but they should work as well.