summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--0000-kernel-4.11-signal_pending.patch17
-rw-r--r--PKGBUILD39
3 files changed, 51 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dfcc0a8a8a67..df0adb8f45b2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,10 @@
# Generated by mksrcinfo v8
-# Tue Jul 25 02:10:46 UTC 2017
+# Wed Jun 6 02:43:56 UTC 2018
pkgbase = perle-serial
pkgdesc = kernel module driver for Perle UltraPort SI Express PCI-RAS modem SPEED LE multi I/O serial parallel RS-232 422 485 port
- pkgver = 3.9.0_14
+ pkgver = 3.9.2_4
pkgrel = 1
- url = http://downloads.comtrol.com/html/RPuPCI_drivers.htm
+ url = https://www.perle.com/downloads/mp_speedle.shtml
install = perle-serial-install.sh
arch = i686
arch = x86_64
@@ -19,8 +19,10 @@ pkgbase = perle-serial
depends = dkms
depends = linux-headers
backup = etc/perle-serial-setultrap.sh
- source = https://www.perle.com//downloads/drivers/ultraport/linux/perle-serial-3.9.0-14.tgz
- sha256sums = 7ded341fe93f76fc5d607a3888ac0407e78c9165ad8fb297ec9e375269e72f8b
+ source = https://www.perle.com/downloads/drivers/ultraport/linux/perle-serial-3.9.2-4.tgz
+ source = 0000-kernel-4.11-signal_pending.patch
+ sha256sums = d9d61a941ecfd2ff41d5450557eb9071d934497dbd10229e97c8f88b48cb9a58
+ sha256sums = 691e0d8d348ab9f19f0398ff79e0d4780d5110e3dd11acf3261e3f73b2983ea1
pkgname = perle-serial
diff --git a/0000-kernel-4.11-signal_pending.patch b/0000-kernel-4.11-signal_pending.patch
new file mode 100644
index 000000000000..d356aca2430d
--- /dev/null
+++ b/0000-kernel-4.11-signal_pending.patch
@@ -0,0 +1,17 @@
+diff -pNaru5 perle-serial-3.9.2.orig-0000/pparport26/pparport_pc.c perle-serial-3.9.2/pparport26/pparport_pc.c
+--- perle-serial-3.9.2.orig-0000/pparport26/pparport_pc.c 2018-06-05 21:24:34.315840847 -0400
++++ perle-serial-3.9.2/pparport26/pparport_pc.c 2018-06-05 21:24:10.199248040 -0400
+@@ -66,10 +66,13 @@
+ #include <asm/dma.h>
+ #include <asm/uaccess.h>
+
+ #include <linux/parport.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++#include <linux/sched/signal.h>
++#endif
+
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+ #define __devinit
+ #define __devinitdata
+ #define __devexit
diff --git a/PKGBUILD b/PKGBUILD
index 2dade02fd961..ae503ca264d3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,6 +3,8 @@
_opt_DKMS=1 # This can be toggled between installs
_opt_PARALLEL=0 # 0 for SPEED without parallel port, 1 to enable parallel support
+# Todo: /dev/ttyPS* should be created dynamically instead of all at once
+
# See /etc/perle-serial-setultrap.sh for persistent port modes
# Perle Ultraport 1 2 4 8 8i 16
@@ -74,19 +76,22 @@ _opt_PARALLEL=0 # 0 for SPEED without parallel port, 1 to enable parallel
set -u
pkgname='perle-serial'
-pkgver='3.9.0_14'
+#_pkgver='3.9.0-14'
+_pkgver='3.9.2-4'
+pkgver="${_pkgver//-/_}"
pkgrel='1'
pkgdesc='kernel module driver for Perle UltraPort SI Express PCI-RAS modem SPEED LE multi I/O serial parallel RS-232 422 485 port'
arch=('i686' 'x86_64')
-url='http://downloads.comtrol.com/html/RPuPCI_drivers.htm'
+url='https://www.perle.com/downloads/mp_speedle.shtml'
license=('GPL')
depends=('awk')
makedepends=('gzip' 'findutils' 'sed' 'diffutils' 'patch')
backup=('etc/perle-serial-setultrap.sh')
install="${pkgname}-install.sh"
-_srcdir="${pkgname}-${pkgver%%_*}"
-source=("https://www.perle.com//downloads/drivers/ultraport/linux/perle-serial-${pkgver//_/-}.tgz")
-sha256sums=('7ded341fe93f76fc5d607a3888ac0407e78c9165ad8fb297ec9e375269e72f8b')
+_srcdir="${pkgname}-${_pkgver%%-*}"
+source=("https://www.perle.com/downloads/drivers/ultraport/linux/perle-serial-${_pkgver}.tgz" '0000-kernel-4.11-signal_pending.patch')
+sha256sums=('d9d61a941ecfd2ff41d5450557eb9071d934497dbd10229e97c8f88b48cb9a58'
+ '691e0d8d348ab9f19f0398ff79e0d4780d5110e3dd11acf3261e3f73b2983ea1')
_opt_SERIAL=1 # This is for bug testing dkms only. All cards have serial ports so this should always be enabled.
@@ -147,22 +152,32 @@ prepare() {
sed -e "s|__DATE__|\"${_dt}\"|g" -e "s|__TIME__|\"${_tm}\"|g" -i 'pparport26/pparport_pc.c'
# Improve install
+ #cp -p 'pserial/Makefile'{,.Arch}
+ #cp -p 'pparport26/Makefile'{,.Arch}
sed -e 's:lib/:usr/lib/:g' \
- -e '# Forgot to clean a few things' \
- -e '/\*\.o\.cmd/ s:^.*$:& *.symvers *.order *.mod.c .*.ko.cmd .*.o.d\n\trm -rf .tmp_versions:g' \
+ -e '# Forgot to clean a few things and some new files for gcc8' \
+ -e '/\*\.o\.cmd/ s:^.*$:& *.symvers *.order *.mod.c .*.ko.cmd .*.o.d .cache.mk\n\trm -rf .tmp_versions:g' \
-i 'pserial/Makefile' 'pparport26/Makefile'
+ ! test -s 'pserial/Makefile.Arch' || echo "${}"
+ ! test -s 'pparport26/Makefile.Arch' || echo "${}"
+
+ # Patch
+ #cp -pr "${srcdir}/${_srcdir}"{,.orig-0000}
+ #diff -pNaru5 perle-serial-3.9.2{.orig-0000,} > '0000-kernel-4.11-signal_pending.patch'
+ patch -Nup1 -i "${srcdir}/0000-kernel-4.11-signal_pending.patch"
set +u
}
build() {
set -u
cd "${_srcdir}"
- if [ "${_opt_PARALLEL}" -ne 0 ]; then
+ # Always build both so we know when patches are needed
+ #if [ "${_opt_PARALLEL}" -ne 0 ]; then
make -C 'pparport26' -s -j1
- fi
- if [ "${_opt_SERIAL}" -ne 0 ]; then
+ #fi
+ #if [ "${_opt_SERIAL}" -ne 0 ]; then
make -C 'pserial' -s -j1 # too small for parallel make
- fi
+ #fi
set +u
}
@@ -184,7 +199,7 @@ package() {
fi
if [ "${_opt_SERIAL}" -ne 0 ]; then
make -C 'pserial' -s -j1 DESTDIR="${pkgdir}/" PERLE_DIR="${srcdir}/${_srcdir}" rpm_install
- # Cat fight!
+ # Cat fight to add head and tail to existing file
cat <(cat << EOF
#!/usr/bin/sh