From 5375f6a072deb0f877d5b95fe317eee83f78efed Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <mail@waldemar-brodkorb.de>
Date: Wed, 15 Mar 2006 19:43:27 +0000
Subject: [PATCH] added mgetty from Mad Martin, thx

SVN-Revision: 3381
---
 openwrt/package/Config.in                   |   6 +-
 openwrt/package/Makefile                    |   1 +
 openwrt/package/jamvm/Config.in             |   2 +-
 openwrt/package/mgetty/Config.in            |   7 ++
 openwrt/package/mgetty/Makefile             | 117 ++++++++++++++++++++
 openwrt/package/mgetty/ipkg/mgetty.control  |   4 +
 openwrt/package/mgetty/patches/mgetty.patch |  98 ++++++++++++++++
 7 files changed, 231 insertions(+), 4 deletions(-)
 create mode 100644 openwrt/package/mgetty/Config.in
 create mode 100644 openwrt/package/mgetty/Makefile
 create mode 100644 openwrt/package/mgetty/ipkg/mgetty.control
 create mode 100644 openwrt/package/mgetty/patches/mgetty.patch

diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index 9c63091e70..49575181e4 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -31,13 +31,13 @@ source "package/less/Config.in"
 source "package/lua/Config.in"
 source "package/microperl/Config.in"
 source "package/monit/Config.in"
+source "package/mgetty/Config.in"
 source "package/mutt/Config.in"
-source "package/procmail/Config.in"
-
 source "package/nano/Config.in"
 source "package/osiris/Config.in"
 source "package/php4/Config.in"
 source "package/php5/Config.in"
+source "package/procmail/Config.in"
 source "package/psybnc/Config.in"
 menu "sablevm........................... A Java Virtual Machine (JVM) implementation"
 source "package/sablevm/Config.in"
@@ -45,6 +45,7 @@ source "package/sablevm-classpath/Config.in"
 source "package/libffi-sable/Config.in"
 endmenu
 source "package/sane-backends/Config.in"
+source "package/screen/Config.in"
 source "package/ser2net/Config.in"
 source "package/syslog-ng/Config.in"
 menu "rrdtool........................... Round-Robin Database (RRD) libraries and tools"
@@ -52,7 +53,6 @@ source "package/rrdtool/Config.in"
 source "package/rrdtool1/Config.in"
 source "package/rrdcollect/Config.in"
 endmenu
-source "package/screen/Config.in"
 endmenu
 
 menu "Networking"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 94c0ebfa7e..a7d878e9a3 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -134,6 +134,7 @@ package-$(BR2_PACKAGE_MACCHANGER) += macchanger
 package-$(BR2_PACKAGE_MADPLAY) += madplay
 package-$(BR2_PACKAGE_MARADNS) += maradns
 package-$(BR2_COMPILE_MATRIXSSL) += matrixssl
+package-$(BR2_PACKAGE_MGETTY) += mgetty
 package-$(BR2_PACKAGE_MIAU) += miau
 package-$(BR2_PACKAGE_MIAX) += miax
 package-$(BR2_PACKAGE_MICROCOM) += microcom
diff --git a/openwrt/package/jamvm/Config.in b/openwrt/package/jamvm/Config.in
index 15af752312..bfab0ecab0 100644
--- a/openwrt/package/jamvm/Config.in
+++ b/openwrt/package/jamvm/Config.in
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_JAMVM
-        prompt "jamvm ............................A compact Java Virtual Machine"
+        prompt "jamvm.............................A compact Java Virtual Machine"
 	tristate
         default m if CONFIG_DEVEL
 	select BR2_PACKAGE_ZLIB
diff --git a/openwrt/package/mgetty/Config.in b/openwrt/package/mgetty/Config.in
new file mode 100644
index 0000000000..5761bbb6f1
--- /dev/null
+++ b/openwrt/package/mgetty/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_MGETTY
+	prompt "mgetty+sendfax.................... the data/fax solution for your analog modem"
+	tristate
+	default m if CONFIG_DEVEL
+	help
+	 mgetty now includes sendfax (and AutoPPP)
+	 using pppd for data and doing fax/login by itself.
diff --git a/openwrt/package/mgetty/Makefile b/openwrt/package/mgetty/Makefile
new file mode 100644
index 0000000000..00a692db47
--- /dev/null
+++ b/openwrt/package/mgetty/Makefile
@@ -0,0 +1,117 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mgetty
+PKG_VERSION:=1.1.35
+PKG_XVERSION:=Feb22
+PKG_RELEASE:=1
+PKG_MD5SUM:=6805f8e31423bb777be80e3a856001cb
+
+PKG_SOURCE_URL:=ftp://alpha.greenie.net/pub/mgetty/source/1.1
+PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION)-$(PKG_XVERSION).tar.gz
+PKG_CAT:=zcat
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,MGETTY,mgetty,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/policy.h: $(PKG_BUILD_DIR)/.prepared
+	cp $(PKG_BUILD_DIR)/policy.h-dist $(PKG_BUILD_DIR)/policy.h
+	echo "#define	AUTO_PPP" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	FAX_NOTIFY_PROGRAM" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#define	FAX_NOTIFY_PROGRAM \"/usr/lib/mgetty+sendfax/new_fax\"" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	DATA_FLOW" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#define	DATA_FLOW FLOW_HARD" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	DEVICE_GROUP" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	DEVICE_OWNER" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#define	DEVICE_OWNER \"root\"" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	FAXREC_FLOW" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#define	FAXREC_FLOW FLOW_SOFT" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#undef	FAXSEND_FLOW" >> $(PKG_BUILD_DIR)/policy.h
+	echo "#define	FAXSEND_FLOW FLOW_SOFT" >> $(PKG_BUILD_DIR)/policy.h
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/policy.h
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	mkdir -p $(PKG_INSTALL_DIR)/usr/bin
+	mkdir -p $(PKG_INSTALL_DIR)/usr/sbin
+	mkdir -p $(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax
+	mkdir -p $(PKG_INSTALL_DIR)/etc/mgetty+sendfax
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		$(TARGET_CONFIGURE_OPTS) \
+		prefix="$(PKG_INSTALL_DIR)/usr" \
+		CONFDIR=/etc/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/mgetty $(PKG_INSTALL_DIR)/usr/sbin
+	$(CP) $(PKG_BUILD_DIR)/sendfax $(PKG_INSTALL_DIR)/usr/sbin
+	$(CP) $(PKG_BUILD_DIR)/fax/faxrunqd $(PKG_INSTALL_DIR)/usr/sbin
+	chmod 755 $(PKG_INSTALL_DIR)/usr/sbin/*
+	$(CP) $(PKG_BUILD_DIR)/fax/faxq-helper $(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax
+	chmod u+s $(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax/faxq-helper
+	$(CP) $(PKG_BUILD_DIR)/fax/cour25n.pbm $(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/fax/cour25.pbm $(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/fax/faxq $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/fax/faxrm $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/fax/faxrunq $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/fax/faxspool $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/g3/g32pbm $(PKG_INSTALL_DIR)/usr/bin
+	(cd $(PKG_INSTALL_DIR)/usr/bin;\
+		ln -snf g32pbm g3topbm;\
+	);
+	$(CP) $(PKG_BUILD_DIR)/g3/g3cat $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/g3/pbm2g3 $(PKG_INSTALL_DIR)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/g3/sff2g3 $(PKG_INSTALL_DIR)/usr/bin
+	chmod 755 $(PKG_INSTALL_DIR)/usr/bin/*
+# Installation into /etc
+	$(CP) $(PKG_BUILD_DIR)/dialin.config $(PKG_INSTALL_DIR)/etc/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/fax/faxheader $(PKG_INSTALL_DIR)/etc/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/faxrunq.config $(PKG_INSTALL_DIR)/etc/mgetty+sendfax
+	$(CP) $(PKG_BUILD_DIR)/fax/faxspool.rules $(PKG_INSTALL_DIR)/etc/mgetty+sendfax/faxspool.rules.sample
+	$(PKG_BUILD_DIR)/sedscript < $(PKG_BUILD_DIR)/login.cfg.in > $(PKG_INSTALL_DIR)/etc/mgetty+sendfax/login.config   
+	$(PKG_BUILD_DIR)/sedscript < $(PKG_BUILD_DIR)/mgetty.cfg.in > $(PKG_INSTALL_DIR)/etc/mgetty+sendfax/mgetty.config   
+	$(PKG_BUILD_DIR)/sedscript < $(PKG_BUILD_DIR)/sendfax.cfg.in > $(PKG_INSTALL_DIR)/etc/mgetty+sendfax/sendfax.config   
+	touch $@
+
+ISBIN:=$(IDIR_MGETTY)/usr/sbin
+IBIN:=$(IDIR_MGETTY)/usr/bin
+ILIB:=$(IDIR_MGETTY)/usr/lib/mgetty+sendfax
+IETC:=$(IDIR_MGETTY)/etc/mgetty+sendfax
+
+$(IPKG_MGETTY):
+	install -d -m0755  $(ISBIN) $(IBIN) $(ILIB) $(IETC)
+	install -m0755 \
+		$(PKG_INSTALL_DIR)/usr/bin/faxq \
+		$(PKG_INSTALL_DIR)/usr/bin/faxrm \
+		$(PKG_INSTALL_DIR)/usr/bin/faxrunq \
+		$(PKG_INSTALL_DIR)/usr/bin/faxspool \
+		$(PKG_INSTALL_DIR)/usr/bin/g32pbm \
+		$(PKG_INSTALL_DIR)/usr/bin/g3cat \
+		$(PKG_INSTALL_DIR)/usr/bin/pbm2g3 \
+		$(PKG_INSTALL_DIR)/usr/bin/sff2g3 \
+		$(IBIN)
+	install -m0755 \
+		$(PKG_INSTALL_DIR)/usr/sbin/mgetty \
+		$(PKG_INSTALL_DIR)/usr/sbin/sendfax \
+		$(PKG_INSTALL_DIR)/usr/sbin/faxrunqd \
+		$(ISBIN)
+	install -m4755 \
+		$(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax/faxq-helper \
+		$(ILIB)
+	install -m644 \
+		$(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax/cour25n.pbm \
+		$(PKG_INSTALL_DIR)/usr/lib/mgetty+sendfax/cour25.pbm \
+		$(ILIB)
+	install -m600 \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/dialin.config \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/faxheader \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/faxrunq.config \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/faxspool.rules.sample \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/login.config \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/mgetty.config \
+		$(PKG_INSTALL_DIR)/etc/mgetty+sendfax/sendfax.config \
+		$(IETC)
+	$(RSTRIP) $(IDIR_MGETTY)
+	$(IPKG_BUILD) $(IDIR_MGETTY) $(PACKAGE_DIR)
diff --git a/openwrt/package/mgetty/ipkg/mgetty.control b/openwrt/package/mgetty/ipkg/mgetty.control
new file mode 100644
index 0000000000..c280295bee
--- /dev/null
+++ b/openwrt/package/mgetty/ipkg/mgetty.control
@@ -0,0 +1,4 @@
+Package: mgetty
+Priority: optional
+Section: communications
+Description: mgetty + sendfax
diff --git a/openwrt/package/mgetty/patches/mgetty.patch b/openwrt/package/mgetty/patches/mgetty.patch
new file mode 100644
index 0000000000..c5ffb6f2e6
--- /dev/null
+++ b/openwrt/package/mgetty/patches/mgetty.patch
@@ -0,0 +1,98 @@
+Only in mgetty-1.1.31: .prepared
+diff -ur mgetty-1.1.31-old/Makefile mgetty-1.1.31/Makefile
+--- mgetty-1.1.31-old/Makefile	2006-01-02 00:37:56.000000000 +0000
++++ mgetty-1.1.31/Makefile	2006-01-02 00:43:57.000000000 +0000
+@@ -164,7 +164,9 @@
+ #
+ # if your systems doesn't have one, use the shell script that I provide
+ # in "inst.sh" (taken from X11R5). Needed on IRIX5.2
+-INSTALL=install -c -o bin -g bin
++STRIP=$(STAGING_DIR)sstrip
++INSTALL=install -c -o root -g root
++#INSTALL=install -c -o bin -g bin
+ #INSTALL=install -c -o root -g wheel		# NeXT/BSD
+ #INSTALL=/usr/ucb/install -c -o bin -g bin	# AIX, Solaris 2.x
+ #INSTALL=installbsd -c -o bin -g bin		# OSF/1, AIX 4.1, 4.2
+@@ -216,7 +218,7 @@
+ # (it's possible to run faxrunq(d) as root, but the FAX_OUT_USER 
+ #  MUST NOT BE root or any other privileged account).
+ #
+-FAX_OUT_USER=fax
++FAX_OUT_USER=root
+ #
+ #
+ # Where section 1 manual pages should be placed
+@@ -416,7 +418,12 @@
+ 	./mksed >sedscript
+ 	chmod 700 sedscript
+ 
+-mksed: mksed.c policy.h Makefile 
++REALGCC:=/usr/bin/gcc
++mksed: mksed.c policy.h Makefile
++	( echo $(REALGCC); $(MAKE) "CC=$(REALGCC)" "CFLAGS=$(CFLAGS)" mksed-wrong;\
++	);
++
++mksed-wrong: mksed.c policy.h Makefile 
+ 	$(CC) $(CFLAGS) -DBINDIR=\"$(BINDIR)\" -DSBINDIR=\"$(SBINDIR)\" \
+ 		-DLIBDIR=\"$(LIBDIR)\" \
+ 		-DCONFDIR=\"$(CONFDIR)\" \
+@@ -590,8 +597,10 @@
+ 	-test -d $(SBINDIR) || ( ./mkidirs $(SBINDIR) ; chmod 755 $(SBINDIR) )
+ 	-mv -f $(SBINDIR)/mgetty $(SBINDIR)/mgetty.old
+ 	-mv -f $(SBINDIR)/sendfax $(SBINDIR)/sendfax.old
+-	$(INSTALL) -s -m 700 mgetty $(SBINDIR)
+-	$(INSTALL) -s -m 755 sendfax $(SBINDIR)
++	$(INSTALL) -m 700 mgetty $(SBINDIR)
++	$(STRIP) $(SBINDIR)/mgetty
++	$(INSTALL) -m 755 sendfax $(SBINDIR)
++	$(STRIP) $(SBINDIR)/sendfax
+ #
+ # data files + directories
+ #
+@@ -653,7 +662,8 @@
+ 	if [ ! -z "$(INSTALL_MECHO)" ] ; then \
+ 	    cd compat ; \
+ 	    $(CC) $(CFLAGS) -o mg.echo mg.echo.c && \
+-	    $(INSTALL) -s -m 755 mg.echo $(BINDIR) ; \
++	    $(INSTALL) -m 755 mg.echo $(BINDIR) && \
++	    $(STRIP) $(BINDIR)/mg.echo ; \
+ 	fi
+ 
+ #
+Only in mgetty-1.1.31-old: Makefile.orig
+Only in mgetty-1.1.31-old: Makefile.rej
+diff -ur mgetty-1.1.31-old/g3/Makefile mgetty-1.1.31/g3/Makefile
+--- mgetty-1.1.31-old/g3/Makefile	2006-01-02 00:37:56.000000000 +0000
++++ mgetty-1.1.31/g3/Makefile	2006-01-02 00:42:17.000000000 +0000
+@@ -40,7 +40,8 @@
+ # install programs
+ #
+ 	for f in $(G3_PROGRAMS) ; do \
+-		$(INSTALL) -s -m 755 $$f $(BINDIR) ; \
++		$(INSTALL) -m 755 $$f $(BINDIR) ; \
++		$(STRIP) $(BINDIR)/$$f ; \
+ 	done
+ #
+ # make symlink for "g3topbm" (so third-party fax viewers won't fail)
+diff -ur mgetty-1.1.31-old/logfile.c mgetty-1.1.31/logfile.c
+--- mgetty-1.1.31-old/logfile.c	2006-01-02 00:37:56.000000000 +0000
++++ mgetty-1.1.31/logfile.c	2006-01-02 00:42:17.000000000 +0000
+@@ -327,12 +327,11 @@
+     }
+     else		/* ERROR or FATAL */
+     {
+-	fprintf(log_fp, "\n%02d/%02d %02d:%02d:%02d %s %s: %s",
++	fprintf(log_fp, "\n%02d/%02d %02d:%02d:%02d %s %s: #%d",
+ 		             tm->tm_mon+1,  tm->tm_mday,
+ 			     tm->tm_hour, tm->tm_min, tm->tm_sec,
+ 		             log_infix, ws,
+-			     ( errnr <= sys_nerr ) ? sys_errlist[errnr]:
+-			     "<error not in list>" );
++			     errnr );
+ #ifdef SYSLOG
+ 	syslog( level == L_FATAL? LOG_ALERT: LOG_ERR, "%s: %m", ws );
+ #endif
+Only in mgetty-1.1.31-old/voice/libutil: access.c.orig
+Only in mgetty-1.1.31-old/voice/libvoice: Lucent.c.orig
+Only in mgetty-1.1.31-old/voice/libvoice: V253modem.c.orig
+Only in mgetty-1.1.31-old/voice/pvftools: pvftormd.c.orig
-- 
2.30.2