Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging as a .deb #453

Open
philseeley opened this issue Oct 9, 2024 · 3 comments
Open

Packaging as a .deb #453

philseeley opened this issue Oct 9, 2024 · 3 comments

Comments

@philseeley
Copy link

Hi @ardera,

I have an app that's dependent on flutter-pi that I'll be distributing as a .deb from a PPA repository.

Therefore I'll need to package flutter-pi as well. The options I see are:

  1. Package flutter-pi in my app .deb.
  2. Package flutter-pi in its own .deb and publish in my PPA repo.
  3. As 2. but publish in your own PPA repo.
  4. Publish to Debian repo.

There are lots of additional requirements to satisfy to make it into one of the proper Debian repos, so I don't think we're ready for no 4. yet.

My preference would definitely be to package flutter-pi as a separate .deb and I think it would be better for you to have control over releases, so option 3.

I can package and test a flutter-pi .deb and submit a pull request to you, but you would then have to decide where you would host your PPA. I'm hosting mine on github.io here.

I'll probably put in a CI integration for my app to produce .deb packages for multiple architectures (amd64, arm64) and can also do this for flutter-pi, but again you would need to add the publishing part.

I think this approach would also satisfy issues #387 and #375.

Many thanks for all your work on such a great project.

Cheers
Phil

@philseeley
Copy link
Author

Hi @ardera,

I've done a first cut of packaging and published the .debs in my PPA:

https://philseeley.github.io/debian-ppa/

What I've also noticed is that the flutterpi_tool downloads and adds flutter-pi to the assets directory and therefore it gets packages with the app. Unfortunately these downloads don't support all the available libraries, specifically they're missing "libseat" and being able to switch consoles is very useful.

If you could link your download with "libseat", then I'd be happy packaging flutter-pi in my app .deb.

Thanks
Phil

@ardera
Copy link
Owner

ardera commented Nov 1, 2024

Sorry for the delay, I was away for the past few weeks.

I'm a bit split about libseat, it's not available in debian bullseye, so I'd have to either statically link it, or try loading it at runtime in flutter-pi, or somehow provide multiple flutter-pi binary variants (one with libseat and one without).

But in general, this is a good idea, and I'm also in favor of the third option you listed. I'll look into it.

@philseeley
Copy link
Author

Hi @ardera,

I found that libseat is available in the "bullseye backports" repo, so I've been building my bullseye .deb files linked with that.

The flutter-pi .deb packages in my Debian PPA are:

flutter-pi_1.0.0-d11_amd64.deb
flutter-pi_1.0.0-d11_arm64.deb
flutter-pi_1.0.0-d12_amd64.deb
flutter-pi_1.0.0-d12_arm64.deb
flutter-pi_1.0.0-d12_armhf.deb

d11 = bullseye
d12 = bookworm

The 32bit arm one (armhf) is a go at supporting the CoreMP135. This is related to your issue #437.

If you decide to go down the .deb route, where would you get the version number from? I've made a first guess at:

version=$(awk -F '"' '/^project(flutter-pi/ {print $2}' CMakeLists.txt)

I can submit a pull request for you to see the packaging or take a look at my fork:

https://github.com/philseeley/flutter-pi

Thanks for all your work
Phil

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

No branches or pull requests

2 participants