From fabe805ab620426670997481951ba288ad74be6f Mon Sep 17 00:00:00 2001 From: Alec Leamas Date: Aug 22 2019 18:02:41 +0000 Subject: 2:1.1.0-28 --- 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 cc078f6..d0d2b64 100644 --- a/iguanaIR.spec +++ b/iguanaIR.spec @@ -1,16 +1,17 @@ %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: 27%{?dist} +Release: 28%{?dist} Epoch: 2 Summary: Driver for Iguanaworks USB IR transceiver License: GPLv2 and 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 @@ -29,6 +30,7 @@ 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 @@ -99,6 +101,9 @@ patch -p1 < %{SOURCE12} git apply --whitespace=fix %{SOURCE13} dos2unix Makefile patch -l -p2 --fuzz 2 < %{SOURCE20} +cd .. +patch -p1 --fuzz 2 < %{SOURCE21} + %build @@ -118,6 +123,7 @@ make LDFLAGS="-liguanaIR -L../build" CFLAGS="%{optflags} \ cd .. %endif + mkdir -p $RPM_BUILD_ROOT/%{_datadir} || : cp -ar files/python/usr/share/iguanaIR-reflasher $RPM_BUILD_ROOT/%{_datadir} mkdir -p $RPM_BUILD_ROOT/%{_bindir} || : @@ -130,6 +136,10 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{python_version}/site-packages install -m755 -d $RPM_BUILD_ROOT%{_localstatedir}/run/%{name} +%if 0%{fedora} > 30 +rm -rf $RPM_BUILD_ROOT/%{_libdir}/python2.7/site-packages +%endif + # fix missing links pushd $RPM_BUILD_ROOT%{_libdir} rm libiguanaIR.so.0.3 @@ -161,7 +171,6 @@ install -m 755 -d $RPM_BUILD_ROOT/run/%{name} install -m 644 -D %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} - %pre getent group iguanair >/dev/null || groupadd -r iguanair getent passwd iguanair >/dev/null || \ @@ -170,26 +179,13 @@ getent passwd iguanair >/dev/null || \ exit 0 %post -if [ $1 -eq 1 ] ; then - # Initial installation - /bin/systemctl daemon-reload >/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 @@ -210,6 +206,10 @@ fi %ghost %attr(755, iguanair, iguanair) /run/%{name} %attr(775, iguanair, iguanair) %{_localstatedir}/log/%{name} +%if 0%{fedora} < 30 +%{_libdir}/python2.7/* +%endif + %files devel %{_includedir}/%{name}.h %{_libdir}/lib%{name}.so @@ -228,6 +228,11 @@ fi %changelog +* 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