diff --git a/CMakeLists.txt b/CMakeLists.txt index 922678c76c4fe43969f947e83104bfc6b90fcc9e..29e1065439fd78ce5486d99f8b6a9148a44baa23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,7 +90,7 @@ IF (UNIX) SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "labrobotica - labrobotica@iri.upc.edu") # Uncomment to add the necessary mantainer scripts -# SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/package_scripts/preinst;${CMAKE_SOURCE_DIR}/package_scripts/postinst;${CMAKE_SOURCE_DIR}/package_scripts/prerm;${CMAKE_SOURCE_DIR}/package_scripts/postrm") + SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/scripts/debian/postinst;${CMAKE_SOURCE_DIR}/scripts/debian/prerm") # Uncomment to add dependencies comma separated # SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-<package_name>-dev (>= 1.0~${DISTRIB})") diff --git a/scripts/debian/postinst b/scripts/debian/postinst new file mode 100644 index 0000000000000000000000000000000000000000..cb95760b63e2525dcbd92f5c537ec2f674b8431c --- /dev/null +++ b/scripts/debian/postinst @@ -0,0 +1,42 @@ +#!/bin/bash + +set -e + +case "$1" in + configure) + echo " Addind user to dialout group..." + sudo usermod -a -G dialout $SUDO_USER + echo " Done." + echo " Adding ftdi udev rule..." + + FILE="/etc/udev/rules.d/99-ftdi.rules" + LINE0="#The following line allow the users on dialout to access SUBSYSTEM:VENDOR:PRODUCT=usb|usb_device:0403:6001 devices" + LINE1="SUBSYSTEM==\"usb|usb_device\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6001\", GROUP=\"dialout\"" + + sudo touch $FILE + grep -qF -- "$LINE0" "$FILE" || echo "$LINE0" | sudo tee -a "$FILE" > /dev/null + grep -qF -- "$LINE1" "$FILE" || echo "$LINE1" | sudo tee -a "$FILE" > /dev/null + + sudo udevadm control --reload-rules + sudo service udev restart + echo " Done. Need to unplug-plug devices for changes to take effect" + ;; + abort-upgrade) + + ;; + abort-remove) + + ;; + abort-deconfigure) + + ;; +esac + +# usermod -a -G dialout $SUDO_USER + +# echo "SUBSYSTEM==\"usb|usb_device\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6001\", GROUP=\"dialout\"" > /etc/udev/rules.d/99-ftdi.rules + +# udevadm control --reload-rules +# service udev restart + +exit 0 diff --git a/scripts/debian/prerm b/scripts/debian/prerm new file mode 100644 index 0000000000000000000000000000000000000000..05ba2b220f8cf28e1dd147b4740db4888a94fc75 --- /dev/null +++ b/scripts/debian/prerm @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +case "$1" in + remove) + # echo " Removing ftdi udev rule..." + # FILE="/etc/udev/rules.d/99-ftdi.rules" + + # sudo sed -i -E "/SUBSYSTEM.*usb.usb_device.*idVendor.*0403.*idProduct.*6001.*GROUP.*dialout\"/d" $FILE + # sudo sed -i -E "/#The following line allow the users on dialout to access SUBSYSTEM:VENDOR:PRODUCT=usb|usb_device:0403:6001 devices/d" $FILE + + # sudo udevadm control --reload-rules + # sudo service udev restart + # echo " Done. Need to unplug-plug devices for changes to take effect" + + echo "---=== WARNING: The user continues on the dialout group. Remove it if necessary. ===---" + echo "---=== WARNING: The ftdi udev rule wasn't removed from 99-ftdi.rules. Remove it if necessary. ===---" + ;; + upgrade) + + ;; + deconfigure) + + ;; + failed-upgrade) + + ;; +esac + +exit 0