diff --git a/office/cups-pdf/README b/office/cups-pdf/README index 773eae8a31..d951e89324 100644 --- a/office/cups-pdf/README +++ b/office/cups-pdf/README @@ -1,4 +1,7 @@ cups-pdf is designed to produce PDF files by providing a PDF printer. -See README.SBo for setup information. +See README.SBo for setup information. + +Users of older versions (i.e < 2.5.0) will have to look at +UPGRADE.TXT before upgrading. diff --git a/office/cups-pdf/README.SBo b/office/cups-pdf/README.SBo index 22ff32d60f..34c77852b3 100644 --- a/office/cups-pdf/README.SBo +++ b/office/cups-pdf/README.SBo @@ -35,24 +35,26 @@ Welcome to CUPS-PDF v2 Important notes: ================ - *CUPS-PDF requires root privileges since it has to modify file ownerships. - In recent distributions the "RunAsUser" option in cupsd.conf is set to - "Yes" which removes these privileges. Please make sure to set - "RunAsUser No" if you want to use CUPS-PDF. - *** Starting with version 1.2.0 CUPS implements the "RunAsOption" no - longer. In order to ensure CUPS-PDF is running with the required root - privileges you have to make 'root' the owner of the cups-pdf backend - and set the file permissions of the backend to 0700 (root only). - *make sure if any of CUPS-PDF's working directories (e.g. output) is a - NFS mounted volume it is mounted without root_squash! - *CUPS-PDF is known to fail if the gs (GhostScript) binary on a system is - compressed by upx (Ultimate Packer for eXecutables). - *if you are using SELinux make sure it does not interfere with CUPS-PDF - (you can disable SELinux for CUPS by "setsebool -P cupsd_disable_trans 1" - or have a look at contrib/SELinux-HOWTO to make it work) + + * CUPS-PDF requires root privileges since it has to modify file ownerships. + In order to ensure CUPS-PDF is running with the required root privileges + you have to make 'root' the owner of the cups-pdf backend and set the + file permissions of the backend to 0700 (root only). + NOTE: in older versions of CUPS (<1.2.0) you have to set the "RunAsUser" + option in cupsd.conf to "No" in order to grant full privileges. + * CUPS-PDF needs a fully featured UNIX-filesystem to work. Make sure if any + of CUPS-PDF's working directories (e.g. output) are located on an NFS + mounted volume they are mounted without root_squash! Other filesystems + (e.g. NetWare or Windows shares) are _not_ supported! + * CUPS-PDF is known to fail if the gs (GhostScript) binary on a system is + compressed by upx (Ultimate Packer for eXecutables). + * If you are using SELinux, AppArmour or similar tools, make sure these do + not interfere with CUPS-PDF. + (You can disable SELinux for CUPS by "setsebool -P cupsd_disable_trans 1" + or have a look at contrib/SELinux-HOWTO to make it work) - Now after restarting CUPS you will be able to choose "Virtual Printer (PDF - Printer)" when setting up a new printer in CUPS. + Now you will be able to choose "CUPS-PDF (Virtual PDF Printer)" when + setting up a new printer in CUPS (a CUPS-restart may be necessary). To set up a queue for other UNIX clients you should select Postscript as vendor and the Color Printer as model for your new printer; queues that get their input from samba or netatalk (i.e. Windows, OS/2 or MacOS) can be set @@ -96,7 +98,7 @@ Welcome to CUPS-PDF v2 4. contact ---------- - Volker Christian Behr + Dr. Volker Christian Behr behr@physik.uni-wuerzburg.de http://www.cups-pdf.de diff --git a/office/cups-pdf/UPGRADE.TXT b/office/cups-pdf/UPGRADE.TXT new file mode 100644 index 0000000000..26be0145c8 --- /dev/null +++ b/office/cups-pdf/UPGRADE.TXT @@ -0,0 +1,11 @@ + +Starting from 2.5.0, the SlackBuild prevents overwriting of +configuration file (i.e /etc/cups/cups-pdf.conf). + +Therefore, users of older versions (i.e < 2.5.0) who use a +customized configuration file should save it before upgrading. + +Sorry for the inconvenience. + +-- +SeB diff --git a/office/cups-pdf/cups-pdf.SlackBuild b/office/cups-pdf/cups-pdf.SlackBuild index 8ddcb08cd8..ad2b7f34be 100644 --- a/office/cups-pdf/cups-pdf.SlackBuild +++ b/office/cups-pdf/cups-pdf.SlackBuild @@ -2,10 +2,10 @@ # Slackware build script for cups-pdf # Written by Sebastien Ballet (phenixi@aliceadsl.fr) -# Modified by SlackBuilds.org +# Modified by SlackBuilds.org PRGNAM=cups-pdf -VERSION=2.4.8 +VERSION=2.5.0 ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -15,38 +15,49 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} +set -e + if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O9 -march=i486 -mtune=i686" + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O9 -march=i686 -mtune=i686" + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" fi rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $TMP || exit 1 +cd $TMP rm -rf $PRGNAM-$VERSION -tar -xvf $CWD/$PRGNAM'_'$VERSION.tar.gz || exit 1 -cd $PRGNAM-$VERSION || exit 1 +tar -xvf $CWD/$PRGNAM'_'$VERSION.tar.gz +cd $PRGNAM-$VERSION chown -R root:root . chmod -R u+w,go+r-w,a-s . -mkdir -p $PKG/usr/lib/cups/backend +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend +gcc $SLCKFLAGS -s -o $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend/cups-pdf src/cups-pdf.c + +chmod 0700 $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend/cups-pdf + mkdir -p $PKG/etc/cups +cat extra/cups-pdf.conf > $PKG/etc/cups/cups-pdf.conf.new + mkdir -p $PKG/usr/share/cups/model -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION - -gcc $SLCKFLAGS -s -o $PKG/usr/lib/cups/backend/cups-pdf src/cups-pdf.c || exit 1 - -chmod 0700 $PKG/usr/lib/cups/backend/cups-pdf - -cp -a extra/cups-pdf.conf $PKG/etc/cups cp -a extra/CUPS-PDF.ppd $PKG/usr/share/cups/model + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a COPYING ChangeLog README $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/README.SBo > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo +cat $CWD/UPGRADE.TXT > $PKG/usr/doc/$PRGNAM-$VERSION/UPGRADE.TXT + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/office/cups-pdf/cups-pdf.info b/office/cups-pdf/cups-pdf.info index 2a2810609b..32ecb27327 100644 --- a/office/cups-pdf/cups-pdf.info +++ b/office/cups-pdf/cups-pdf.info @@ -1,8 +1,8 @@ PRGNAM="cups-pdf" -VERSION="2.4.8" +VERSION="2.5.0" HOMEPAGE="http://www.cups-pdf.de/" -DOWNLOAD="http://www.cups-pdf.de/src/cups-pdf_2.4.8.tar.gz" -MD5SUM="0d17dc5e094b366c8ad43cc27c7f82c9" +DOWNLOAD="http://www.cups-pdf.de/src/cups-pdf_2.5.0.tar.gz" +MD5SUM="9194af099a8c0e9aa213505b29ec6818" MAINTAINER="Sebastien Ballet" EMAIL="phenixi@aliceadsl.fr" APPROVED="dsomero" diff --git a/office/cups-pdf/doinst.sh b/office/cups-pdf/doinst.sh new file mode 100644 index 0000000000..9ac072f3a6 --- /dev/null +++ b/office/cups-pdf/doinst.sh @@ -0,0 +1,14 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/cups/cups-pdf.conf.new +