Compare commits
34 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c020adba11 | ||
|
|
c66b3060b1 | ||
|
|
33fa35ca05 | ||
|
|
07535dcee7 | ||
|
|
151bf46153 | ||
|
|
20dd3b8450 | ||
|
|
9f03b9c7e4 | ||
|
|
51cd5071ba | ||
|
|
fc9248c83e | ||
|
|
6a71d1ab2f | ||
|
|
cddfd1183f | ||
|
|
d36383852d | ||
|
|
c45fcaa715 | ||
|
|
498d0f8713 | ||
|
|
14c556a920 | ||
|
|
f6e6ab8516 | ||
|
|
716277fe3a | ||
|
|
9e3400488e | ||
|
|
913d454197 | ||
|
|
f0d8b24866 | ||
|
|
71b03017a3 | ||
|
|
75f225c306 | ||
|
|
d7885bbd8d | ||
|
|
968836e0d9 | ||
|
|
3e12e8a56d | ||
|
|
6c9f7a47b1 | ||
|
|
36c6ed45f0 | ||
|
|
f29124c7c0 | ||
|
|
4923e2774f | ||
|
|
188765fd31 | ||
|
|
db06dd79dd | ||
|
|
c5c32fc7a0 | ||
|
|
4b11dfdde3 | ||
|
|
05847a3af9 |
14 changed files with 502 additions and 73 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -3,3 +3,5 @@ lcdproc-0.5.3.tar.gz
|
|||
/lcdproc-0.5.4.tar.gz
|
||||
/lcdproc-0.5.6.tar.gz
|
||||
/lcdproc-0.5.7.tar.gz
|
||||
/lcdproc-781b311.tar.gz
|
||||
/lcdproc-5c21e8c.tar.gz
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
From 1c6be22c5eeea9a7f83192153b282b6002b89923 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 12 Apr 2021 22:44:06 +0200
|
||||
Subject: [PATCH] server/drivers/g15: Add support for the LCD on Logitech Z-10
|
||||
speakers
|
||||
|
||||
The LCD on Logitech Z-10 speakers uses the exact same protocol as on
|
||||
the g15 keyboards, add the USB-id + HID-descriptor header of the
|
||||
USB-intf. for the LCD.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
server/drivers/g15.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/server/drivers/g15.c b/server/drivers/g15.c
|
||||
index 154e253..48f5fe5 100644
|
||||
--- a/server/drivers/g15.c
|
||||
+++ b/server/drivers/g15.c
|
||||
@@ -90,6 +90,10 @@ static const struct lib_hidraw_id hidraw_ids[] = {
|
||||
{ { BUS_USB, 0x046d, 0xc22e },
|
||||
{ 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02,
|
||||
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x07 } },
|
||||
+ /* Z-10 */
|
||||
+ { { BUS_USB, 0x046d, 0x0a07 },
|
||||
+ { 0x06, 0x00, 0xff, 0x09, 0x00, 0xa1, 0x01, 0x15,
|
||||
+ 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08 } },
|
||||
/* Terminator */
|
||||
{}
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
57
90-lcdproc.rules
Normal file
57
90-lcdproc.rules
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# lcdproc udev rules
|
||||
|
||||
ACTION!="add", GOTO="lcdproc_end"
|
||||
|
||||
### 1. Check for USB LCD panels which we access directly through libusb ###
|
||||
|
||||
# Till Harbaum's LCD2USB device
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c630", GOTO="lcdproc_lcd_found"
|
||||
|
||||
### 2. Check for HID LCD panels accessed through their hidraw device ###
|
||||
|
||||
# Logitech MX5000 keyboard Bluetooth and USB (BT receiver as HID-proxy) modes
|
||||
DEVPATH=="*/0003:046D:B305.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
DEVPATH=="*/0005:046D:B305.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
|
||||
# Logitech MX5500 keyboard Bluetooth and USB (BT receiver as HID-proxy) modes
|
||||
DEVPATH=="*/0003:046D:B30B.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
DEVPATH=="*/0005:046D:B30B.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
|
||||
# Logitech G15 gaming keyboard
|
||||
DEVPATH=="*/0003:046D:C222.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
|
||||
# Logitech G15 v2 gaming keyboard
|
||||
DEVPATH=="*/0003:046D:C227.*/hidraw/hidraw*", GOTO="lcdproc_lcd_found"
|
||||
|
||||
# Logitech G510 gaming keyboard, note we only want interface 1
|
||||
DEVPATH=="*/0003:046D:C22D.*/hidraw/hidraw*", ATTRS{bInterfaceNumber}=="01", GOTO="lcdproc_lcd_found"
|
||||
DEVPATH=="*/0003:046D:C22E.*/hidraw/hidraw*", ATTRS{bInterfaceNumber}=="01", GOTO="lcdproc_lcd_found"
|
||||
|
||||
# Logitech Z-10 speakers with G15 style LCD screen, note we only want interface 2
|
||||
DEVPATH=="*/0003:046D:0A07.*/hidraw/hidraw*", ATTRS{bInterfaceNumber}=="02", GOTO="lcdproc_lcd_found"
|
||||
|
||||
### 3. Check for input devices for LCD menu buttons ###
|
||||
|
||||
# Logitech G15, G15 v2 and G510 Gaming and LCD menu keys
|
||||
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Logitech Gaming Keyboard Gaming Keys", GOTO="lcdproc_input_found"
|
||||
# Logitech MX5000 keyboard connected over Bluetooth
|
||||
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Logitech MX5000 Keyboard", GOTO="lcdproc_input_found"
|
||||
# Logitech MX5000 keyboard connected through its receiver in USB HID proxy mode
|
||||
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Logitech Wireless Keyboard PID:b305", GOTO="lcdproc_input_found"
|
||||
# Logitech Z-10 speakers LCD menu keys
|
||||
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Logitech Z-10 LCD Menu Keys", GOTO="lcdproc_input_found"
|
||||
|
||||
|
||||
### Nothing found, leave ###
|
||||
GOTO="lcdproc_end"
|
||||
|
||||
|
||||
LABEL="lcdproc_lcd_found"
|
||||
TAG+="systemd"
|
||||
ENV{SYSTEMD_WANTS}+="lcdproc.target"
|
||||
|
||||
LABEL="lcdproc_input_found"
|
||||
# Grant rw permission to the lcdd group using acl(5), for both LCD and input devs
|
||||
RUN+="/usr/bin/sh -c '/usr/bin/setfacl -m g:lcdd:rw %E{DEVNAME} 2>/dev/null || :'"
|
||||
|
||||
LABEL="lcdproc_end"
|
||||
9
LCDd-hwdetect.service
Normal file
9
LCDd-hwdetect.service
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=LCDd hardware detection Service
|
||||
After=syslog.target
|
||||
Before=LCDd.service
|
||||
ConditionPathExists=!/etc/lcdproc/LCDd.conf
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/LCDd-hwdetect
|
||||
179
LCDd-hwdetect.sh
Normal file
179
LCDd-hwdetect.sh
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
#!/bin/bash
|
||||
|
||||
lcd_device=""
|
||||
extra_lcd_devices=""
|
||||
lcd_driver=""
|
||||
input_name=""
|
||||
|
||||
add_device () {
|
||||
if [ -z "$lcd_device" ]; then
|
||||
lcd_device="$1"
|
||||
lcd_driver="$2"
|
||||
input_name="$3"
|
||||
elif [ "$1" != "$lcd_device" ]; then
|
||||
extra_lcd_devices="$extra_lcd_devices $1"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -f /etc/lcdproc/LCDd.conf ]; then
|
||||
echo "/etc/lcdproc/LCDd.conf already exists"
|
||||
echo "If you want LCDd-hwdetect to create a new config move it out of the way"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# USB devices where we use raw USB access (through libusb)
|
||||
if [ -d /sys/bus/hid/devices ]; then
|
||||
for i in $(cat /sys/bus/usb/devices/*/modalias); do
|
||||
case "$i" in
|
||||
usb:v0403pC630d*)
|
||||
add_device "lcd2usb" "hd44780"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# HID devices
|
||||
if [ -d /sys/bus/hid/devices ]; then
|
||||
pushd /sys/bus/hid/devices > /dev/null
|
||||
for i in $(ls); do
|
||||
case "$i" in
|
||||
# Logitech MX5000 connected through its receiver in USB HID proxy mode
|
||||
0003:046D:B305.*)
|
||||
add_device "mx5000" "mx5000" "Logitech Wireless Keyboard PID:b305"
|
||||
;;
|
||||
# Logitech MX5000 connected over bluetooth
|
||||
0005:046D:B305.*)
|
||||
add_device "mx5000" "mx5000" "Logitech MX5000 Keyboard"
|
||||
;;
|
||||
# Logitech MX5500 connected through its receiver in USB HID proxy mode
|
||||
# Note the MX5500's LCD menu buttons are not accessible by the host
|
||||
0003:046D:B30B.*)
|
||||
add_device "mx5500" "mx5000"
|
||||
;;
|
||||
# Logitech MX5500 connected over bluetooth, no usable LCD menu btns
|
||||
0005:046D:B30B.*)
|
||||
add_device "mx5500" "mx5000"
|
||||
;;
|
||||
# Logitech G15
|
||||
0003:046D:C222.*)
|
||||
add_device "g15" "g15" "Logitech Gaming Keyboard Gaming Keys"
|
||||
;;
|
||||
# Logitech G15 v2
|
||||
0003:046D:C227.*)
|
||||
add_device "g15-v2" "g15" "Logitech Gaming Keyboard Gaming Keys"
|
||||
;;
|
||||
# Logitech G510 without a headset plugged in, without USB audio intf.
|
||||
0003:046D:C22D.*)
|
||||
add_device "g510" "g15" "Logitech Gaming Keyboard Gaming Keys"
|
||||
;;
|
||||
# Logitech G510 with a headset plugged, with extra USB audio intf.
|
||||
0003:046D:C22E.*)
|
||||
add_device "g510" "g15" "Logitech Gaming Keyboard Gaming Keys"
|
||||
;;
|
||||
# Logitech Z10 speakers
|
||||
0003:046D:0A07.*)
|
||||
add_device "z-10" "g15" "Logitech Z-10 LCD Menu Keys"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
if [ -z "$lcd_device" ]; then
|
||||
echo "No known LCD devices detected"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Detected $lcd_device LCD device"
|
||||
if [ -n "$extra_lcd_devices" ]; then
|
||||
echo "Detected extra LCD devices:$extra_lcd_devices"
|
||||
echo "Multiple devices are not supported, these extra LCD devices will be ignored"
|
||||
fi
|
||||
|
||||
# Write LCDd.conf for the found device, also:
|
||||
# Disable the server screen in the rotation of screens
|
||||
# Disable the annoying blinking heartbeat by default
|
||||
# Disable title scrolling (set the speed to 0) most keyboard LCDs have
|
||||
# a low refresh rate making the scrolling look terrible
|
||||
cat /etc/lcdproc/LCDd.conf.example | \
|
||||
sed -e "s/^Driver=curses/Driver=$lcd_driver/" \
|
||||
-e "s/#ServerScreen=no/ServerScreen=no/" \
|
||||
-e "s/#Heartbeat=open/Heartbeat=off/" \
|
||||
-e "s/#TitleSpeed=10/TitleSpeed=0/" > \
|
||||
/etc/lcdproc/LCDd.conf
|
||||
|
||||
# Add input-device config if specified
|
||||
# Also set prev / next screen to up/down since non of the supported devices
|
||||
# has enough buttons to create mappings for both left and right
|
||||
# And uncomment the LeftKey and RightKey assignments so that they work
|
||||
# when they are available
|
||||
if [ "$input_name" ]; then
|
||||
sed -i -e "s|Driver=$lcd_driver|Driver=$lcd_driver\nDriver=linux_input|" \
|
||||
-e "s|PrevScreenKey=Left|PrevScreenKey=Up|" \
|
||||
-e "s|NextScreenKey=Right|NextScreenKey=Down|" \
|
||||
-e "s|# Device=/dev/input/event0|Device=\"$input_name\"|" \
|
||||
-e "s|#LeftKey=Left|LeftKey=Left|" \
|
||||
-e "s|#RightKey=Right|RightKey=Right|" \
|
||||
/etc/lcdproc/LCDd.conf
|
||||
fi
|
||||
|
||||
# Device specific config bits
|
||||
case "$lcd_device" in
|
||||
"lcd2usb")
|
||||
# This assume a 16x2 display as the lcd2usb board is typically sold with
|
||||
# this display on aliexpress / banggood. There are only 2 buttons making
|
||||
# menu navigation impossible. We map button 1 to toggling auto-rotate on/off
|
||||
# and button 2 to manually switching to the next screen
|
||||
sed -i -e 's/ConnectionType=4bit/ConnectionType=lcd2usb/' \
|
||||
-e 's/Keypad=no/Keypad=yes/' \
|
||||
-e 's/#Contrast=0/Contrast=600/' \
|
||||
-e 's/Size=20x4/Size=16x2/g' \
|
||||
-e 's/KeyMatrix_4_1=Enter/# Button config for lcd2usb, not enough buttons for menu navigation/' \
|
||||
-e 's/KeyMatrix_4_2=Up/# so we only do screen rotation control/' \
|
||||
-e 's/KeyMatrix_4_3=Down/KeyDirect_1=Enter/' \
|
||||
-e 's/KeyMatrix_4_4=Escape/KeyDirect_2=Right/' \
|
||||
/etc/lcdproc/LCDd.conf
|
||||
;;
|
||||
"g15"|"g15-2"|"g510"|"z-10")
|
||||
sed -i -e "s/# specify a non-default key map/# Keymap for the G15's 5 LCD-menu buttons/" \
|
||||
-e 's/#key=1,Escape/key=0x2b8,Escape/' \
|
||||
-e 's/#key=28,Enter/key=0x2b9,Left/' \
|
||||
-e 's/#key=96,Enter/key=0x2ba,Up/' \
|
||||
-e 's/#key=105,Left/key=0x2bb,Down/' \
|
||||
-e 's/#key=106,Right/key=0x2bc,Enter/' \
|
||||
-e 's/#key=103,Up//' \
|
||||
-e 's/#key=108,Down//' \
|
||||
/etc/lcdproc/LCDd.conf
|
||||
;;
|
||||
"mx5000")
|
||||
sed -i -e "s/# specify a non-default key map/# Keymap for the MX5000's 4 LCD-menu buttons/" \
|
||||
-e 's/#key=1,Escape/key=0x2b8,Escape/' \
|
||||
-e 's/#key=28,Enter/key=0x2b9,Up/' \
|
||||
-e 's/#key=96,Enter/key=0x2ba,Down/' \
|
||||
-e 's/#key=105,Left/key=0x2bb,Enter/' \
|
||||
-e 's/#key=106,Right//' \
|
||||
-e 's/#key=103,Up//' \
|
||||
-e 's/#key=108,Down//' \
|
||||
/etc/lcdproc/LCDd.conf
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Wrote /etc/lcdproc/LCDd.conf for $lcd_device using $lcd_driver driver"
|
||||
|
||||
# If there is no lcdproc.conf, generate one from the example file
|
||||
if [ -f /etc/lcdproc/lcdproc.conf ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
install -p -m 644 /etc/lcdproc/lcdproc.conf.example /etc/lcdproc/lcdproc.conf
|
||||
|
||||
# Device specific config bits
|
||||
case "$lcd_device" in
|
||||
"mx5000"|"mx5500")
|
||||
# The mx5000 and mx5500 do not do vertical-bars, disable load screen
|
||||
sed -i -e '73s/Active=True/Active=false/' \
|
||||
/etc/lcdproc/lcdproc.conf
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Wrote /etc/lcdproc/lcdproc.conf"
|
||||
|
|
@ -5,6 +5,8 @@ After=syslog.target
|
|||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/LCDd -c /etc/lcdproc/LCDd.conf
|
||||
User=root
|
||||
Group=lcdd
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
diff -up lcdproc-0.5.6/server/menuitem.c.gcc47 lcdproc-0.5.6/server/menuitem.c
|
||||
--- lcdproc-0.5.6/server/menuitem.c.gcc47 2012-08-19 16:29:08.000000000 +0200
|
||||
+++ lcdproc-0.5.6/server/menuitem.c 2013-01-05 18:51:44.442172506 +0100
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "widget.h"
|
||||
#include "screen.h"
|
||||
#include "menuitem.h"
|
||||
+#include "menuscreens.h"
|
||||
#include "menu.h"
|
||||
#include "drivers.h"
|
||||
|
||||
30
lcdproc-conf.patch
Normal file
30
lcdproc-conf.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
diff -up lcdproc-0.5.7/clients/lcdproc/lcdproc.conf~ lcdproc-0.5.7/clients/lcdproc/lcdproc.conf
|
||||
--- lcdproc-0.5.7/clients/lcdproc/lcdproc.conf~ 2014-03-23 11:22:07.000000000 +0100
|
||||
+++ lcdproc-0.5.7/clients/lcdproc/lcdproc.conf 2019-06-02 12:44:40.366733461 +0200
|
||||
@@ -39,7 +39,7 @@ ShowInvisible=false
|
||||
|
||||
[Iface]
|
||||
# Show screen
|
||||
-Active=True
|
||||
+Active=false
|
||||
|
||||
# Show stats for Interface0
|
||||
Interface0=eth0
|
||||
@@ -79,7 +79,7 @@ HighLoad=1.3
|
||||
|
||||
[TimeDate]
|
||||
# Show screen
|
||||
-Active=True
|
||||
+Active=false
|
||||
# time format [default: %H:%M:%S; legal: see strftime(3)]
|
||||
TimeFormat="%H:%M:%S"
|
||||
# date format [default: %x; legal: see strftime(3)]
|
||||
@@ -130,7 +130,7 @@ Active=false
|
||||
|
||||
[ProcSize]
|
||||
# Show screen
|
||||
-Active=false
|
||||
+Active=True
|
||||
|
||||
|
||||
[Disk]
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- lcdproc-0.5.7/configure.ac.orig 2014-05-30 12:25:58.038476546 +0100
|
||||
+++ lcdproc-0.5.7/configure.ac 2014-05-30 12:28:59.544408030 +0100
|
||||
@@ -314,7 +314,7 @@
|
||||
|
||||
if test "$enable_libftdi" = "yes"; then
|
||||
ifdef([PKG_CHECK_MODULES],
|
||||
- [PKG_CHECK_MODULES(LIBFTDI, libftdi >= 0.8,
|
||||
+ [PKG_CHECK_MODULES(LIBFTDI, libftdi1 >= 1.0,
|
||||
[AC_DEFINE(HAVE_LIBFTDI, [1], [Define to 1 if you have libftdi])],
|
||||
[ enable_libftdi=no ])],
|
||||
[AC_MSG_WARN([pkg-config not (fully) installed; drivers requiring libftdi may not be built])])
|
||||
3
lcdproc.rpmlintrc
Normal file
3
lcdproc.rpmlintrc
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
addFilter("conffile-without-noreplace-flag")
|
||||
addFilter("no-manual-page-for-binary")
|
||||
addFilter("incorrect-fsf-address")
|
||||
232
lcdproc.spec
232
lcdproc.spec
|
|
@ -1,20 +1,33 @@
|
|||
%global _hardened_build 1
|
||||
%global commit 5c21e8c75fbab53574275c8007f5af746e333144
|
||||
%global commitdate 20210209
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Summary: LCDproc displays real-time system information on a 20x4 backlit LCD
|
||||
Summary: Display real-time system information on a 20x4 back-lit LCD
|
||||
Name: lcdproc
|
||||
Version: 0.5.7
|
||||
Release: 11%{?dist}
|
||||
License: GPLv2
|
||||
URL: http://lcdproc.omnipotent.net
|
||||
Group: System Environment/Libraries
|
||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||
Version: 0.5.9
|
||||
Release: 26.%{commitdate}git%{shortcommit}%{?dist}
|
||||
# Automatically converted from old format: GPLv2 - review is highly recommended.
|
||||
License: GPL-2.0-only
|
||||
URL: http://lcdproc.org
|
||||
Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
||||
Source1: lcdproc.service
|
||||
Source2: LCDd.service
|
||||
Patch0: lcdproc-0.5.6-gcc47.patch
|
||||
Patch1: lcdproc-libftdi1.patch
|
||||
Source2: lcdproc.target
|
||||
Source3: LCDd.service
|
||||
Source4: LCDd-hwdetect.service
|
||||
Source5: LCDd-hwdetect.sh
|
||||
Source6: 90-lcdproc.rules
|
||||
Source7: lcdproc.sysusers
|
||||
Patch1: 0001-server-drivers-g15-Add-support-for-the-LCD-on-Logite.patch
|
||||
# lcdconf.conf tweaks:
|
||||
# 1. Enable ProcSize, this is quite useful to have
|
||||
# 2. Disable TimeDate, its info is duplicate with the MiniClock and it is ugly
|
||||
# 3. Disable network interface screen by default, since Fedora uses predictable
|
||||
# network interface names, having a simple default like Interface0=eth0 does
|
||||
# not work
|
||||
Patch99: lcdproc-conf.patch
|
||||
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: systemd
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
|
||||
|
|
@ -22,7 +35,7 @@ BuildRequires: freetype-devel
|
|||
%ifnarch s390 s390x
|
||||
BuildRequires: libhid-devel
|
||||
%endif
|
||||
BuildRequires: libusb-devel
|
||||
BuildRequires: libusb1-devel
|
||||
BuildRequires: lirc-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: openldap-devel
|
||||
|
|
@ -31,79 +44,96 @@ BuildRequires: docbook-dtds
|
|||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libftdi-devel
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: svgalib-devel
|
||||
%endif
|
||||
# For libftdi1
|
||||
BuildRequires: libtool autoconf automake
|
||||
BuildRequires: libg15render-devel
|
||||
BuildRequires: mx5000tools-devel
|
||||
BuildRequires: libtool autoconf automake
|
||||
BuildRequires: gcc make
|
||||
|
||||
%{?systemd_requires}
|
||||
|
||||
|
||||
|
||||
%description
|
||||
LCDproc is a client/server suite inclduding drivers for all
|
||||
LCDproc is a client/server suite including drivers for all
|
||||
kinds of nifty LCD displays. The server supports several
|
||||
serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216,
|
||||
LCDM001 (kernelconcepts.de), Wirz-SLI and PIC-an-LCD; and some
|
||||
LCDM001 (http://kernelconcepts.de), Wirz-SLI and PIC-an-LCD; and some
|
||||
devices connected to the LPT port: HD44780, STV5730, T6963,
|
||||
SED1520 and SED1330. Various clients are available that display
|
||||
things like CPU load, system load, memory usage, uptime, and a lot more.
|
||||
things like CPU load, system load, memory usage, up-time, and a lot more.
|
||||
See also http://lcdproc.omnipotent.net.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .gcc47
|
||||
%patch1 -p1 -b .ftdi
|
||||
chmod 644 server/drivers/timing.h
|
||||
|
||||
%autosetup -p1 -n %{name}-%{commit}
|
||||
# Fixup DriverPath
|
||||
sed -i -e 's|server/drivers|%{_libdir}/lcdproc|' LCDd.conf
|
||||
touch -r TODO LCDd.conf
|
||||
|
||||
|
||||
%build
|
||||
# This package has a configure test which uses ASMs, but does not link the
|
||||
# resultant .o files. As such the ASM test is always successful in a LTO
|
||||
# build. We can force code generation with the -ffat-lto-objects to make
|
||||
# the test work as expected.
|
||||
#
|
||||
# -ffat-lto-objects is the default for F33, but will not be for F34, so we
|
||||
# make it explicit here.
|
||||
%define _lto_cflags -flto=auto -ffat-lto-objects
|
||||
|
||||
autoreconf -vif
|
||||
%configure \
|
||||
--sysconfdir=%{_sysconfdir}/%{name} \
|
||||
--enable-libusb \
|
||||
--enable-drivers=all \
|
||||
--enable-permissive-menu-goto \
|
||||
--enable-lcdproc-menus \
|
||||
--enable-stat-nfs \
|
||||
--enable-stat-smbfs \
|
||||
--with-lcdport=13666 \
|
||||
--with-pidfile-dir=/run
|
||||
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
|
||||
|
||||
%install
|
||||
rm -rf __doc
|
||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||
make install-html-guides DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||
%make_install INSTALL="install -p"
|
||||
# remove non useful (and not "lcd" prefixed) perl example scripts
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/fortune.pl
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/iosock.pl
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/tail.pl
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/x11amp.pl
|
||||
|
||||
# Fix docs
|
||||
mkdir -p __doc/developer-guide
|
||||
mkdir -p __doc/user-guide
|
||||
install -pm 0644 $RPM_BUILD_ROOT%{_datadir}/doc/lcdproc/user-guide/* __doc/user-guide
|
||||
install -pm 0644 $RPM_BUILD_ROOT%{_datadir}/doc/lcdproc/developer-guide/* __doc/developer-guide
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc
|
||||
# docs
|
||||
make install-html-guides DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/*-guide/*.proc
|
||||
install -pm 0644 CREDITS.md ChangeLog.md README.md \
|
||||
$RPM_BUILD_ROOT%{_docdir}/%{name}
|
||||
|
||||
# init
|
||||
install -d $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -d $RPM_BUILD_ROOT%{_unitdir}/lcdproc.target.wants
|
||||
install -d $RPM_BUILD_ROOT%{_udevrulesdir}
|
||||
install -d $RPM_BUILD_ROOT%{_sysusersdir}
|
||||
install -pm 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -pm 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -pm 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -pm 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -pm 0755 %{SOURCE5} $RPM_BUILD_ROOT%{_sbindir}/LCDd-hwdetect
|
||||
install -pm 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_udevrulesdir}
|
||||
install -pm 0644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysusersdir}/lcdproc.conf
|
||||
for i in lcdproc.service LCDd.service LCDd-hwdetect.service; do
|
||||
ln -s ../$i $RPM_BUILD_ROOT%{_unitdir}/lcdproc.target.wants
|
||||
done
|
||||
|
||||
#Disable default configuration
|
||||
#Thoses are only provided as an example since ncurses isn't a suitable default configuration.
|
||||
for f in LCDd.conf lcdproc.conf ; do
|
||||
mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f} \
|
||||
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f}.example
|
||||
touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f}
|
||||
mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f} \
|
||||
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f}.example
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
%post
|
||||
%systemd_post LCDd.service lcdproc.service
|
||||
|
||||
|
|
@ -113,26 +143,128 @@ done
|
|||
|
||||
|
||||
%postun
|
||||
%systemd_postun LCDd.service lcdproc.service
|
||||
|
||||
%systemd_postun_with_restart LCDd.service lcdproc.service
|
||||
|
||||
|
||||
%files
|
||||
%doc README* INSTALL COPYING CREDITS TODO ChangeLog
|
||||
%doc __doc/*
|
||||
%doc %{_docdir}/%{name}
|
||||
%license COPYING
|
||||
%{_bindir}/*
|
||||
%dir %{_libdir}/lcdproc
|
||||
%{_libdir}/lcdproc/*
|
||||
%{_sbindir}/*
|
||||
%{_libdir}/lcdproc/
|
||||
%{_mandir}/man?/*
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%ghost %{_sysconfdir}/%{name}/*.conf
|
||||
%config %{_sysconfdir}/%{name}/*.conf
|
||||
%config %{_sysconfdir}/%{name}/*.conf.example
|
||||
%{_unitdir}/LCDd.service
|
||||
%{_unitdir}/lcdproc.service
|
||||
%{_unitdir}/*
|
||||
%{_udevrulesdir}/90-%{name}.rules
|
||||
%{_sysusersdir}/lcdproc.conf
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-26.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.9-25.20210209git5c21e8c
|
||||
- Drop call to %sysusers_create_compat
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-24.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 0.5.9-23.20210209git5c21e8c
|
||||
- convert license to SPDX
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-22.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-21.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-20.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-19.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-18.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-17.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-16.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-15.20210209git5c21e8c
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Apr 15 2021 Hans de Goede <hdegoede@redhat.com> - 0.5.9-14.20210209git5c21e8c
|
||||
- Sync with latest upstream git
|
||||
- Add support for LCD found on Logitech Z-10 speakers,
|
||||
inc. autodetect by udev + automatic LCDd.conf generation by LCDd-hwdetect
|
||||
- Fix Logitech G15 family devices requiring a manual restart of LCDd
|
||||
after a unplug + replug
|
||||
- Drop ghosting of /etc/lcdproc/*.conf files, these may contain user
|
||||
modifications, so they should not be removed on package removal
|
||||
- This also fixes lcdexec.conf and lcdvc.conf not being packaged
|
||||
|
||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.9-13.20190625git781b311
|
||||
- Rebuilt for updated systemd-rpm-macros
|
||||
See https://pagure.io/fesco/issue/2583.
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-12.20190625git781b311
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Nov 24 21:06:08 GMT 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.5.9-11.20190625git781b311
|
||||
- Build with libusb1
|
||||
|
||||
* Thu Aug 20 2020 Jeff Law <law@redhat.com> - 0.5.9-10.20190625git781b311
|
||||
- Re-enable LTO
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-9.20190625git781b311
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 14 2020 Jeff Law <law@redhat.com> - 0.5.9-8.20190625git781b311
|
||||
- Disable LTO
|
||||
|
||||
* Fri Mar 20 2020 Hans de Goede <hdegoede@redhat.com> - 0.5.9-7.20190625git781b311
|
||||
- Drop svgalib support, svgalib is being dropped from the distro (rhbz#1814816)
|
||||
|
||||
* Mon Feb 24 2020 Than Ngo <than@redhat.com> - 0.5.9-6.git
|
||||
- Fixed FTBFS against gcc10
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-5.20190625git781b311
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Oct 4 2019 Hans de Goede <hdegoede@redhat.com> - 0.5.9-4.20190625git781b311
|
||||
- Replace Group=lcdd statement in LCDd.service with Group=nobody, LCDd does not
|
||||
need a special group and it breaks starting LCDd (rhbz#1742994)
|
||||
|
||||
* Thu Oct 3 2019 Hans de Goede <hdegoede@redhat.com> - 0.5.9-3.20190625git781b311
|
||||
- The patch adding the keycodes for LCD menu buttons on Logitech keyboards was
|
||||
still pending upstream. The final version of the patch has changed the codes,
|
||||
update LCDd-hwdetect.sh to use the new codes when writing out LCDd.conf
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-2.20190625git781b311
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jul 04 2019 Hans de Goede <hdegoede@redhat.com> - 0.5.9-1.20190625git781b311
|
||||
- Update to upstream 0.5.9 release + latest improvements from git
|
||||
- Add support for Logitech MX5000, MX5500, G15, G15 V2 and G510 keyboards
|
||||
- Add LCDd-hwdetect script automatically generating LCDd.conf for
|
||||
USB gaming keyboards with LCD panels and LCD2USB devices
|
||||
- Add udev-rules to call LCDd-hwdetect when there is no existing LCDd.conf
|
||||
and to make LCDd and lcdproc hw-activated when using supported USB devices
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Mon Aug 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.5.7-11
|
||||
- Remove unneeded BuildRequires: pth-devel
|
||||
|
||||
|
|
|
|||
1
lcdproc.sysusers
Normal file
1
lcdproc.sysusers
Normal file
|
|
@ -0,0 +1 @@
|
|||
g lcdd -
|
||||
3
lcdproc.target
Normal file
3
lcdproc.target
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[Unit]
|
||||
Description=lcdproc Target
|
||||
StopWhenUnneeded=yes
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
2f8e064233ef1d03e98c0b426595750d lcdproc-0.5.7.tar.gz
|
||||
SHA512 (lcdproc-5c21e8c.tar.gz) = cc0f6622bfc76382306d1419b76e9d9d16740722bc29568559f4b022e0747a2edb3fece8d3f3d5871972b778290bc6178bd2de3919b6eae019505551e91f93cb
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue