improve rpm spec and deb postinst scripts

This commit is contained in:
Craig Raw 2025-02-04 11:07:30 +02:00
parent 686c008e97
commit a53812c12f
2 changed files with 36 additions and 39 deletions

View file

@ -22,27 +22,19 @@ package_type=deb
case "$1" in
configure)
# Install desktop menu
xdg-desktop-menu install /opt/sparrow/lib/sparrow-Sparrow.desktop
# Install mime info
xdg-mime install /opt/sparrow/lib/sparrow-Sparrow-MimeInfo.xml
# Install the udev rules
install -m 644 /opt/sparrow/lib/runtime/conf/udev/*.rules /etc/udev/rules.d
# Reload the udev rules
udevadm control --reload
# Optionally trigger udev rules for currently connected devices
udevadm trigger
# Make sure the plugdev group exists
groupadd -f plugdev
# Make sure the current user is added to plugdev
usermod -aG plugdev `whoami`
install -D -m 644 /opt/sparrow/lib/runtime/conf/udev/*.rules /etc/udev/rules.d
if ! getent group plugdev > /dev/null; then
groupadd plugdev
fi
if ! groups "${SUDO_USER:-$(whoami)}" | grep -q plugdev; then
usermod -aG plugdev "${SUDO_USER:-$(whoami)}"
fi
if [ -x /bin/udevadm ]; then
/bin/udevadm control --reload
/bin/udevadm trigger
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)

View file

@ -69,36 +69,41 @@ sed -i -e 's/.*/%dir "&"/' %{package_filelist}
%if "x%{_rpmdir}/../../LICENSE" != "x"
sed -i -e 's|"%{license_install_file}"||' -e '/^$/d' %{package_filelist}
%endif
install -D -m 644 %{_sourcedir}/opt/sparrow/lib/runtime/conf/udev/*.rules %{buildroot}/etc/udev/rules.d
echo "/etc/udev/rules.d/20-hw1.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/51-coinkite.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/51-trezor.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/51-usb-keepkey.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/53-hid-bitbox02.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/54-hid-bitbox02.rules" >> %{package_filelist}
echo "/etc/udev/rules.d/55-usb-jade.rules" >> %{package_filelist}
%files -f %{package_filelist}
%if "x%{_rpmdir}/../../LICENSE" != "x"
%license "%{license_install_file}"
%endif
%config(noreplace) /etc/udev/rules.d/20-hw1.rules
%config(noreplace) /etc/udev/rules.d/51-coinkite.rules
%config(noreplace) /etc/udev/rules.d/51-trezor.rules
%config(noreplace) /etc/udev/rules.d/51-usb-keepkey.rules
%config(noreplace) /etc/udev/rules.d/53-hid-bitbox02.rules
%config(noreplace) /etc/udev/rules.d/54-hid-bitbox02.rules
%config(noreplace) /etc/udev/rules.d/55-usb-jade.rules
%post
package_type=rpm
# Install desktop menu
xdg-desktop-menu install /opt/sparrow/lib/sparrow-Sparrow.desktop
# Install mime info
xdg-mime install /opt/sparrow/lib/sparrow-Sparrow-MimeInfo.xml
# Install udev rules
install -m 644 /opt/sparrow/lib/runtime/conf/udev/*.rules /etc/udev/rules.d
# Reload udev rules
udevadm control --reload
# Optionally trigger udev rules
udevadm trigger
# Make sure the plugdev group exists
groupadd -f plugdev
# Make sure the current user is added to plugdev
usermod -aG plugdev `whoami`
if ! getent group plugdev > /dev/null; then
groupadd plugdev
fi
if ! groups "${SUDO_USER:-$(whoami)}" | grep -q plugdev; then
usermod -aG plugdev "${SUDO_USER:-$(whoami)}"
fi
if [ -x /bin/udevadm ]; then
/bin/udevadm control --reload
/bin/udevadm trigger
fi
%pre
package_type=rpm