New review comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/40434#discussion_r1058464119 Comment: Use `vinstall`, that's what it was made for. Not only does it make directories as needed, but we can remove the group-write bit from all of these files. Also, I don't see why we need the original `-${_arch}` in the names if you're just going to symlink these to generic names (presumably `hplip` expects to find generic names anyway), so just drop the symlink and install the files with their generic names in the first place. (If that doesn't work, just drop the fourth argument from `vinstall` and keep your `find` loop.) ```suggestion local _arch _f case "$XBPS_TARGET_MACHINE" in i686) _arch='x86_32' ;; x86_64) _arch='x86_64' ;; armv[67]l) _arch='arm32' ;; aarch64) _arch='arm64' ;; esac vinstall plugin.spec 0644 usr/share/hplip for _f in hp_laserjet_*.fw.gz; do vinstall "${_f}" 0644 usr/share/hplip/data/firmware done vinstall "fax_marvell-${_arch}.so" 0755 \ usr/share/hplip/fax/plugins fax_marvell.so vinstall "hbpl1-${_arch}.so" 0755 \ usr/share/hplip/prnt/plugins hbpl1.so vinstall "lj-${_arch}.so" 0755 \ usr/share/hplip/prnt/plugins lj.so for _f in bb_*-"${_arch}.so"; do vinstall "${_f}" 0755 \ usr/share/hplip/scan/plugins "${_f/-${_arch}}" done vlicense license.txt cat <<-EOF > hplip.state [plugin] installed = 1 eula = 1 version = ${version} EOF vinstall hplip.state 0644 var/lib/hp ```