diff --git a/0003-Use-platform-specific-python-extension-dir.patch b/0003-Use-platform-specific-python-extension-dir.patch deleted file mode 100644 index 2dc94c8..0000000 --- a/0003-Use-platform-specific-python-extension-dir.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2877272703e7b9f59cd5c690c70555b101c69815 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Tue, 25 Dec 2012 11:54:55 +0100 -Subject: [PATCH 3/7] Use platform specific python extension dir - ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index f901211..1a51327 100755 ---- a/configure -+++ b/configure -@@ -5167,7 +5167,7 @@ $as_echo "$PYTHON_LDFLAGS" >&6; } - $as_echo_n "checking for Python site-packages path... " >&6; } - if test -z "$PYTHON_SITE_PKG"; then - PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ -- print distutils.sysconfig.get_python_lib(0,0);"` -+ print distutils.sysconfig.get_python_lib(1,0);"` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5 - $as_echo "$PYTHON_SITE_PKG" >&6; } --- -1.7.11.7 - diff --git a/0006-udev-invoke-systemd-support-not-sysV-init-file.patch b/0006-udev-invoke-systemd-support-not-sysV-init-file.patch deleted file mode 100644 index bf08829..0000000 --- a/0006-udev-invoke-systemd-support-not-sysV-init-file.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/udev/iguanaIR.rules b/udev/iguanaIR.rules -index b3bc34f..21bc00d 100644 ---- a/udev/iguanaIR.rules -+++ b/udev/iguanaIR.rules -@@ -12,7 +12,7 @@ ATTR{manufacturer} == "IguanaWorks", ATTR{product} == "USB IR Transceiver", \ - OWNER = "iguanair", MODE = "0664", \ - RUN = "/bin/mkdir -p /var/run/iguanaIR", \ - RUN += "/bin/chown iguanair /var/run/iguanaIR", \ -- RUN += "/etc/init.d/iguanaIR rescan" -+ RUN += "/usr/libexec/iguanaIR/rescan" - - # FOR DEBUGGING TRY ADDING TO THE RUN LINES: - #RUN += "/bin/bash -c 'echo $major $minor r=$result i=$id n=$number k=$kernel p=$parent r=$root >> /tmp/udev.txt'" diff --git a/0010-build-Remove-cmake-dist-generation.patch b/0010-build-Remove-cmake-dist-generation.patch new file mode 100644 index 0000000..0384a9a --- /dev/null +++ b/0010-build-Remove-cmake-dist-generation.patch @@ -0,0 +1,39 @@ +From ac541ea506a82ab699bff42829f697e46755eb12 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Mon, 30 Jan 2017 10:56:33 +0100 +Subject: [PATCH 10/14] build: Remove cmake dist generation. + +The cmake code is worse in at least two ways: It includes whatever +junk it finds in the source directory, and it isn't aware of the +lirc-driver-iguanair in the parent directory. The make-dist.sh +script just is better, so drop the cmake code. +--- + software/usb_ir/CMakeLists.txt | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/software/usb_ir/CMakeLists.txt b/software/usb_ir/CMakeLists.txt +index e056483..8a55372 100644 +--- a/software/usb_ir/CMakeLists.txt ++++ b/software/usb_ir/CMakeLists.txt +@@ -15,18 +15,6 @@ Set(SO_AGE 3) + + Set(SOVERSION 0) + +-# Source dist setup +-set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${FULLVER}") +-set(CPACK_SOURCE_IGNORE_FILES +- "/build/;/.git/;~$;${CPACK_SOURCE_IGNORE_FILES}") +-set(CPACK_SOURCE_GENERATOR TGZ) +-include(CPack) +- +-add_custom_target(check_git ${CMAKE_COMMAND} +- -P ${CMAKE_SOURCE_DIR}/check_git_status.cmake) +-add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source +- DEPENDS check_git) +- + #Set(TARGET_ANDROID true) + + If(TARGET_ANDROID) +-- +2.9.3 + diff --git a/0011-lirc-drv-Fix-missing-linker-flag.patch b/0011-lirc-drv-Fix-missing-linker-flag.patch new file mode 100644 index 0000000..d4127e5 --- /dev/null +++ b/0011-lirc-drv-Fix-missing-linker-flag.patch @@ -0,0 +1,25 @@ +From db05b2629b6b5a5972a51e2d2fbbf04e45e56cc8 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Fri, 3 Feb 2017 00:01:08 +0100 +Subject: [PATCH 11/14] lirc-drv: Fix missing linker flag. + +--- + software/lirc-drv-iguanair/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/software/lirc-drv-iguanair/Makefile b/software/lirc-drv-iguanair/Makefile +index 3bae4e9..6aff458 100755 +--- a/software/lirc-drv-iguanair/Makefile ++++ b/software/lirc-drv-iguanair/Makefile +@@ -17,7 +17,7 @@ driver = iguanair + + all: $(driver).so + +-LDFLAGS += -liguanaIR -L../usb_ir/build ++LDFLAGS += -lusb -liguanaIR -L../usb_ir/build + CFLAGS += -I../usb_ir + MODPROBE_CONF = 60-blacklist-kernel-iguanair.conf + +-- +2.9.3 + diff --git a/0012-build-cmake-Use-correct-permissions-when-installing.patch b/0012-build-cmake-Use-correct-permissions-when-installing.patch new file mode 100644 index 0000000..1f5a353 --- /dev/null +++ b/0012-build-cmake-Use-correct-permissions-when-installing.patch @@ -0,0 +1,51 @@ +From 4264b5d65c012fdbe4e2b676ef1987ab4a0778dd Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Sat, 4 Feb 2017 10:56:21 +0100 +Subject: [PATCH 12/14] build: cmake: Use correct permissions when installing. + +--- + software/usb_ir/CMakeLists.txt | 2 ++ + software/usb_ir/files/systemd/usr/bin/iguanaIR-rescan | 12 ++++++------ + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/software/usb_ir/CMakeLists.txt b/software/usb_ir/CMakeLists.txt +index 8a55372..665ae82 100644 +--- a/software/usb_ir/CMakeLists.txt ++++ b/software/usb_ir/CMakeLists.txt +@@ -245,9 +245,11 @@ install(FILES iguanaIR.h + DESTINATION /usr/include) + if (${SYSTEMD_FOUND} EQUAL 1) + install(DIRECTORY files/systemd/usr ++ USE_SOURCE_PERMISSIONS + DESTINATION /) + else() + install(DIRECTORY files/sysV/usr files/sysV/etc ++ USE_SOURCE_PERMISSIONS + DESTINATION /) + endif() + +diff --git a/software/usb_ir/files/systemd/usr/bin/iguanaIR-rescan b/software/usb_ir/files/systemd/usr/bin/iguanaIR-rescan +index a41a59d..9d0a700 100755 +--- a/software/usb_ir/files/systemd/usr/bin/iguanaIR-rescan ++++ b/software/usb_ir/files/systemd/usr/bin/iguanaIR-rescan +@@ -4,11 +4,11 @@ + # signal fails, restart daemon. + + if systemctl --quiet is-active iguanaIR.service; then +- pid=$( systemctl --property=MainPID show iguanaIR.service ) || \ +- pid='' +- pid=${pid##*=} +- [ -n "$pid" ] && kill -HUP $pid &>/dev/null && exit 0 ++ pid=$( systemctl --property=MainPID show iguanaIR.service ) || \ ++ pid='' ++ pid=${pid##*=} ++ [ -n "$pid" ] && kill -HUP $pid &>/dev/null && exit 0 + fi + systemctl show --property=UnitFileState iguanaIR.service | +- grep -q enabled && \ +- systemctl restart iguanaIR.service ++ grep -q enabled && \ ++ systemctl restart iguanaIR.service +-- +2.9.3 + diff --git a/0016-reflasher-Move-to-python3.patch b/0016-reflasher-Move-to-python3.patch new file mode 100644 index 0000000..516c9bd --- /dev/null +++ b/0016-reflasher-Move-to-python3.patch @@ -0,0 +1,106 @@ +From ad3c951d613fd8926f2afc4ce219dee592418fad Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Thu, 22 Aug 2019 18:42:11 +0200 +Subject: [PATCH] reflasher: Move to python3. + +--- + files/python/usr/bin/iguanaIR-reflasher | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/files/python/usr/share/iguanaIR-reflasher/iguanaIR-reflasher b/files/python/usr/bin/iguanaIR-reflasher/iguanaIR-reflasher +index 97cacc2..abfbc50 100755 +--- a/files/python/usr/share/iguanaIR-reflasher/iguanaIR-reflasher ++++ b/files/python/usr/share/iguanaIR-reflasher/iguanaIR-reflasher +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2.7 -tt ++#!/usr/bin/python3 + # + # ************************************************************************** + # ** upgrade-usb *********************************************************** +@@ -215,7 +215,7 @@ def listDevices(path = iguanaIR.IGSOCK_NAME): + if device != 'ctl' and \ + not stat.S_ISLNK(os.lstat(os.path.join(path, device)).st_mode): + devices.append(device) +- except Exception, inst: ++ except Exception as inst: + devices = ['0'] + if MessageCannotlistdevice == False: + message(LOG_WARN,"""Guessing device "0", failed to list devices:\n %s\n""" % inst) +@@ -466,7 +466,7 @@ def writePagesToDevice(pages): + count += 1 + if count == rebootPage: + sys.stdout.write('\n Rebooting device') +- print deviceTransaction(iguanaIR.IG_DEV_RESET) ++ print(deviceTransaction(iguanaIR.IG_DEV_RESET)) + if deviceVersion() != version: + message(LOG_WARN, "Mid-write reboot unsuccessful.\n") + +@@ -506,7 +506,7 @@ def writeHexFile(filename, blank_pages = False, setFeatures = False): + pages = readPages(open(filename, 'r')) + + if blank_pages: +- blanks = range(128) ++ blanks = list(range(128)) + for page in pages: + blanks.remove(page['start'] / 64) + +@@ -538,7 +538,7 @@ def writeHexFile(filename, blank_pages = False, setFeatures = False): + def checkFileExists(path): + try: + os.stat(path) +- except OSError, inst: ++ except OSError as inst: + if inst[0] != errno.ENOENT: + raise + return False +-- +2.20.1 + +diff --git a/files/python/usr/bin/iguanaIR-reflasher b/files/python/usr/bin/iguanaIR-reflasher +index 97cacc2..abfbc50 100755 +--- a/files/python/usr/bin/iguanaIR-reflasher ++++ b/files/python/usr/bin/iguanaIR-reflasher +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2.7 -tt ++#!/usr/bin/python3 + # + # ************************************************************************** + # ** upgrade-usb *********************************************************** +@@ -215,7 +215,7 @@ def listDevices(path = iguanaIR.IGSOCK_NAME): + if device != 'ctl' and \ + not stat.S_ISLNK(os.lstat(os.path.join(path, device)).st_mode): + devices.append(device) +- except Exception, inst: ++ except Exception as inst: + devices = ['0'] + if MessageCannotlistdevice == False: + message(LOG_WARN,"""Guessing device "0", failed to list devices:\n %s\n""" % inst) +@@ -466,7 +466,7 @@ def writePagesToDevice(pages): + count += 1 + if count == rebootPage: + sys.stdout.write('\n Rebooting device') +- print deviceTransaction(iguanaIR.IG_DEV_RESET) ++ print(deviceTransaction(iguanaIR.IG_DEV_RESET)) + if deviceVersion() != version: + message(LOG_WARN, "Mid-write reboot unsuccessful.\n") + +@@ -506,7 +506,7 @@ def writeHexFile(filename, blank_pages = False, setFeatures = False): + pages = readPages(open(filename, 'r')) + + if blank_pages: +- blanks = range(128) ++ blanks = list(range(128)) + for page in pages: + blanks.remove(page['start'] / 64) + +@@ -538,7 +538,7 @@ def writeHexFile(filename, blank_pages = False, setFeatures = False): + def checkFileExists(path): + try: + os.stat(path) +- except OSError, inst: ++ except OSError as inst: + if inst[0] != errno.ENOENT: + raise + return False +-- +2.20.1 diff --git a/iguanaIR.spec b/iguanaIR.spec index d1c03ed..b57c995 100644 --- a/iguanaIR.spec +++ b/iguanaIR.spec @@ -1,17 +1,18 @@ %global commit6 e23b9d3726b010c9e747786ffe72e38debc8cfef %global shortcommit %(c=%{commit6}; echo ${c:0:7}) %global repo https://github.com/iguanaworks/iguanair-lirc/archive +%global __python %{__python3} Name: iguanaIR Version: 1.1.0 -Release: 23%{?dist} +Release: 44%{?dist} Epoch: 2 Summary: Driver for Iguanaworks USB IR transceiver -Group: System Environment/Daemons -License: GPLv2 and LGPLv2 +# Automatically converted from old format: GPLv2 and LGPLv2 - review is highly recommended. +License: GPL-2.0-only AND LicenseRef-Callaway-LGPLv2 URL: http://iguanaworks.net/ir -Source0: http://iguanaworks.net/downloads/%{name}-%{version}.tar.gz +Source0: http://iguanaworks.net/downloads/%{name}-%{version}.tar.bz2 Source1: iguanaIR.service Source2: iguanaIR-rescan Source3: README.fedora @@ -30,19 +31,22 @@ Source12: 0012-Makefile-Add-DESTDIR-support.patch Source13: 0013-Convert-all-files-to-LF-line-endings-like-main-drive.patch Source20: 0020-build-Fix-DESTDIR-dont-update-docs.patch +Source21: 0016-reflasher-Move-to-python3.patch Requires: udev -BuildRequires: cmake +BuildRequires: cmake gcc BuildRequires: dos2unix BuildRequires: git -BuildRequires: libusb1-devel, libusb-devel +BuildRequires: libusb1-devel +%if 0%{?fedora} < 37 +libusb-devel +%endif BuildRequires: popt-devel -BuildRequires: systemd-units +BuildRequires: systemd -Requires(post): systemd-units, systemd-sysv -Requires(preun): systemd-units -Requires(postun): systemd-units +%{?systemd_requires} +Requires(post): systemd-sysv # some features can be disabled during the rpm build %{?_without_clock_gettime: %define _disable_clock_gettime --disable-clock_gettime} @@ -58,7 +62,6 @@ control the Iguanaworks USB IR transceiver. %package devel Summary: Library and header files for iguanaIR -Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} %description devel @@ -67,7 +70,6 @@ included in this package. %package reflasher -Group: System Environment/Daemons Summary: Reflasher for Iguanaworks USB IR transceiver BuildArch: noarch @@ -79,10 +81,10 @@ what this means, you don't need it. %if 0%{fedora} > 23 %package -n lirc-drv-iguanair -Group: System Environment/Daemons Summary: lirc plugin for iguanair user-space driver Requires: lirc >= 0.9.4 BuildRequires: lirc-devel >= 0.9.4 +BuildRequires: make %description -n lirc-drv-iguanair lirc plugin providing full support for the iguanaIR userspace driver, @@ -93,9 +95,9 @@ the same as was built in into the lirc releases up to 0.9.3. %prep %setup -q -n %{name}-%{version} %setup -q -T -D -a 6 -%patch1 -p3 -%patch2 -p1 -%patch3 -p1 +%patch -P1 -p3 +%patch -P2 -p1 +%patch -P3 -p1 cp %{SOURCE3} README.fedora cd iguanair-lirc-%{commit6} patch -p1 < %{SOURCE10} @@ -104,6 +106,14 @@ patch -p1 < %{SOURCE12} git apply --whitespace=fix %{SOURCE13} dos2unix Makefile patch -l -p2 --fuzz 2 < %{SOURCE20} +cd .. +patch -p1 --fuzz 2 < %{SOURCE21} + +# Create a sysusers.d config file +cat >iguanair.sysusers.conf </dev/null 2>&1 || : -fi -/sbin/ldconfig +%systemd_post %{name}.service %preun -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || : - /bin/systemctl stop %{name}.service > /dev/null 2>&1 || : -fi +%systemd_preun %{name}.service %postun -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || : -fi -/sbin/ldconfig +%systemd_postun_with_restart %{name}.service %files @@ -215,6 +212,11 @@ fi %ghost %attr(755, iguanair, iguanair) /run/%{name} %attr(775, iguanair, iguanair) %{_localstatedir}/log/%{name} +%if 0%{fedora} < 30 +%{_libdir}/python2.7/* +%endif +%{_sysusersdir}/iguanair.conf + %files devel %{_includedir}/%{name}.h %{_libdir}/lib%{name}.so @@ -233,6 +235,72 @@ fi %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2:1.1.0-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2:1.1.0-43 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Fri Jan 17 2025 Fedora Release Engineering - 2:1.1.0-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Sep 02 2024 Miroslav Suchý - 2:1.1.0-41 +- convert license to SPDX + +* Thu Jul 18 2024 Fedora Release Engineering - 2:1.1.0-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 2:1.1.0-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 2:1.1.0-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 2:1.1.0-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 2:1.1.0-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 2:1.1.0-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 2:1.1.0-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 2:1.1.0-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2:1.1.0-32 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 2:1.1.0-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2:1.1.0-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 2:1.1.0-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Aug 22 2019 Alec Leamas - 2:1.1.0-28 +- Move to python3 (Closes: #1737981). +- Drop the SWIG-generated python bindings. +- Update ancient systemd scriptlets. + +* Thu Jul 25 2019 Fedora Release Engineering - 2:1.1.0-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 2:1.1.0-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 2:1.1.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 2:1.1.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Aug 02 2017 Fedora Release Engineering - 2:1.1.0-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 79ef954..30c49ff 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (iguanaIR-1.1.0.tar.gz) = 64f54ce117fc94e356433812ebc9a2fbc94f4f85d6688e628be49eb1ae66c9e99fc425da23ec09b919123dc7c9e0df8cc303ebe6aaae589881a0418ab3fa40ef SHA512 (iguanaIR-1.1.0.tar.bz2) = 19d793598043c203192c7de0066794629ef64cefe901beca4e894e2090a3d0a91d813de1ae5440a8d51c1f94ad4a960278dbe625302564dcc39c38a668cf18f2 SHA512 (iguanair-lirc-e23b9d3.tar.gz) = ad116c16ea9f18259e2b915f1e1589d08e4ddc787459bc8595876ec0cc2ea36265a2dcb6b7792e3d1e9faab8e8ad680fdf9f0f59fac6d87148464aeb0aba86fb