jahnf / Projecteur

Linux Desktop Application for the Logitech Spotlight device (and similar devices) - Digital Laser Pointer
MIT License
379 stars 33 forks source link

Provide Linux packages for Popular distributions (Ubuntu/Fedora/Opensuse/Arch...) #17

Closed andyanderso closed 5 years ago

andyanderso commented 5 years ago

First of all thank you for building this program!

Any chance someone could compile a .deb release for ubuntu? or set up a repo for the package?

This would be for those of us who are not as competent at building the program from scratch.

ocelotsloth commented 5 years ago

If nobody else takes this I would certainly be interested in generating a release build this weekend. I'll set a reminder for myself.

jahnf commented 5 years ago

@andyanderso: Binary packages would be really helpful, and CMake also supports .deb package generation via CPack, but then again there's a lot to consider:

jahnf commented 5 years ago

@ocelotsloth Thank you that would be really helpful. If you say release build, do you mean from the master branch? Right now the master branch is a little far behind develop. I would create a version 0.4 if that helps.

ocelotsloth commented 5 years ago

@jahnf I was thinking more along the lines of an automated build. That way it doesn't need to be hand-built over and over again. That would also allow for fairly easy extension to other packages like Arch.

jahnf commented 5 years ago

@ocelotsloth Perfect, that sound great, thanks for approaching this.

andyanderso commented 5 years ago

Wow! Thanks, guys. I would love to help if I can. I am a novice at the coding part of things but would love to contribute some way. How can I help?

jahnf commented 5 years ago

Maybe https://build.opensuse.org could be utilized. It's a multi-platform/distribution build/packaging build-service.

poppj commented 5 years ago

I would highly appreciate a .deb package as well.

jahnf commented 5 years ago

I am planning to have something in place for the next release. I'd like to support as many popular Linux distributions as possible (with the least effort of course :grinning: ). I will look into https://build.opensuse.org, which supposibly is good, but I have never used it.

If anyone has experience with such services and wants to help please let me know. Support for CPack and creating a binary package from CMake is one thing, but also the udev rule file will look different for each distribution (e.g. the group in the rules, but probably also the location where to install it) - Another thing I can think of is to create a .desktop file so users will find the application in their application menus.

jahnf commented 5 years ago

Updated plan:

jahnf commented 5 years ago

Some Linux packages (Ubuntu 16.04, Ubuntu 18.04, Debian 9 (stretch), OpenSuse 42.3, OpenSuse 15.0) are now automatically built with every change within the travis CI build on the develop branch and uploaded to https://dl.bintray.com/jahnf/Projecteur/packages/branches/develop

Feel free to try them, feedback is appreciated - All Linux packages will create a group spotlight-device that is used within the installed udev rule file. The user running the program has to be member of that group.

poppj commented 5 years ago

Thank you for your great work. The installation with the new package worked fine. Unfortunately it always says "Device connected: False" in the Preferences window. No matter if I connect my device via bluetooth or via USB.

jahnf commented 5 years ago

@poppj : Okay, to be able to better narrow down why the device is not detected, could you please run the following commands and show what they return? Also: did you add your user to the spotlight-device group created by the linux package?

If your user is already in the spotlight-device group, could you try to run sudo udevadm control --reload-rules and sudo udevadm trigger which will reload the udev rules.

Edit: In future the udevadm commands should probably be run as part of the package installation. I will fix this in the next few days. Edit2: Added issue #20 which should give the user more diagnostics information in future when implemented.

jahnf commented 5 years ago

@poppj Before going through the hassle of running all the commands in my previous comment, you can try the latest package. Your user needs to be in the spotlight-device group. When adding a user to a group you need to logout and login again with that user to take full effect unforunately.

poppj commented 5 years ago

@jahnf Thank you for the support. After logout and login it works perfectly fine. Great work!

jahnf commented 5 years ago

I am closing this issue as I am preparing a 0.5 release, as packages are now automatically built - Fedora and Arch Linux package builds will still follow in the future.