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

View file

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