hplip: ensure CUPS PPD directory cannot be deleted by XBPS

Fixes #20689. Until XBPS can track make_dirs and prevent their removal
when other packages are removed, this is accomplished by creating an
empty hidden file in the /usr/share/cups/model.
This commit is contained in:
Andrew J. Hesford 2020-07-30 11:05:25 -04:00
parent 5dfa21e303
commit c77494f104
1 changed files with 10 additions and 4 deletions

View File

@ -1,7 +1,7 @@
# Template file for 'hplip' # Template file for 'hplip'
pkgname=hplip pkgname=hplip
version=3.20.6 version=3.20.6
revision=2 revision=3
build_style=gnu-configure build_style=gnu-configure
pycompile_dirs="usr/share/hplip" pycompile_dirs="usr/share/hplip"
configure_args=" configure_args="
@ -19,8 +19,7 @@ configure_args="
--enable-pp-build --enable-pp-build
--with-mimedir=/usr/share/cups/mime" --with-mimedir=/usr/share/cups/mime"
conf_files="/etc/hp/hplip.conf" conf_files="/etc/hp/hplip.conf"
make_dirs="/var/lib/hp 0755 root root make_dirs="/var/lib/hp 0755 root root"
/usr/share/cups/model 0755 root root"
hostmakedepends="pkg-config automake libtool python3" hostmakedepends="pkg-config automake libtool python3"
makedepends="libressl-devel python3-devel libxml2-python3 cups-devel sane-devel makedepends="libressl-devel python3-devel libxml2-python3 cups-devel sane-devel
ghostscript-devel net-snmp-devel libusb-devel libjpeg-turbo-devel dbus-devel" ghostscript-devel net-snmp-devel libusb-devel libjpeg-turbo-devel dbus-devel"
@ -47,9 +46,15 @@ do_install() {
sed -i Makefile -e "s;ppd/hpcups/\\*.ppd.gz;;g" sed -i Makefile -e "s;ppd/hpcups/\\*.ppd.gz;;g"
make locatedriverdir=/usr/libexec/hplip dat2drvdir=/usr/libexec/hplip \ make locatedriverdir=/usr/libexec/hplip dat2drvdir=/usr/libexec/hplip \
rulesdir=/usr/lib/udev/rules.d DESTDIR=${DESTDIR} install rulesdir=/usr/lib/udev/rules.d DESTDIR=${DESTDIR} install
# Move sane config to dll.d to avoid conflicts # Move sane config to dll.d to avoid conflicts
vmkdir etc/sane.d/dll.d vmkdir etc/sane.d/dll.d
mv ${DESTDIR}/etc/sane.d/dll.conf ${DESTDIR}/etc/sane.d/dll.d/hplip mv ${DESTDIR}/etc/sane.d/dll.conf ${DESTDIR}/etc/sane.d/dll.d/hplip
# This directory is a hard requirement, prevent its removal
vmkdir usr/share/cups/model
touch ${DESTDIR}/usr/share/cups/model/.hplip
# remove autostart of hp-daemon # remove autostart of hp-daemon
rm -rf ${DESTDIR}/etc/xdg rm -rf ${DESTDIR}/etc/xdg
# remove unwanted files # remove unwanted files
@ -75,7 +80,8 @@ hplip-gui_package() {
depends="python3-gobject python3-dbus desktop-file-utils depends="python3-gobject python3-dbus desktop-file-utils
foomatic-db foomatic-db-engine python3-distro python3-PyQt5-dbus" foomatic-db foomatic-db-engine python3-distro python3-PyQt5-dbus"
short_desc+=" (with GUI)" short_desc+=" (with GUI)"
conflicts="hplip" conflicts="${sourcepkg}"
provides="${sourcepkg}-${version}_${revision}"
pkg_install() { pkg_install() {
vmove usr/bin/hp-toolbox vmove usr/bin/hp-toolbox
vmove usr/share/applications vmove usr/share/applications