AUTHOR: Dr. Edgar Alwers DATE: 2005-04-17 LICENSE: GNU Free Documentation License Version 1.2 SYNOPSIS: How to install mgetty+sendfax from sources DESCRIPTION: Compilation and Installation of mgetty+sendfax from the sources. Faxes may be send direct from the PC by running first "faxspool" and then "faxrunq". Documents may be queed from the editor (e.g. StarOffice ) to the fax-queue and then sent with "faxrunq" PREREQUISITES: Basic knowledge in compiling programs. Should run on all LFS versions. This update was tested with LFS 6.0 and BLFS 6.0-pre1. Needs libjpeg, libpng , libtiff and libz installed. Sendmail is needed for status messages ( i.g. fax sent successfully ), but not for sending faxes. HINT: Download: mgetty1.1.33-Apr10.tar.gz ftp://alpha.greenie.net/pub/mgetty/source/1.1 Netpbm (image manipulation/conversion graphics utilities ) netpbm-10.26.7.tgz March 27, 2005, stable. http://sourceforge.net/projects/netpbm ESPG Ghostscript espgs-7.07.1-source.tar.bz2 http://prdownloads.sourceforge.net/espgs-7.07.1-source.tar.gz Installing espgs: ( see also BLFS Book version 6.0-pre1 chapter 41, printing ) Untar tar xvjf espgs-7.07.1-source.tar.bz2 and change to the espgs-7.07.1 directory cd espgs-7.07.1 Read the INSTALL file and run configure: ./configure --prefix=/usr --withouth-gimp-print --withouth-omni Then run make make install. You may also need to download the ghostscript fonts. Get them from ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/fonts/ and download "ghostscript-fonts-std-8.11.tar.gz" to the directory /usr/X11R6/lib/X11/fonts/ghostscript. espgs looks in /usr/share/ghostscript for the fonts. So you will need in /usr/share/ghostscript a link: ln -s /usr/X11R6/lib/X11/fonts/ghostscript/fonts fonts Untar tar xvzf ghostscript-fonts-std-8.11tar.gz Installing netpbm: Although faxspool will only need the text to pixel converter pbmtext, we need to compile and install netpbm. We do it in a shorter form, using static linked libraries Untar the file with tar xvzf netpbm-10.26.7.tgz and change to the netpbm-10.26.7 directory cd netpbm-10.26.7 run the configure file: ./configure and answer the questions as follows: platform: gnu regular or merge build merge libnetpbm static headerfile that defines wint32_t etc /usr/include/inttypes.h JPEG library libjpeg.so JPEG header directory /usr/include TIFF library libtiff.so TIFF header directory /usr/include PNG library libpng.so PNG header directory /usr/include Z library libz.so Z header directory /usr/include Svgalib header location none Documentation URL http://netpbm.sourceforge.net/doc You may change the resulting Makefile.config, if necessary. Now run make make package pgkdir=/tmp/netpbm Run ./installnetpbm and answer the questions as follows: package directory /tmp/netpbm install prefix /usr/netpbm program directory /usr/netpbm/bin static library directory /usr/netpbm/lib Data files /usr/netpbm/lib header directory /usr/netpbm/include man pages /usr/netpbm/man create /etc/manweb.conf yes Accept the creation of the Symlink /usr/man/web -> /usr/netpbm/man/web ln -s /usr/netpbm/man/web/netpbm.url /usr/man/web/netpbm.url You will need to include the new directory /usr/netpbm/bin in your path: (e.g. etc/profile ) export PATH=$PATH:/usr/netpbm/bin Installing mgetty: Untar tar xvzf mgetty1.1.33-Apr10.tar.gz and change to the directory mgetty-1.1.33: cd mgetty-1.1.33 Copy the file "policy.h-dist" to "policy.h": cp policy.h.dist policy.h Edit the Makefile and change line 167 from INSTALL=install -c -o bin -g bin to INSTALL=install -c -o root -g root Change line 176 to "prefix=/usr" edit the next lines according to your needs or accept the suggestions in the Makefile. mgetty needs a user "fax". So, if "fax" does not exist, create it with useradd -D Run make and make install. Change to the directory /usr/etc/mgetty+sendfax: cd /usr/etc/mgetty+sendfax and edit the file sendfax.config. Change the line 'which devices to use for outgoing faxes' from 'fax-devices tty4c:tty4d' to 'fax-devices ttyS0:ttyS2' and the line 'which fax number to transmit to the receiving station' from 'fax-id 49 115 xxxxxxxx' into your own fax line number. Edit the dial-prefix line e.g. in dial-prefix ATDT. Uncomment the line 'port ttyS0', if this is the port of your modem. You might need also a modem initialisation string. I inserted modem-init ATS7=255 You might edit the file "faxheader" in the same directory. Finally, you should create and edit a file "fax.allow" or "fax.deny" in the same directory, to define access control for users other than root. Testing faxspool: You are now ready to run a first test with faxspool. With your prefered editor ( vi ? ), create a file 'test.txt' and then run ( as user ) faxspool 123456 /your/directory/test.txt where "123456" stands for the telefon number of a fax receiver. You can have a look at the fax file in the converted g3 format with the fax viewer Kfax of the kde system. The fax image is stored in /var/spool/fax/outgoing Fax spooling from StarOffice: Open 'printer setup' in StarOffice's main frame, choose 'generic printer' from the printer drivers list and add it as a new printer. Rename it to 'fax printer' and connect it to the fax_queue=FAX, which is one of StarOffice's existing queues You don't need to configure, as the fax command format is exactly the one needed by faxspool. Print a job to the fax printer, and a window will pop up, asking for the fax number. That's all. Sending Faxes: run -as root - "faxrunq" Literature: Gert Doering: mgetty+sendfax manual CHANGELOG: [2003-10-13] Changed hint to new format. Some minor adjustments. Changed versions of mgetty, netpbm and ESPG Ghostscript [2004-08-24] Changed versions of mgetty and ESPG Ghostscript. Programs placed under /usr and not under /usr/local. Changed download-URL's.Changed configuration commands. [2005-04-16] Changed versions of mgetty and netpbm. New LFS and BLFS books for kernel 2.6.8 architecture