CUPS

From CBLFS
Revision as of 01:58, 9 January 2007 by Kalessin (talk | contribs) (I added instructions for uncompressing the man pages. They are unfortunately quite long, but my attempts to use backslashes to put them on multiple lines failed.)
Jump to navigationJump to search
Download Source: http://ftp.easysw.com/pub/cups/1.6.4/cups-1.6.4-source.tar.bz2

Introduction to CUPS

The Common Unix Printing System (CUPS) is a print spooler and associated utilities. It is based on the "Internet Printing Protocol" and provides printing services to most PostScript and raster printers.

Dependencies

Required

Optional

Note to DESTDIR Fans

Unfortunately the CUPS package ignores DESTDIR. However, CUPS has the variable BUILDROOT which has the same function, so if you use that instead, it'll be the same as using DESTDIR normally is.

Non-Multilib

Create an lp user, as CUPS will install the lppasswd command SUID to this user. Use the following command as the root user:

useradd -c "Print Service User" -d /dev/null -g lp -s /bin/false -u 9 lp

If you utilize Linux-PAM, you need to modify some files so CUPS can find needed headers. Make the appropriate modifications using the following command:

sed -i -e "s@pam/pam@security/pam@g" \
{config-scripts/cups-pam.m4,scheduler/auth.c,configure}

Compile the package:

./configure &&
make

Install the package

make install

CUPS' man pages are compressed. If want to compress them, use the following commands:

gunzip -v /usr/share/man/man1/{cancel,cups{-config,test{dsc,ppd}},lp{,options,passwd,q,rm,r,stat}}.1.gz
gunzip -v /usr/share/man/man5/{{classes,client,cups-snmp,cupsd,printers,subscriptions,mailto}.conf,mime.{convs,types}}.5.gz
gunzip -v /usr/share/man/man7/{backend,filter}.7
gunzip -v /usr/share/man/man8/{accept,cups{d,addsmb,enable,-{deviced,driverd,lpd,polld,}},lp{admin,info,move,c}}.8.gz
 rm -v /usr/share/man/man8/{reject,cupsdisable}.8.gz
 ln -sv accept.8 /usr/share/man/man8/reject.8
 ln -sv cupsenable.8 /usr/share/man/man8/cupsdisable.8

Multilib

Create an lp user, as CUPS will install the lppasswd command SUID to this user. Use the following command as the root user:

useradd -c "Print Service User" -d /dev/null -g lp -s /bin/false -u 9 lp

32Bit

If you utilize Linux-PAM, you need to modify some files so CUPS can find needed headers. Make the appropriate modifications using the following command:

sed -i -e "s@pam/pam@security/pam@g" \
{config-scripts/cups-pam.m4,scheduler/auth.c,configure}

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" USE_ARCH=32 ./configure \
    --libdir=/usr/lib &&
make

Install the package

make install &&
mv -v /usr/bin/cups-config{,-32}

N32

If you utilize Linux-PAM, you need to modify some files so CUPS can find needed headers. Make the appropriate modifications using the following command:

sed -i -e "s@pam/pam@security/pam@g" \
{config-scripts/cups-pam.m4,scheduler/auth.c,configure}

Compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" USE_ARCH=n32 ./configure \
    --libdir=/usr/lib32 &&
make

Install the package

make install &&
mv -v /usr/bin/cups-config{,-n32}

64Bit

If you utilize Linux-PAM, you need to modify some files so CUPS can find needed headers. Make the appropriate modifications using the following command:

sed -i -e "s@pam/pam@security/pam@g" \
{config-scripts/cups-pam.m4,scheduler/auth.c,configure}

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" USE_ARCH=64 ./configure \
    --libdir=/usr/lib64 &&
make

Install the package

make install &&
mv -v /usr/bin/cups-config{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/cups-config

CUPS' man pages are compressed. If want to uncompress them, use the following commands:

gunzip -v /usr/share/man/man1/{cancel,cups{-config,test{dsc,ppd}},lp{,options,passwd,q,rm,r,stat}}.1.gz
gunzip -v /usr/share/man/man5/{{classes,client,cups-snmp,cupsd,printers,subscriptions,mailto}.conf,mime.{convs,types}}.5.gz
gunzip -v /usr/share/man/man7/{backend,filter}.7
gunzip -v /usr/share/man/man8/{accept,cups{d,addsmb,enable,-{deviced,driverd,lpd,polld,}},lp{admin,info,move,c}}.8.gz
 rm -v /usr/share/man/man8/{reject,cupsdisable}.8.gz
 ln -sv accept.8 /usr/share/man/man8/reject.8
 ln -sv cupsenable.8 /usr/share/man/man8/cupsdisable.8

Configuring

BootScript

Install the init script included in the blfs-bootscripts package.

make install-cups