aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authort-onoz2018-03-24 19:28:59 +0900
committert-onoz2018-03-24 19:28:59 +0900
commit00aefaa57141843f5086d9c30a8c36a08c9c800c (patch)
tree4b560fa3fca9555e6e6d2e545a8b432c320f661f
parent78475badc00d236f76c87e4a11739a69cf14194a (diff)
downloadaur-00aefaa57141843f5086d9c30a8c36a08c9c800c.tar.gz
upgpkg: ni-visa 17.0.0-2
install usb-related scripts and 32-bit libraries
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD55
-rw-r--r--ni-visa.install44
-rw-r--r--ni-visa.patch46
4 files changed, 127 insertions, 30 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e2430d85e8b1..b6164722501f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,27 @@
pkgbase = ni-visa
pkgdesc = National Instruments NI-VISA(TM) Library for Linux.
pkgver = 17.0.0
- pkgrel = 1
+ pkgrel = 2
url = https://www.ni.com/visa/
install = ni-visa.install
arch = x86_64
license = custom
depends = gcc-libs
+ depends = bash
optdepends = python2-pyvisa: python 2 frontend
optdepends = python-pyvisa: python 3 frontend
+ optdepends = lib32-gcc-libs: for 32-bit libraries
+ provides = ni-visa
+ provides = lib32-ni-visa
+ backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini
+ backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini
+ backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/visaconf.ini
+ backup = etc/udev/rules.d/99-nivisa_usbraw.rules
source = http://ftp.ni.com/support/softlib/visa/NI-VISA/17.0/Linux/NI-VISA-17.0.0.iso
+ source = ni-visa.patch
source = 99-usbtmc.rules
md5sums = d114b70ce0802fa6bd7173a6f23f7257
+ md5sums = d46807a8283d8497d316778ac266d514
md5sums = cdfd2e18de4370001bfbe0226cf04b18
pkgname = ni-visa
diff --git a/PKGBUILD b/PKGBUILD
index 69005a62a043..c3015732dbcc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,48 +1,67 @@
-# Maintainer: Tomoya Onozuka <t [dot] (family name in lower case) [dot] 1990 [at] gmail [dot] com>
+# Maintainer: t-onoz <t [dot] onozuka [dot] 1990 [at] (g-mail)>>
# Contributor: Grey Christoforo <first name [at] last name [dot] net>
pkgname=('ni-visa')
_pkgbase=('ni-visa')
+provides=('ni-visa' 'lib32-ni-visa')
pkgver=17.0.0
_short_ver=${pkgver%.0}
-pkgrel=1
+pkgrel=2
pkgdesc="National Instruments NI-VISA(TM) Library for Linux."
url="https://www.ni.com/visa/"
arch=('x86_64')
license=('custom')
-depends=('gcc-libs')
+depends=('gcc-libs' 'bash')
optdepends=('python2-pyvisa: python 2 frontend'
-'python-pyvisa: python 3 frontend')
+'python-pyvisa: python 3 frontend'
+'lib32-gcc-libs: for 32-bit libraries')
source=("http://ftp.ni.com/support/softlib/visa/NI-VISA/${_short_ver}/Linux/NI-VISA-${pkgver}.iso"
+"ni-visa.patch"
"99-usbtmc.rules")
md5sums=('d114b70ce0802fa6bd7173a6f23f7257'
+ 'd46807a8283d8497d316778ac266d514'
'cdfd2e18de4370001bfbe0226cf04b18')
install='ni-visa.install'
-prepare() {
- bsdtar -xvf ${srcdir}/nivisa-${pkgver}f*.tar.gz
+_vxipnppath="opt/${_pkgbase}/usr/local/vxipnp"
- cd "${srcdir}"
- for f in ${srcdir}/rpms/*.rpm; do
- bsdtar -xf $f
+backup=("${_vxipnppath}/linux/NIvisa/Passport64/nivisa.ini"
+ "${_vxipnppath}/linux/NIvisa/Passport/nivisa.ini"
+ "${_vxipnppath}/linux/NIvisa/visaconf.ini"
+ "etc/udev/rules.d/99-nivisa_usbraw.rules")
+
+prepare() {
+ bsdtar -xf "${srcdir}"/nivisa-${pkgver}f*.tar.gz
+ mkdir -p "${srcdir}"/extract
+ for f in "${srcdir}"/rpms/nivisa{-32bit,}-${pkgver}-f*.x86_64.rpm; do
+ bsdtar -xf $f -C "${srcdir}"/extract
done
- sed -i -e 's/passportEnabled2 = 1/passportEnabled2 = 0/' "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini"
- sed -i -e 's/passportEnabled2 = 1/passportEnabled3 = 0/' "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini"
+ cd "${srcdir}"
+ patch -p1 -i "${srcdir}"/ni-visa.patch
}
package() {
- _vxipnppath="opt/${_pkgbase}/usr/local/vxipnp"
- mkdir -p "${pkgdir}/usr/"{include,lib} "${pkgdir}/${_vxipnppath}/linux/" "${pkgdir}/etc/profile.d"
+ mkdir -p "${pkgdir}"/usr/{include,lib,lib32,bin}
+ mkdir -p "${pkgdir}"/opt/${_pkgbase}/usr/local/
+ mkdir -p "${pkgdir}"/etc/{profile.d,natinst}
+ mkdir -p "${pkgdir}"/etc/udev/rules.d
- cp -R "${srcdir}/usr/local/vxipnp/linux/"{include,lib64} "${pkgdir}/${_vxipnppath}/linux/"
- install -Dm644 "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini" "${pkgdir}/${_vxipnppath}/linux/NIvisa/Passport64/nivisa.ini"
+ echo > "${pkgdir}"/etc/udev/rules.d/99-nivisa_usbraw.rules
- for f in "${pkgdir}/${_vxipnppath}/linux/lib64/"*.so; do
- ln -s "${f#${pkgdir}}" "${pkgdir}/usr/lib/"
- done
+ cp -a "${srcdir}"/extract/usr/local/vxipnp "${pkgdir}"/${_vxipnppath}
+
+ ln -s /${_vxipnppath}/linux/lib64/libvisa.so "${pkgdir}"/usr/lib/libvisa.so
+ ln -s /${_vxipnppath}/linux/bin/libvisa.so "${pkgdir}"/usr/lib32/libvisa.so
for f in "${pkgdir}/${_vxipnppath}/linux/include/"*.h; do
ln -s "${f#${pkgdir}}" "${pkgdir}/usr/include/"
done
+ echo "/${_vxipnppath}" > "${pkgdir}"/${_vxipnppath}/etc/nivisa.dir
+ echo "/${_vxipnppath}" > "${pkgdir}"/${_vxipnppath}/etc/vxipnp.dir
+ ln -s /${_vxipnppath}/etc "${pkgdir}"/etc/natinst/nivisa
+ ln -s /${_vxipnppath}/etc "${pkgdir}"/etc/natinst/vxipnp
+
+ ln -s /${_vxipnppath}/linux/NIvisa/USB/AddUsbRawPermissions.sh "${pkgdir}"/usr/bin/AddUsbRawPermissions.sh
+
install -Dm644 99-usbtmc.rules "${pkgdir}/usr/lib/udev/rules.d/99-usbtmc.rules"
echo "export VXIPNPPATH=/${_vxipnppath}" > "${pkgdir}/etc/profile.d/vxipnppath.sh"
install -D -m644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
diff --git a/ni-visa.install b/ni-visa.install
index 10d2079d5a2b..0086ea8cc8fc 100644
--- a/ni-visa.install
+++ b/ni-visa.install
@@ -1,20 +1,42 @@
post_install() {
-
- getent group usbtmc || groupadd -r usbtmc
- udevadm control --reload-rules 2>/dev/null
+ echo 'Adding usbtmc and usbraw groups'
+ getent group usbtmc >/dev/null || groupadd -r usbtmc
+ getent group usbraw >/dev/null || groupadd -r usbraw
+ udevadm control --reload-rules
cat << EOF
-===>
-===> Please re-login to renew environment variable.
-===> If USB-based devices do not run properly, check the following:
-===> # gpasswd -a <user> usbtmc
-===> # rmmod usbtmc
+
+
+----------------------------------------------------------------------------------
+===> NOTES FOR USAGE
+===>
+===> 1) Please logout & login to renew environment variable before first use.
+===>
+===> 2) If Usb-raw devices do not work, try following (as root) and restart your PC:
+===> # AddUsbRawPermissions.sh
+===> # gpasswd -a <user> usbraw
+===>
+===> 3) If USB-TMC devices do not work, try following (as root) and restart your PC:
+===> # gpasswd -a <user> usbtmc
+===> # rmmod usbtmc
+===> # echo 'blacklist usbtmc' > /etc/modprobe.d/nousbtmc.conf
===> refs: http://digital.ni.com/public.nsf/allkb/A10090850FF0887A86257926007A7E96
===> https://github.com/python-ivi/python-usbtmc#configuring-udev
-===>
+===>
+----------------------------------------------------------------------------------
+
+
EOF
}
+post_upgrade() {
+ post_install $1
+}
+
post_remove() {
- groupdel usbtmc >/dev/null 2>&1 || true
-} \ No newline at end of file
+ rm -f /etc/udev/rules.d/99-nivisa_usbraw.rules && echo 'Removed udev rules created by AddUsbRawPermissions.sh'
+ udevadm control --reload-rules
+ getent group usbtmc >/dev/null && groupdel usbtmc
+ getent group usbraw >/dev/null && groupdel usbraw
+ echo 'Removed usbtmc & usbraw groups'
+}
diff --git a/ni-visa.patch b/ni-visa.patch
new file mode 100644
index 000000000000..494065d0adf7
--- /dev/null
+++ b/ni-visa.patch
@@ -0,0 +1,46 @@
+diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini
+--- src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini 2017-03-25 08:52:05.000000000 +0900
++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini 2018-03-24 18:32:27.144522431 +0900
+@@ -9,7 +9,7 @@
+ passportEnabled2 = 1
+ LibName2 = libnivivxi.so
+ LibDescription2 = "NI-VISA Passport for VXI"
+-passportEnabled3 = 1
++passportEnabled3 = 0
+ LibName3 = libnivipxi.so
+ LibDescription3 = "NI-VISA Passport for PXI/PCI"
+ passportEnabled4 = 1
+diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini
+--- src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini 2017-03-25 08:52:02.000000000 +0900
++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini 2018-03-24 18:31:09.164521694 +0900
+@@ -6,7 +6,7 @@
+ passportEnabled1 = 1
+ LibName1 = libnivi488.so
+ LibDescription1 = "NI-VISA Passport for GPIB"
+-passportEnabled2 = 1
++passportEnabled2 = 0
+ LibName2 = libnivipxi.so
+ LibDescription2 = "NI-VISA Passport for PXI/PCI"
+ passportEnabled3 = 1
+diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh src.new/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh
+--- src.old/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh 2017-03-25 08:52:05.000000000 +0900
++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh 2018-03-24 18:46:31.000000000 +0900
+@@ -189,12 +189,15 @@
+ NIVISA_USBRAW_VENDORID_BASE=`expr substr ${NIVISA_USBRAW_VENDORID} 3 4 | tr '[A-Z]' '[a-z]'`
+ NIVISA_USBRAW_PRODUCTID_BASE=`expr substr ${NIVISA_USBRAW_PRODUCTID} 3 4 | tr '[A-Z]' '[a-z]'`
+ # Adding this line to the file "/etc/udev/rules.d/nivisa_raw.rules"
+- echo "SUBSYSTEM==\"usb\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", RUN+=\"/etc/udev/agents.d/usb/nivisa_usbraw\"" >> "/etc/udev/rules.d/nivisa_usbraw.rules"
+- echo "SUBSYSTEM==\"usb_device\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", RUN+=\"/etc/udev/agents.d/usb/nivisa_usbraw\"" >> "/etc/udev/rules.d/nivisa_usbraw.rules"
++ echo "SUBSYSTEM==\"usb\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", ACTION==\"add\", GROUP=\"usbraw\", MODE=\"0666\"" >> "/etc/udev/rules.d/99-nivisa_usbraw.rules"
++ echo "SUBSYSTEM==\"usb_device\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", ACTION==\"add\", GROUP=\"usbraw\", MODE=\"0666\"" >> "/etc/udev/rules.d/99-nivisa_usbraw.rules"
+ if [ $? != 0 ] ; then
+- echo "An error occurred while trying to write to \"/etc/udev/rules.d/nivisa_usbraw.rules\"."
++ echo "An error occurred while trying to write to \"/etc/udev/rules.d/99-nivisa_usbraw.rules\"."
+ echo "Aborted."
+ exit 1
++ else
++ echo "Added udev rules in \"/etc/udev/rules.d/99-nivisa_usbraw.rules\"."
++ echo ""
+ fi
+
+ # Ensure that udev will update the rules it uses