immich-go icon indicating copy to clipboard operation
immich-go copied to clipboard

JFYI...AUR package

Open jonathanjsimon opened this issue 1 year ago • 23 comments

Just letting you know I've published an AUR package for immich-go.

https://aur.archlinux.org/packages/immich-go-bin

jonathanjsimon avatar Jan 02 '24 20:01 jonathanjsimon

Thank you. Let me know how I can improve the program / release to facilitate you work

simulot avatar Jan 02 '24 20:01 simulot

It's a pretty simple package. All I do is grab the sha256 sums for a given release and put them in the PKGBUILD with the new package version. You already publish those so I think we're good to go. :-)

jonathanjsimon avatar Jan 02 '24 21:01 jonathanjsimon

Good, I'll update the installation section in the readme.md

simulot avatar Jan 02 '24 21:01 simulot

@simulot - why are you using goreleaser instead of GitHub Actions? I've never used goreleaser, so I don't really understand the benefit of it. :thinking:

erkexzcx avatar Jan 17 '24 08:01 erkexzcx

The benefit of goreleaser are: it include the commit ID in the binaries it builds all combination of architecture / os at once. and release the whole thing

simulot avatar Jan 17 '24 08:01 simulot

Feel free to edit the installation section readme and submit a PR

simulot avatar Jan 17 '24 08:01 simulot

@simulot would you like to use GH actions?

I can submit PR and let the others judge and/or improve it, but if it's not what you want - there is no need for it. 🤔

erkexzcx avatar Jan 21 '24 16:01 erkexzcx

Why not. What is possible?

simulot avatar Jan 21 '24 17:01 simulot

Basically any automation you would like to have. You can implement various stuff:

  • Build more than just binary (e.g. Docker image, for whatever reason)
  • You can also maintain AUR package yourself, automatically. Literally all you would do is to trigger a release and it gets updated automatically.
  • I assume GH Actions are more popular than goreleaser.
  • You can implement automated tests on each commit/PR. Linting as well.
  • I am not certainly sure what is the situation with goreleaser, but I assume people would be able to inspect your GH Actions logs and verify that binaries were built in an automatic, versioned way. I don't know how to call this, but basically a trust - people would be able to verify that binaries do not contain something that is not available in your git code.

I don't know what would be the best way to automate releases, but at least what I do with my project is that I create a new release in GitHub, workflows are being triggered and they build binaries and upload to my created release.

I think you can also generate release message out of commits (just like you do now), I just don't know how to do it yet. It's definitely possible.

Also you would be using public GitHub runners, free of charge, so there is nothing you need to run on your own machine/server.

I think it's up to you to decide whether you are interested in GitHub Actions. If you don't need them, than there is no point to switch to GH Actions. Let me know what you think! :slightly_smiling_face:

erkexzcx avatar Jan 22 '24 08:01 erkexzcx

@simulot Happy to add you as a maintainer or transfer ownership of the AUR to you if you would like.

jonathanjsimon avatar Jan 22 '24 15:01 jonathanjsimon

@jonathanjsimon I'm not ready yet

simulot avatar Jan 22 '24 17:01 simulot

@simulot no pressure, just making the offer 😁

jonathanjsimon avatar Jan 22 '24 17:01 jonathanjsimon

I have started CI aand github actions. Feel free to propose a pipeline to generate AUR and or .deb packages

simulot avatar Feb 18 '24 16:02 simulot

Btw, the AUR package is no more as immich-go is now in arch [extra].

jonathanjsimon avatar Apr 02 '24 03:04 jonathanjsimon

I'm not familiar with arch. who is packaging the app?

simulot avatar Apr 02 '24 10:04 simulot

https://archlinux.org/packages/extra/x86_64/immich-go/ has his info. His other packages include a lot of projects I've seen before so you're in good company.

jonathanjsimon avatar Apr 02 '24 10:04 jonathanjsimon

Hi, can you please add a replaces directive to the PKGBUILD? With this right now, installing immich-go will fail if immich-go-bin is installed. https://wiki.archlinux.org/title/PKGBUILD#replaces

CommanderRedYT avatar Apr 07 '24 15:04 CommanderRedYT

I don't understand what you are asking for. Sorry.

It's maybe possible for me to generate the package using the github actions. Just tell me how to do.

simulot avatar Apr 07 '24 15:04 simulot

Archlinux is using PKGBUILD files for distribution. There you can say that the new package immich-go replaces the old immich-go-bin from AUR. This well make sure it does not break existing installs

CommanderRedYT avatar Apr 07 '24 16:04 CommanderRedYT

https://gitlab.archlinux.org/archlinux/packaging/packages/immich-go/-/blob/main/PKGBUILD This is the PKGBUILD file for this project.

  • It does not say it replaces the old immich-go-bin package, which does not exist anymore (https://wiki.archlinux.org/title/PKGBUILD#replaces)
  • It is using a custom license which is not getting installed (https://wiki.archlinux.org/title/PKGBUILD#license)

CommanderRedYT avatar Apr 07 '24 16:04 CommanderRedYT

Sorry, I have no idea how to do that. I haven't done the initial package.

I need to choose a licence as well

simulot avatar Apr 07 '24 16:04 simulot

@CommanderRedYT you'd have to contact the packager of the [extra] package. @simulot is not that person. See my comment a few days ago for that person's info.

jonathanjsimon avatar Apr 07 '24 20:04 jonathanjsimon

It's done. I choose the AFFERO licence, same as the immich-app Thanks for your actions

simulot avatar Apr 08 '24 08:04 simulot

@jonathanjsimon is possible to produce NIX artifacts during the github release pipeline?

simulot avatar Feb 14 '25 17:02 simulot

@simulot possibly, but I have zero experience with that. I'm quite busy ATM so I don't think I can offer any assistance.

jonathanjsimon avatar Feb 14 '25 18:02 jonathanjsimon