Compare commits

..

No commits in common. "rawhide" and "f14" have entirely different histories.

15 changed files with 402 additions and 625 deletions

5
.gitignore vendored
View file

@ -1,7 +1,2 @@
lcdproc-0.5.2.tar.gz
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

View file

@ -1,33 +0,0 @@
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

View file

@ -1,57 +0,0 @@
# 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"

View file

@ -1,9 +0,0 @@
[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

View file

@ -1,179 +0,0 @@
#!/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"

View file

@ -1,12 +0,0 @@
[Unit]
Description=LCDd Service
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/sbin/LCDd -c /etc/lcdproc/LCDd.conf
User=root
Group=lcdd
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,22 @@
diff -up lcdproc-0.5.2/docs/lcdproc-dev/Makefile.am.novalidate lcdproc-0.5.2/docs/lcdproc-dev/Makefile.am
--- lcdproc-0.5.2/docs/lcdproc-dev/Makefile.am.novalidate 2007-04-14 16:39:53.000000000 +0200
+++ lcdproc-0.5.2/docs/lcdproc-dev/Makefile.am 2009-04-14 15:28:01.000000000 +0200
@@ -18,6 +18,6 @@ developerguidedir = $(DESTDIR)$(htmldir)
install-html-developerguide: $(xmlto) lcdproc-dev.docbook
$(mkinstalldirs) $(developerguidedir)
- $(xmlto) html -o $(developerguidedir) lcdproc-dev.docbook
+ $(xmlto) html -o $(developerguidedir) --skip-validation lcdproc-dev.docbook
## EOF
diff -up lcdproc-0.5.2/docs/lcdproc-user/Makefile.am.novalidate lcdproc-0.5.2/docs/lcdproc-user/Makefile.am
--- lcdproc-0.5.2/docs/lcdproc-user/Makefile.am.novalidate 2009-04-14 15:32:24.000000000 +0200
+++ lcdproc-0.5.2/docs/lcdproc-user/Makefile.am 2009-04-14 15:32:44.000000000 +0200
@@ -21,6 +21,6 @@ userguidedir = $(DESTDIR)$(htmldir)/user
install-html-userguide: $(xmlto) lcdproc-user.docbook
$(mkinstalldirs) $(userguidedir)
- $(xmlto) html -o $(userguidedir) lcdproc-user.docbook
+ $(xmlto) html -o $(userguidedir) --skip-validation lcdproc-user.docbook
## EOF

View file

@ -0,0 +1,305 @@
Index: lcdproc-0.5.3/scripts/init-LCDd.rpm.in
===================================================================
--- lcdproc-0.5.3.orig/scripts/init-LCDd.rpm.in
+++ lcdproc-0.5.3/scripts/init-LCDd.rpm.in
@@ -1,5 +1,5 @@
#!/bin/sh
-# This is the LCDd init-script for RPM based (RedHat, Mandrake) systems
+# This is the LCDd init-script for RPM based (Red Hat, Mandrake) systems
#
# Copyright (C) 2001 Rene Wagner <reenoo@gmx.de>
# 2001 Guillaume Filion <gfk@logidac.com>
@@ -19,25 +19,53 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
#
#
-# chkconfig: 345 70 21
+# chkconfig: - 70 21
# description: LCDd(8) is the LCDproc server used for displaying text and other data to LCDs. \
# Apart from the main client lcdproc(1) there are various clients. \
# See http://lcdproc.omnipotent.net for details.
# processname: LCDd
# pidfile: /var/run/LCDd.pid
# config: @sysconfdir@/LCDd.conf
+#
+### BEGIN INIT INFO
+# Provides: LCDd
+# Required-Start: $syslog $local_fs $network $remote_fs
+# Required-Stop: $syslog $local_fs $network $remote_fs
+# Should-Start: udev
+# Default-Start:
+# Default-Stop: S 0 1 6
+# Short-Description: LCDproc Server Daemon
+# Description: init script for LCDd, the display
+# server daemon in the LCDproc suite
+### END INIT INFO
+
+prog=LCDd
+lockfile=/var/lock/subsys/$prog
+configfile=@sysconfdir@/$prog.conf
+
+# load LSB 3.x init functions
+if [ -e /lib/lsb/init-functions ]; then
+ . /lib/lsb/init-functions
+fi
# Source function library.
-. /etc/rc.d/init.d/functions
+if [ -e /etc/rc.d/init.d/functions ]; then
+ . /etc/rc.d/init.d/functions
+fi
# Source networking configuration.
-. /etc/sysconfig/network
+if [ -e /etc/sysconfig/network ]; then
+ . /etc/sysconfig/network
+fi
# Check that networking is up.
if [ ${NETWORKING} = "no" ]; then
exit 0
fi
+# check that non-default config file exists.
+[ -f $configfile ] || exit 6
+
RETVAL=0
prefix=@prefix@
@@ -46,41 +74,49 @@ bindir=@bindir@
sbindir=@sbindir@
etc=@sysconfdir@
-LCDd=${sbindir}/LCDd
-configfile=${etc}/LCDd.conf
-
-[ -x ${LCDd} ] || exit 0
+[ -x ${sbindir}/${prog} ] || exit 0
start() {
- echo -n "Starting up LCDd: "
- daemon ${LCDd} -c ${configfile}
-
+ echo -n "Starting ${prog} service: "
+ daemon ${prog} -c ${configfile}
RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/LCDd
echo
+ [ $RETVAL -eq 0 ] && touch ${lockfile} || \
+ RETVAL=1
+ return $RETVAL
}
stop() {
- echo -n "Shutting down LCDd: "
- killproc LCDd
+ echo -n "Shutting down ${prog} service: "
+ killproc ${prog}
RETVAL=$?
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/LCDd
echo
+ [ $RETVAL -eq 0 ] && rm -f ${lockfile}
+ return $RETVAL
}
-dostatus() {
- status LCDd
+reload() {
+ echo -n $"Reloading ${prog} conig file: "
+ killproc ${prog} -HUP
RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+dostatus() {
+ status ${prog}
+ return $?
}
restart() {
stop
start
- RETVAL=$?
+ return $?
}
condrestart() {
- [ -e /var/lock/subsys/LCDd ] && restart || :
+ [ -f ${lockfile} ] && restart || :
+ return $?
}
# See how we were called.
@@ -94,15 +130,18 @@ case "$1" in
status)
dostatus
;;
- restart)
+ restart|force-reload)
restart
;;
- condrestart)
+ try-restart|condrestart)
condrestart
;;
+ reload)
+ reload
+ ;;
*)
- echo "Usage: $0 {start|stop|status|restart|condrestart}"
- exit 1
+ echo "Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 2
esac
exit $RETVAL
Index: lcdproc-0.5.3/scripts/init-lcdproc.rpm.in
===================================================================
--- lcdproc-0.5.3.orig/scripts/init-lcdproc.rpm.in
+++ lcdproc-0.5.3/scripts/init-lcdproc.rpm.in
@@ -19,68 +19,104 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
#
#
-# chkconfig: 345 71 20
+# chkconfig: - 71 20
# description: LCDd(8) is the LCDproc server used for displaying text and other data to LCDs. \
# Apart from the main client lcdproc(1) there are various clients. \
# See http://lcdproc.omnipotent.net for details.
# processname: lcdproc
# pidfile: /var/run/lcdproc.pid
-# config: /etc/sysconfig/lcdproc
+# config: @sysconfdir@/lcdproc.conf
+#
+### BEGIN INIT INFO
+# Provides: lcdproc
+# Required-Start: $syslog $local_fs $network $remote_fs
+# Required-Stop: $syslog $local_fs $network $remote_fs
+# Should-Start: LCDd
+# Default-Start:
+# Default-Stop: S 0 1 6
+# Short-Description: LCDproc system status information viewer
+# Description: LSB init script for lcdproc, the system
+# status information viewer in the LCDproc suite
+### END INIT INFO
+
+prog=lcdproc
+lockfile=/var/lock/subsys/$prog
+configfile=@sysconfdir@/$prog.conf
+RETVAL=0
+
+# load LSB 3.x init functions
+if [ -e /lib/lsb/init-functions ]; then
+ . /lib/lsb/init-functions
+fi
# Source function library.
-. /etc/rc.d/init.d/functions
+if [ -e /etc/rc.d/init.d/functions ]; then
+ . /etc/rc.d/init.d/functions
+fi
# Source networking configuration.
-. /etc/sysconfig/network
+if [ -e /etc/sysconfig/network ]; then
+ . /etc/sysconfig/network
+fi
# Check that networking is up.
if [ ${NETWORKING} = "no" ]; then
exit 0
fi
-RETVAL=0
-
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
sbindir=@sbindir@
etc=@sysconfdir@
-lcdproc=${bindir}/lcdproc
+[ -x ${bindir}/${prog} ] || exit 0
-[ -x ${lcdproc} ] || exit 0
+# check that non-default config file exists.
+ [ -f $configfile ] || exit 6
start() {
- echo -n "Starting up lcdproc: "
- daemon ${lcdproc} $SCREENS
-
+ echo -n "Starting ${prog} service: "
+ daemon ${prog} -c ${configfile}
RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/lcdproc
echo
+ [ $RETVAL -eq 0 ] && touch ${lockfile} || \
+ RETVAL=1
+ return $RETVAL
}
stop() {
- echo -n "Shutting down lcdproc: "
- killproc lcdproc
+ echo -n "Shutting down ${prog} service: "
+ killproc ${prog}
RETVAL=$?
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/lcdproc
echo
+ [ $RETVAL -eq 0 ] && rm -f ${lockfile}
+ return $RETVAL
}
-dostatus() {
- status lcdproc
+reload() {
+ echo -n $"Reloading ${prog} config file: "
+ killproc ${prog} -HUP
RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+dostatus() {
+ status ${prog}
+ return $?
}
restart() {
stop
start
- RETVAL=$?
+ return $?
}
condrestart() {
- [ -e /var/lock/subsys/lcdproc ] && restart || :
+ [ -f ${lockfile} ] && restart || :
+ return $?
}
# See how we were called.
@@ -94,14 +130,17 @@ case "$1" in
status)
dostatus
;;
- restart)
+ restart|force-reload)
restart
;;
- condrestart)
+ try-restart|condrestart)
condrestart
;;
+ reload)
+ reload
+ ;;
*)
- echo "Usage: $0 {start|stop|status|restart|condrestart}"
+ echo "Usage: $0 {start|stop|status|restart|condrestart|reload}"
exit 1
esac

View file

@ -1,30 +0,0 @@
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]

View file

@ -1,3 +0,0 @@
addFilter("conffile-without-noreplace-flag")
addFilter("no-manual-page-for-binary")
addFilter("incorrect-fsf-address")

View file

@ -1,11 +0,0 @@
[Unit]
Description=lcdproc Service
After=syslog.target LCDd.service
[Service]
Type=forking
PIDFile=/run/lcdproc.pid
ExecStart=/usr/bin/lcdproc -c /etc/lcdproc/lcdproc.conf
[Install]
WantedBy=multi-user.target

View file

@ -1,349 +1,142 @@
%global commit 5c21e8c75fbab53574275c8007f5af746e333144
%global commitdate 20210209
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Summary: Display real-time system information on a 20x4 back-lit LCD
Summary: LCDproc displays real-time system information on a 20x4 backlit LCD
Name: lcdproc
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: 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
Version: 0.5.3
Release: 5%{?dist}
License: GPLv2
URL: http://lcdproc.omnipotent.net
Group: System Environment/Libraries
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0: lcdproc-0.5.3-initscripts.patch
Patch1: lcdproc-0.5.2-novalidate.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: perl-generators
BuildRequires: systemd-rpm-macros
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: freetype-devel
%ifnarch s390 s390x
BuildRequires: libhid-devel
%endif
BuildRequires: libusb1-devel
BuildRequires: libusb-devel
BuildRequires: lirc-devel
BuildRequires: ncurses-devel
BuildRequires: openldap-devel
BuildRequires: pth-devel
BuildRequires: xmlto
%if 0%{?fedora} > 9
BuildRequires: docbook-dtds
%endif
BuildRequires: xosd-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libftdi-devel
BuildRequires: libg15render-devel
BuildRequires: mx5000tools-devel
BuildRequires: libtool autoconf automake
BuildRequires: gcc make
%{?systemd_requires}
%ifarch %{ix86} x86_64
BuildRequires: svgalib-devel
%endif
Requires(post): /sbin/chkconfig
Requires(postun): /sbin/chkconfig
%description
LCDproc is a client/server suite including drivers for all
LCDproc is a client/server suite inclduding drivers for all
kinds of nifty LCD displays. The server supports several
serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216,
LCDM001 (http://kernelconcepts.de), Wirz-SLI and PIC-an-LCD; and some
LCDM001 (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, up-time, and a lot more.
things like CPU load, system load, memory usage, uptime, and a lot more.
See also http://lcdproc.omnipotent.net.
%prep
%autosetup -p1 -n %{name}-%{commit}
# Fixup DriverPath
%setup -q
%patch0 -p1 -b .initscripts
%patch1 -p1 -b .novalidate
chmod 644 server/drivers/timing.h
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} \
--sysconfdir=%{_sysconfdir}/sysconfig/%{name} \
--enable-libusb \
--enable-ldap \
--enable-drivers=all \
--enable-permissive-menu-goto \
--enable-lcdproc-menus \
--enable-stat-nfs \
--enable-stat-smbfs \
--with-lcdport=13666 \
--with-pidfile-dir=/run
%make_build
--with-lcdport=13666
make %{?_smp_mflags}
%install
%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
# docs
rm -rf $RPM_BUILD_ROOT __doc
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
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}
# 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
# 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
install -d $RPM_BUILD_ROOT%{_initrddir}
install -pm 0755 scripts/init-LCDd.rpm $RPM_BUILD_ROOT%{_initrddir}/LCDd
install -pm 0755 scripts/init-lcdproc.rpm $RPM_BUILD_ROOT%{_initrddir}/lcdproc
#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
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}/${f} \
$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}/${f}.example
touch $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}/${f}
done
%post
%systemd_post LCDd.service lcdproc.service
if [ $1 -eq 1 ]; then
# Add init script but don't start it
/sbin/chkconfig --add LCDd
/sbin/chkconfig --add lcdproc ||:
fi
%preun
%systemd_preun LCDd.service lcdproc.service
if [ $1 -eq 0 ]; then
# Disable driver on final removal
%{_initrddir}/lcdproc stop &>/dev/null
%{_initrddir}/LCDd stop &>/dev/null
/sbin/chkconfig --del lcdproc
/sbin/chkconfig --del LCDd ||:
fi
%postun
%systemd_postun_with_restart LCDd.service lcdproc.service
%clean
rm -rf $RPM_BUILD_ROOT __doc
%files
%doc %{_docdir}/%{name}
%license COPYING
%defattr(-,root,root,-)
%doc README* INSTALL COPYING CREDITS TODO ChangeLog
%doc __doc/*
%{_bindir}/*
%dir %{_libdir}/lcdproc
%{_libdir}/lcdproc/*
%{_sbindir}/*
%{_libdir}/lcdproc/
%{_mandir}/man?/*
%dir %{_sysconfdir}/%{name}
%config %{_sysconfdir}/%{name}/*.conf
%config %{_sysconfdir}/%{name}/*.conf.example
%{_unitdir}/*
%{_udevrulesdir}/90-%{name}.rules
%{_sysusersdir}/lcdproc.conf
%dir %{_sysconfdir}/sysconfig/%{name}
%ghost %{_sysconfdir}/sysconfig/%{name}/*.conf
%config %{_sysconfdir}/sysconfig/%{name}/*.conf.example
%{_initrddir}/LCDd
%{_initrddir}/lcdproc
%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
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Sep 29 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-7
- Remove ControlGroup from services - rhbz#1324015
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Oct 04 2014 Dan Horák <dan[at]danny.cz> - 0.5.7-4
- update BR, libusbx-devel is brought in by libftdi-devel
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 30 2014 Peter Robinson <pbrobinson@fedoraproject.org> 0.5.7-1
- Update to 0.5.7
- Build against libusbx and libftdi 1
- Cleanup spec
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 0.5.6-5
- Perl 5.18 rebuild
* Sat Apr 27 2013 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-4
- Enable hardened build rhbz#955453
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Jan 07 2013 Dan Horák <dan[at]danny.cz> - 0.5.6-2
- update BR for s390(x)
* Wed Jan 02 2013 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-1
- Update to 0.5.6
* Wed Aug 29 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.5.5-6
- Add systemd macro - rbz#850181
* Sun Jul 22 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.5.5-5
- Fix for rhbz#821270
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Feb 13 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.5.5-3
- Convert to native systemd units
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Nov 29 2011 Nicolas Chauvet <kwizart@gmail.com> - 0.5.5-1
- Update to 5.5
- Fix path of functions
- Disable xosd and svga
* Wed Mar 30 2011 Nicolas Chauvet <kwizart@gmail.com> - 0.5.4-1
- Update to 0.5.4
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Apr 18 2010 Nicolas Chauvet <kwizart@fedoraproject.org> - 0.5.3-5
- Remove Uneeded BR - rhbz#572621
- Rebuild for libftdi update - rhbz#581601

View file

@ -1 +0,0 @@
g lcdd -

View file

@ -1,3 +0,0 @@
[Unit]
Description=lcdproc Target
StopWhenUnneeded=yes

View file

@ -1 +1 @@
SHA512 (lcdproc-5c21e8c.tar.gz) = cc0f6622bfc76382306d1419b76e9d9d16740722bc29568559f4b022e0747a2edb3fece8d3f3d5871972b778290bc6178bd2de3919b6eae019505551e91f93cb
fe9a7c9d8f2c5e76250ce2ea8f644921 lcdproc-0.5.3.tar.gz