summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2017-08-17 19:58:59 -0400
committerChris Severance2017-08-17 19:58:59 -0400
commitde6cad5628ed0a2f7f61589c87f4374677769488 (patch)
tree11fd212d3aac4b4d187c1588b3345f58d7b92d7a
parent0b5c2fab73a37f56412852b8ed350917cb40c79c (diff)
downloadaur-de6cad5628ed0a2f7f61589c87f4374677769488.tar.gz
Disable mxser after crash
-rw-r--r--PKGBUILD32
-rw-r--r--moxa-mxser-mxupcie-install.sh8
2 files changed, 28 insertions, 12 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f99b90dd9639..b5f5ec28a88c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
-# TODO: Test msdiag for Smartio/Industio card
+# TODO: Test msdiag for Smartio/Industio card. Can't test until mxser works.
# TODO: Test mxser with supported PCI card
# TODO: Get remaining tools mon and term that use mxlib.a and wlib.a to compile. Nothing in the headers look secret so Moxa should release the source code.
# TODO: mxupcie does not report itself for lspci -k Kernel driver in use:
@@ -8,6 +8,7 @@
# TODO: Test CP-114EL on Syba cable
_opt_DKMS=1 # This can be toggled between installs
+_opt_MXSER=0 # Old PCI and ISA cards, with C168H IRQ error then crashed on unload
# mxser
# C104 C168
@@ -33,7 +34,10 @@ _opt_DKMS=1 # This can be toggled between installs
set -u
-_modulenames=('mxupcie' 'mxser')
+_modulenames=('mxupcie')
+if [ "${_opt_MXSER}" -ne 0 ]; then
+ _modulenames+=('mxser')
+fi
_origmodname='8250_moxa'
pkgname='moxa-mxser-mxupcie'
@@ -126,7 +130,9 @@ build() {
set -u
cd "${_srcdir}"
make -C 'utility/conf' -s -j1 # too small for parallel make
- make -C 'utility/diag' -s -j1 # too small for parallel make
+ if [ "${_opt_MXSER}" -ne 0 ]; then
+ make -C 'utility/diag' -s -j1 # too small for parallel make
+ fi
make -C 'driver' -s -j1 module # too small for parallel make
set +u
}
@@ -136,7 +142,9 @@ package() {
cd "${_srcdir}"
install -Dpm755 'utility/conf/muestty' "${pkgdir}/usr/bin/moxa-muestty"
- install -Dpm755 'utility/diag/msdiag' "${pkgdir}/usr/bin/moxa-msdiag"
+ if [ "${_opt_MXSER}" -ne 0 ]; then
+ install -Dpm755 'utility/diag/msdiag' "${pkgdir}/usr/bin/moxa-msdiag"
+ fi
make -C 'driver' -s -j1 install DESTDIR="${pkgdir}"
# Don't install twice
@@ -153,13 +161,13 @@ After=network.target
[Service]
Type=notify
-ExecStart=/usr/bin/bash -c 'source /etc/moxa-mxser-settings.sh; systemd-notify --ready'
+ExecStart=/usr/bin/bash -c 'source /etc/${pkgname}.sh; systemd-notify --ready'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
- ) "${pkgdir}/usr/lib/systemd/system/moxa-mxser-settings.service"
+ ) "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm644 <(cat << EOF
# From driver/rx.mxser
@@ -170,7 +178,7 @@ EOF
# moxa-muestty -t xxx /dev/ttyMUE0
# moxa-muestty -p xxx /dev/ttyMUE0
EOF
- ) "${pkgdir}/etc/moxa-mxser-settings.sh"
+ ) "${pkgdir}/etc/${pkgname}.sh"
# Blacklist exiting incomplete built in module
install -Dm644 <(cat << EOF
@@ -237,13 +245,17 @@ BUILT_MODULE_NAME[0]="${_modulenames[0]}"
BUILT_MODULE_LOCATION[0]="driver"
# The install version is .ko.gz. The DKMS version is .ko. No conflicts.
DEST_MODULE_LOCATION[0]="/kernel/drivers/char"
+EOF
+ ) "${_dkms}/dkms.conf"
+ if [ "${_opt_MXSER}" -ne 0 ]; then
+ cat >> "${_dkms}/dkms.conf" << EOF
BUILT_MODULE_NAME[1]="${_modulenames[1]}"
BUILT_MODULE_LOCATION[1]="driver"
# The install version is .ko.gz. The DKMS version is .ko. No conflicts.
DEST_MODULE_LOCATION[1]="/kernel/drivers/char"
EOF
- ) "${_dkms}/dkms.conf"
+ fi
cp -pr 'driver/' "${_dkms}/"
rm "${_dkms}/driver"/{msmknod,mxconf,rc.mxser}
sed -e '/^KERNEL_/ s:shell uname -r:shell echo "$(KERNELRELEASE)":g' \
@@ -258,6 +270,10 @@ EOF
-e '# Disable non kernel utilities' \
-e 's:^UTILS:# &:g' \
-i "${_dkms}/driver/Makefile"
+ if [ "${_opt_MXSER}" -eq 0 ]; then
+ sed -e '/obj/ s:$(TARGET_DRIVER1).o::g' -i "${_dkms}/driver/Makefile"
+ rm "${_dkms}/driver"/mxser.*
+ fi
make -s -C "${_dkms}/driver/" clean KERNELRELEASE="$(uname -r)"
fi
set +u
diff --git a/moxa-mxser-mxupcie-install.sh b/moxa-mxser-mxupcie-install.sh
index 0ac5713116d7..ed1997f9733b 100644
--- a/moxa-mxser-mxupcie-install.sh
+++ b/moxa-mxser-mxupcie-install.sh
@@ -1,5 +1,5 @@
_pkgname='moxa-mxser-mxupcie'
-_modulenames=('mxupcie' 'mxser')
+_modulenames=('mxupcie')
_origmodname='8250_moxa'
post_upgrade() {
@@ -23,8 +23,8 @@ post_upgrade() {
post_install() {
set -u
post_upgrade
- systemctl enable 'moxa-mxser-settings.service'
- systemctl start 'moxa-mxser-settings.service'
+ systemctl enable "${_pkgname}.service"
+ systemctl start "${_pkgname}.service"
set +u
}
@@ -36,7 +36,7 @@ pre_remove() {
rmmod "${_modulename}"
done
fi
- systemctl disable 'moxa-mxser-settings.service'
+ systemctl disable "${_pkgname}.service"
set +u
}