AUTHOR:			Dr. Edgar Alwers  <edgaralwers@gmx.de>

DATE:			2010-04-12

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.5 and BLFS Version svn-20100411.

HINT:

Download:

	mgetty1.1.36-Jun15.tar.gz
	ftp://alpha.greenie.net/pub/mgetty/source/1.1
	
	Netpbm (image manipulation/conversion graphics utilities ) netpbm-10.35.74.tgz
	March 24, 2010, super stable. 
	http://sourceforge.net/projects/netpbm

	GPL ghostscript-8.71.tar.gz
	ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs871/ghostscript-8.71.tar.gz


Installing GPL Ghostscript:

( see also BLFS Book version svn-20100411 chapter 39, printing )

Untar
	tar xvjf ghostscript-8.71.tar.gz
and change to the ghostscript-8.71 directory
	cd ghostscript-8.71
Run configure:
	./configure --prefix=/usr --enable-dynamic
Then run
	make
	make install docdir=/usr/share/doc/ghostscript-8.71
You  may also need to download the ghostscript fonts. Get them from
	http://downloads.sourceforge.net/gs-fonts/
Download "ghostscript-fonts-std-8.11.tar.gz" to the directory
	/usr/X11R6/lib/X11/fonts/ghostscript. GPL 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's utility pbmtext:

Faxspool will only need the text of the pixel converter pbmtext:

Untar the file with
	tar xvzf netpbm-10.35.74.tgz
and change to the netpbm-10.35.74 directory
	cd netpbm-10.35.74

run the configure file:
	./configure
and answer the questions as follows:
	platform:					gnu
	regular or merge build			regular
	libnetpbm					static
	headerfile that defines wint32_t etc		</inttypes.h>  
	JPEG library					none
	TIFF library					none
	Z library					none
	X11 library					/lib/X11R6/lib/libX11.so
	X11 interface headers				default
	Svgalib library					libvga.so
	Svgalib header directory			default
	Documentation URL				http://netpbm.sourceforge.net/doc

You may change the resulting Makefile.config, if necessary. Change to the directory generator:
	cd generator
	make pbmtext
and finally copy the executable to the bin directory:
	cp pbmtext /usr/local/bin

Installing mgetty:

Untar
	tar xvzf mgetty1.1.36-Jun15.tar.gz
and change to the directory  mgetty-1.1.36:
	cd mgetty-1.1.36
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 Okular
 The fax image is stored in /var/spool/fax/outgoing

Fax spooling from StarOffice7:

Open spadmin in StarOffice7's directory, choose new printer -> connect a fax device -> default driver and enter the command faxspool (PHONE) (TMP) in the corresponding window.

If you are using a recent version of gcc, e.g. 4.4.2, you may get an error ...staroffice/program/libgcc_s.so.1: version 'GCC_4.2.0' not found ( required by /usr/lib/libstdc++.so.6 )  when testing to send a fax. In this case, you should exchange the old libgcc_s.so.1 library in /home/user/staroffice7/program/ by the new one in  /usr/lib.

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

ACKNOWLEDGEMENTS:

This hint is now much simpler thanks to advises given by Akira F. Urushibata,  "Prophet of the Way", long time contributor of Netpbm. Also the executable of Netpbm is now much smaller.

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
[2007-01-20]

Changed versions of mgetty and netpbm. New LFS and BLFS books for kernel 2.6.18 architecture. Changed procedures for the build of Netpbm.
[2010-04-12]

Changed versions of mgetty and netpbm. New LFS and BLFS books. Kernel 2.6.33.1. New ghostscript package. Runs under KDE-4.4.1