diff options
author | Chris Severance | 2023-12-19 00:56:55 -0500 |
---|---|---|
committer | Chris Severance | 2023-12-19 00:56:55 -0500 |
commit | fda929427fc1878a666fdddbbea2a4a1530b0f15 (patch) | |
tree | 974c1d267ea91eb2186c46efbf111d003484221b | |
parent | 5114491c0f367e7112d5605a785dbdd5722d5c4c (diff) | |
download | aur-perle-serial.tar.gz |
autu: Update to 3.9.2.4-6
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | 0008-kernel-6.0-set_termios-const-ktermios.patch | 2 | ||||
-rw-r--r-- | 0009-kernel-6.6-struct-tty_operations-write-size_t.patch | 21 | ||||
-rw-r--r-- | PKGBUILD | 46 |
4 files changed, 57 insertions, 21 deletions
@@ -1,7 +1,7 @@ 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.2.4 - pkgrel = 5 + pkgrel = 6 url = https://www.perle.com/downloads/mp_speedle.shtml install = perle-serial-install.sh arch = i686 @@ -27,6 +27,7 @@ pkgbase = perle-serial source = 0006-kernel-5.15-alloc_tty_driver-put_tty_driver.patch source = 0007-kernel-6.0-serial_UART_XMIT_SIZE.patch source = 0008-kernel-6.0-set_termios-const-ktermios.patch + source = 0009-kernel-6.6-struct-tty_operations-write-size_t.patch md5sums = 85e9617af62fcab55c684fa8e4b26987 md5sums = 52f87acfeb5f5820a74ad6aa74d18acf md5sums = 6dac46dc8f094dd8f8b760a68414bd0b @@ -36,7 +37,8 @@ pkgbase = perle-serial md5sums = 47a81ca7f524a3e86abb72ae872bac74 md5sums = 128ee03b62d13384a249f6f6244d0214 md5sums = 3058470a7727ad05608a292d4850e052 - md5sums = 4e9c319ae14958bee4b96ee732e972c9 + md5sums = ac437dd477d593c042af2752d1dfaf33 + md5sums = b83c590138dcb1c23ad523bcbeb7ad72 sha256sums = d9d61a941ecfd2ff41d5450557eb9071d934497dbd10229e97c8f88b48cb9a58 sha256sums = 691e0d8d348ab9f19f0398ff79e0d4780d5110e3dd11acf3261e3f73b2983ea1 sha256sums = 31e0d244d22b16d2c0b783e38bac2d96a53cbe0ce14f2fe11142a8691ce952aa @@ -46,6 +48,7 @@ pkgbase = perle-serial sha256sums = 0c942db9e9a5f41873cc2ba6edae3372da672e8f82ea5c1266a2c905d4373319 sha256sums = 4c9e99b780353f270b96e57cd25e4ebf8e3058fa44105422ada42eb87cf798b2 sha256sums = 517e2aa68ee91bf2d8c0d6896dee2367cbc29f98ed5a3eb8392ca32028cd9b84 - sha256sums = 13b41be744f62b6c56b0b4bfcbae1707fefe6eb95d4f688e55eb99fb771d736a + sha256sums = 9780f642f30b0870c78864418f5a46bc189f27249eba312bec91538f622c2334 + sha256sums = 9c93b5166e4b13b7a2cc39868dc578a621bbe07d7295a4d10d89328cf264d055 pkgname = perle-serial diff --git a/0008-kernel-6.0-set_termios-const-ktermios.patch b/0008-kernel-6.0-set_termios-const-ktermios.patch index 772dc359e85a..6b9aa983a7d6 100644 --- a/0008-kernel-6.0-set_termios-const-ktermios.patch +++ b/0008-kernel-6.0-set_termios-const-ktermios.patch @@ -8,7 +8,7 @@ diff -pNaru5 a/pserial/perle-serial.c b/pserial/perle-serial.c } -#if (LINUX_VERSION_CODE > 0x20612) // 2.6.18 -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) +static void ps_set_termios(struct tty_struct *tty, const struct ktermios *old_termios) +#elif (LINUX_VERSION_CODE > 0x20612) // 2.6.18 static void ps_set_termios(struct tty_struct *tty, struct ktermios *old_termios) diff --git a/0009-kernel-6.6-struct-tty_operations-write-size_t.patch b/0009-kernel-6.6-struct-tty_operations-write-size_t.patch new file mode 100644 index 000000000000..dbd8b090bcd5 --- /dev/null +++ b/0009-kernel-6.6-struct-tty_operations-write-size_t.patch @@ -0,0 +1,21 @@ +diff -pNaru5 a/pserial/perle-serial.c b/pserial/perle-serial.c +--- a/pserial/perle-serial.c 2023-12-19 00:14:42.357856502 -0500 ++++ b/pserial/perle-serial.c 2023-12-19 00:14:51.337954324 -0500 +@@ -2158,12 +2158,17 @@ static int ps_write(struct tty_struct * + } + + #else // linux kernel is at least 2.6.10 - write prototype has "from_user" + // removed from parameter list. + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,6,0) + static int ps_write(struct tty_struct * tty, + const unsigned char *buf, int count) ++#else ++static ssize_t ps_write(struct tty_struct * tty, ++ const unsigned char *buf, size_t count) ++#endif + { + int c, ret = 0; + struct ps_async_struct *info = (struct ps_async_struct *)tty->driver_data; + unsigned long flags; + @@ -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 +#export KERNELRELEASE="$(basename $(dirname /usr/lib/modules/6.6.*/modules.alias))" + # Todo: /dev/ttyPS* should be created dynamically instead of all at once # See /etc/perle-serial-setultrap.sh for persistent port modes @@ -79,7 +81,7 @@ pkgname='perle-serial' #_pkgver='3.9.0-14' _pkgver='3.9.2-4' pkgver="${_pkgver//-/.}" -pkgrel='5' +pkgrel='6' 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='https://www.perle.com/downloads/mp_speedle.shtml' @@ -100,6 +102,7 @@ source=( '0006-kernel-5.15-alloc_tty_driver-put_tty_driver.patch' '0007-kernel-6.0-serial_UART_XMIT_SIZE.patch' '0008-kernel-6.0-set_termios-const-ktermios.patch' + '0009-kernel-6.6-struct-tty_operations-write-size_t.patch' ) md5sums=('85e9617af62fcab55c684fa8e4b26987' '52f87acfeb5f5820a74ad6aa74d18acf' @@ -110,7 +113,8 @@ md5sums=('85e9617af62fcab55c684fa8e4b26987' '47a81ca7f524a3e86abb72ae872bac74' '128ee03b62d13384a249f6f6244d0214' '3058470a7727ad05608a292d4850e052' - '4e9c319ae14958bee4b96ee732e972c9') + 'ac437dd477d593c042af2752d1dfaf33' + 'b83c590138dcb1c23ad523bcbeb7ad72') sha256sums=('d9d61a941ecfd2ff41d5450557eb9071d934497dbd10229e97c8f88b48cb9a58' '691e0d8d348ab9f19f0398ff79e0d4780d5110e3dd11acf3261e3f73b2983ea1' '31e0d244d22b16d2c0b783e38bac2d96a53cbe0ce14f2fe11142a8691ce952aa' @@ -120,7 +124,8 @@ sha256sums=('d9d61a941ecfd2ff41d5450557eb9071d934497dbd10229e97c8f88b48cb9a58' '0c942db9e9a5f41873cc2ba6edae3372da672e8f82ea5c1266a2c905d4373319' '4c9e99b780353f270b96e57cd25e4ebf8e3058fa44105422ada42eb87cf798b2' '517e2aa68ee91bf2d8c0d6896dee2367cbc29f98ed5a3eb8392ca32028cd9b84' - '13b41be744f62b6c56b0b4bfcbae1707fefe6eb95d4f688e55eb99fb771d736a') + '9780f642f30b0870c78864418f5a46bc189f27249eba312bec91538f622c2334' + '9c93b5166e4b13b7a2cc39868dc578a621bbe07d7295a4d10d89328cf264d055') _opt_SERIAL=1 # This is for bug testing dkms only. All cards have serial ports so this should always be enabled. @@ -188,6 +193,21 @@ prepare() { -e '/\*\.o\.cmd/ s:^.*$:& *.symvers *.order *.mod.c .*.ko.cmd .*.o.d .cache.mk\n\trm -rf .tmp_versions:g' \ -e '# Switch SUBDIRS= to M= for Kernel 5.4' \ -e 's:SUBDIRS=:M=$(PWD) &:g' \ + -e '/^KERNEL_/ s:shell uname -r:shell echo "$(KERNELRELEASE)":g' \ + -e '# No DKMS instructions say to do this but it works and keeps the MAKE line real simple' \ + -e 's:shell uname -r:KERNELRELEASE:g' \ + -e '# DKMS sets KERNELRELEASE which accidentally launches phase 2 of this Makefile' \ + -e '# Fix by changing the detection var.' \ + -e '# SUBDIRS makes more sense to me because I can see it in the Makefile!' \ + -e 's:^ifeq (\$(KERNELRELEASE),):ifeq (\$(SUBDIRS),):g' \ + -e '# Disable stuff only used for make install' \ + -e '/^base =/,/^$/ d' \ + -e '# Disable non kernel utilities' \ + -e 's:^#UTILS:# &:g' \ + -e '# Move utils to separate target' \ + -e '/^\s*all:/ s:$(UTILS).*$::g' \ + -e 's@^install:@utils: $(UTILS)\n\n&@g' \ + -e '1i KERNELRELEASE?=$(shell uname -r)' \ -i 'pserial/Makefile' 'pparport26/Makefile' ! test -s 'pserial/Makefile.Arch' || echo "${}" ! test -s 'pparport26/Makefile.Arch' || echo "${}" @@ -233,6 +253,10 @@ prepare() { # diff -pNaru5 'a' 'b' > '0008-kernel-6.0-set_termios-const-ktermios.patch' patch -Nup1 -i "${srcdir}/0008-kernel-6.0-set_termios-const-ktermios.patch" + #cd '..'; cp -pr "${_srcdir}" 'a'; ln -s "${_srcdir}" 'b'; false + # diff -pNaru5 'a' 'b' > '0009-kernel-6.6-struct-tty_operations-write-size_t.patch' + patch -Nup1 -i "${srcdir}/0009-kernel-6.6-struct-tty_operations-write-size_t.patch" + set +u } @@ -244,7 +268,7 @@ build() { make -C 'pparport26' -s -j1 #fi #if [ "${_opt_SERIAL}" -ne 0 ]; then - make -C 'pserial' -s -j1 # too small for parallel make + make -C 'pserial' -s -j1 all utils # too small for parallel make #fi set +u } @@ -284,7 +308,7 @@ EOF ) > "${pkgdir}/etc/perle-serial-setultrap.sh" sed -e 's:/bin/:/usr/bin/:g' -e 's:/usr/usr/:/usr/:g' -i "${pkgdir}/etc/perle-serial-setultrap.sh" chmod 744 "${pkgdir}/etc/perle-serial-setultrap.sh" - rm -r "${pkgdir}/UNKONWN" "${pkgdir}/etc/init.d" + rm -rf "${pkgdir}/UNKONWN" "${pkgdir}/etc/init.d" # Install persistent settings service install -Dm644 <(cat << EOF # Automatically generated by ${pkgname}-${pkgver} PKGBUILD from Arch Linux AUR @@ -375,18 +399,6 @@ EOF fi # sed 'a' can't add leading tabs so we add them here. It's also handy because this guarantees tabs not spaces. sed -e 's:^make:\t&:g' -i "${_dkms}/Makefile" - sed -e '/^KERNEL_/ s:shell uname -r:shell echo "$(KERNELRELEASE)":g' \ - -e '# No DKMS instructions say to do this but it works and keeps the MAKE line real simple' \ - -e 's:shell uname -r:KERNELRELEASE:g' \ - -e '# DKMS sets KERNELRELEASE which accidentally launches phase 2 of this Makefile' \ - -e '# Fix by changing the detection var.' \ - -e '# SUBDIRS makes more sense to me because I can see it in the Makefile!' \ - -e 's:^ifeq (\$(KERNELRELEASE),):ifeq (\$(SUBDIRS),):g' \ - -e '# Disable stuff only used for make install' \ - -e '/^base =/,/^$/ d' \ - -e '# Disable non kernel utilities' \ - -e 's:^UTILS:# &:g' \ - -i "${_dkms}"/*/'Makefile' rm "${_dkms}"/*/*.sh "${_dkms}"/*/rc.* if [ "${_opt_SERIAL}" -ne 0 ]; then make -s -C "${_dkms}/pserial" clean KERNELRELEASE="$(uname -r)" |