Difference between revisions of "CUPS"
(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.) |
(I fixed the lp group/user numbers to match CLFS.) |
||
Line 35: | Line 35: | ||
Create an lp user, as CUPS will install the lppasswd command SUID to this user. Use the following command as the root user: | 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 | + | useradd -c "Print Service User" -d /dev/null -g 9 lp -s /bin/false -u 10 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: | 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: |
Revision as of 17:16, 14 January 2007
Download Source: | http://ftp.easysw.com/pub/cups/1.6.4/cups-1.6.4-source.tar.bz2 |
---|
Contents
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 9 lp -s /bin/false -u 10 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