-
Notifications
You must be signed in to change notification settings - Fork 31
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 process and systemd service #43
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have some suggestions:
- Let's build the package on GH Actions and not put it in the repo
- Move all release scripts into a subfolder, maybe
release/
- Add trailing newlines to the end of files (I don't get why vscode doesn't do that)
d333a86
to
93e7aae
Compare
@JohnAZoidberg all good suggestions! I've implemented them all. Put the new |
9a55c4f
to
247bc18
Compare
93e7aae
to
5535376
Compare
@JohnAZoidberg same question here! (Although this is currently just merging into my other branch :)) |
20b25e8
to
2b678b1
Compare
Closes #47 .
This adds a very simple packaging process and
systemd
service file for theinputmodule-rs
to run. I have it running theledmatrix
by default now but the idea is to quickly iterate on this to a more general service to take commands viadbus
or similar as we've discussed!For now, it generally works. To cut a release, run
./release.sh
. It'll installfpm
(https://github.com/jordansissel/fpm) if you're missing it and use it to package up the binary that cargo builds into a.deb
.Once you install the package with
dpkg -i <package-name>.deb
, it'll run a postinstall script to install theudev
rule and it will automatically add thesystemd
service and start it. It should persist between reboots.Some other things to consider:
release.sh
as part of the build, eventually convert it to aMakefile
, or eventually use something likebazel
to run the build and packaging process if we want to get really fancy.debs
, but I included one to easily try installing it withdpkg
.rpm
for RHEL-based distros eventually