Bug 252987

Summary: [new port] sysutils/g15daemon: daemon for Logitech G15 Keyboards
Product: Ports & Packages Reporter: Daniel Menelkir <menelkir>
Component: Individual Port(s)Assignee: Guangyuan Yang <ygy>
Status: Closed FIXED    
Severity: Affects Many People CC: fernape, ygy
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 253009    
Attachments:
Description Flags
g15daemon-v1.diff
none
g15daemon-v2.diff
none
g15daemon-v3.diff
none
g15daemon-v4.diff
none
v5
none
v6
none
v7
none
v8
menelkir: maintainer-approval+
v9
none
v10
none
v11 none

Description Daniel Menelkir 2021-01-25 02:16:32 UTC
Created attachment 221891 [details]
g15daemon-v1.diff

G15daemon is a daemon for use the G-Buttons and draw on the Logitech G15 Keyboards and compatibles. I've updated the software so now it proper compiles in FreeBSD.
The port compiles pretty fine and the LCD works as expected (I'm able to draw on the screen with other utilities). The G-keys doesn't work yet.
Comment 1 Daniel Menelkir 2021-01-25 02:20:13 UTC
Created attachment 221892 [details]
g15daemon-v2.diff

Fixed some typos in the rc script.
Comment 2 Daniel Menelkir 2021-01-25 02:29:52 UTC
Created attachment 221893 [details]
g15daemon-v3.diff

Forgot the versioning in the plugin path (I'll change this in the next release).
Comment 3 Daniel Menelkir 2021-01-25 18:23:07 UTC
Created attachment 221915 [details]
g15daemon-v4.diff

Builds without gcc and fixed pkg-plist.
Comment 4 Daniel Menelkir 2021-03-13 22:51:27 UTC
Created attachment 223239 [details]
v5

Minor fixes and polish the code.
Comment 5 Daniel Menelkir 2021-04-29 17:13:20 UTC
Reopened and polishing the code.
Comment 6 Daniel Menelkir 2021-04-29 17:14:43 UTC
Created attachment 224544 [details]
v6

Various fixes and polish the code.
Depends on bug #254262 and bug #255493.
Comment 7 Daniel Menelkir 2021-05-27 20:55:55 UTC
Created attachment 225327 [details]
v7

Polished the code and bump the version. 
g15daemon.conf was being created in /etc instead of /usr/local/etc.
Comment 8 Daniel Menelkir 2021-07-06 22:40:25 UTC
Friendly ping. I know the code itself could be improved, but I don't have too much experience on FreeBSD hardware. Despite of this, I've make it work on FreeBSD way better than the original code (I'm using as a daily driver by months already).
Comment 9 Daniel Menelkir 2021-07-14 19:21:30 UTC
Created attachment 226470 [details]
v8

Bumped version to 3.0.3:
The code is cleaner. I've removed most of the warnings and fixed some other things. The compatibility with FreeBSD is done. You can use the g15daemon options offered by some DEs (KDE, etc) without any extra fuzz (xmodmap still optional if you want to remap G-Keys to something else such as extra function keys). 
The functionality now is exactly the same as linux.
Comment 10 Daniel Menelkir 2021-08-13 08:40:03 UTC
Created attachment 227155 [details]
v9

Bumped version to 3.0.5

* Some internal changes
* M-Keys leds now works as used
Comment 11 Guangyuan Yang freebsd_committer 2021-08-13 08:52:47 UTC
(In reply to Daniel Menelkir from comment #10)

Hi Daniel, thanks for submitting this! Looks good to my eyes, just some minor nits:

- %%PREFIX%% can be used in the patches for /usr/local.
- pkg-descr can definitely be enriched. I found this from your WWW which sounds like a good starting point, and feel free to throw more information in it: 

"G15daemon  takes control of the G15 keyboard, allowing the use of all keys through the uinput device driver.
It  also controls  the use of the keyboard's LCD display, allows multiple, simultaneous client applications
to connect, and gives  the  user the  ability to switch between client apps at the press of a button."
Comment 12 Daniel Menelkir 2021-08-13 09:02:42 UTC
(In reply to Guangyuan Yang from comment #11)

Yeah I've tried the %%PREFIX%% before, but for some reason it keeps trying to write in /etc instead of /usr/local/etc, I'm not really sure how to proceed here, any tips?
I've changed the pkg-descr, but I'll wait to send another diff to have all the fix together in one patch.
Comment 13 Daniel Menelkir 2021-08-13 09:12:02 UTC
Created attachment 227157 [details]
v10

I've changed the pkg-descr and added the post-patch into Makefile.
Comment 14 Guangyuan Yang freebsd_committer 2021-08-13 22:33:53 UTC
(In reply to Daniel Menelkir from comment #13)

I got this error from a Poudriere build:

http://jenkins.ygy.io/job/freebsd-ports-testing-13.0R-amd64/605/console
Comment 15 Daniel Menelkir 2021-08-13 22:47:38 UTC
Created attachment 227169 [details]
v11

(In reply to Guangyuan Yang from comment #14)

Had extra stuff on pkg-plist, fixed.
Comment 16 commit-hook freebsd_committer 2021-08-14 00:26:17 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a9bf6e05715247ac5bd90405b90bfebd6af35c29

commit a9bf6e05715247ac5bd90405b90bfebd6af35c29
Author:     Daniel Menelkir <menelkir@itroll.org>
AuthorDate: 2021-08-14 00:25:15 +0000
Commit:     Guangyuan Yang <ygy@FreeBSD.org>
CommitDate: 2021-08-14 00:25:15 +0000

    sysutils/g15daemon: New port: Daemon for Logitech G15 Keyboards

    PR:             252987

 sysutils/Makefile                           |  1 +
 sysutils/g15daemon/Makefile (new)           | 31 +++++++++++++++++++++++++++++
 sysutils/g15daemon/distinfo (new)           |  3 +++
 sysutils/g15daemon/files/g15daemon.in (new) | 27 +++++++++++++++++++++++++
 sysutils/g15daemon/pkg-descr (new)          |  7 +++++++
 sysutils/g15daemon/pkg-plist (new)          | 16 +++++++++++++++
 6 files changed, 85 insertions(+)
Comment 17 Guangyuan Yang freebsd_committer 2021-08-14 00:31:56 UTC
Committed, thanks!