Compare commits

...
Sign in to create a new pull request.

34 commits

Author SHA1 Message Date
Fedora Release Engineering
c020adba11 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 19:11:36 +00:00
Zbigniew Jędrzejewski-Szmek
c66b3060b1 Drop call to %sysusers_create_compat
After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
rpm will handle account creation automatically.
2025-02-11 17:44:41 +01:00
Fedora Release Engineering
33fa35ca05 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 10:16:38 +00:00
Miroslav Suchý
07535dcee7 convert GPLv2 license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-29 11:00:42 +02:00
Fedora Release Engineering
151bf46153 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 13:03:14 +00:00
Fedora Release Engineering
20dd3b8450 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 01:16:53 +00:00
Fedora Release Engineering
9f03b9c7e4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 03:19:00 +00:00
Fedora Release Engineering
51cd5071ba Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 09:59:56 +00:00
Fedora Release Engineering
fc9248c83e Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 15:33:48 +00:00
Fedora Release Engineering
6a71d1ab2f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 17:02:58 +00:00
Fedora Release Engineering
cddfd1183f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 15:31:01 +00:00
Fedora Release Engineering
d36383852d - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 10:43:45 +00:00
Hans de Goede
c45fcaa715 Fix build error caused by no longer ghosting the .conf files 2021-04-17 11:03:34 +02:00
Hans de Goede
498d0f8713 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
2021-04-15 23:59:45 +02:00
Zbigniew Jędrzejewski-Szmek
14c556a920 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:32 +01:00
Fedora Release Engineering
f6e6ab8516 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 16:26:02 +00:00
Tom Stellard
716277fe3a Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 01:19:14 +00:00
Peter Robinson
9e3400488e Build with libusb1 2020-11-24 21:06:24 +00:00
Jeff Law
913d454197 Re-enable LTO 2020-08-20 16:09:34 -06:00
Fedora Release Engineering
f0d8b24866 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 04:00:13 +00:00
Jeff Law
71b03017a3 Disable LTO 2020-07-14 12:57:58 -06:00
Hans de Goede
75f225c306 Drop svgalib support, svgalib is being dropped from the distro (rhbz#1814816) 2020-03-20 10:04:43 +01:00
Nicolas Chauvet
d7885bbd8d Revert "_legacy_common_support"
This reverts commit 968836e0d9.
2020-02-28 16:02:56 +01:00
Nicolas Chauvet
968836e0d9 _legacy_common_support 2020-02-28 16:01:39 +01:00
Than Ngo
3e12e8a56d Fixed FTBFS against gcc10 2020-02-24 13:52:37 +01:00
Fedora Release Engineering
6c9f7a47b1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 08:17:26 +00:00
Hans de Goede
36c6ed45f0 Replace Group=lcdd statement in LCDd.service with Group=nobody, LCDd does not
need a special group and it breaks starting LCDd (rhbz#1742994)
2019-10-04 12:33:12 +02:00
Hans de Goede
f29124c7c0 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
2019-10-03 23:04:03 +02:00
Fedora Release Engineering
4923e2774f - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 12:31:19 +00:00
Hans de Goede
188765fd31 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
2019-07-04 16:28:45 +02:00
Fedora Release Engineering
db06dd79dd - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 06:24:39 +00:00
Igor Gnatenko
c5c32fc7a0 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:10 +01:00
Fedora Release Engineering
4b11dfdde3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 07:37:37 +00:00
Fedora Release Engineering
05847a3af9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 20:54:57 +00:00
14 changed files with 502 additions and 73 deletions

2
.gitignore vendored
View file

@ -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

View file

@ -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
View 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
View 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
View 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"

View file

@ -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

View file

@ -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
View 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]

View file

@ -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
View file

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

View file

@ -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
View file

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

3
lcdproc.target Normal file
View file

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

View file

@ -1 +1 @@
2f8e064233ef1d03e98c0b426595750d lcdproc-0.5.7.tar.gz
SHA512 (lcdproc-5c21e8c.tar.gz) = cc0f6622bfc76382306d1419b76e9d9d16740722bc29568559f4b022e0747a2edb3fece8d3f3d5871972b778290bc6178bd2de3919b6eae019505551e91f93cb