Skip to content

Commit

Permalink
improve rpm spec and deb postinst scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
craigraw committed Feb 4, 2025
1 parent 686c008 commit a53812c
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 39 deletions.
30 changes: 11 additions & 19 deletions src/main/deploy/package/linux/postinst
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
45 changes: 25 additions & 20 deletions src/main/deploy/package/linux/sparrow.spec
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit a53812c

Please sign in to comment.