aboutsummaryrefslogtreecommitdiff
path: root/misc/afbackup
diff options
context:
space:
mode:
authorAnton Berezin <tobez@FreeBSD.org>2001-10-02 16:24:54 +0000
committerAnton Berezin <tobez@FreeBSD.org>2001-10-02 16:24:54 +0000
commitb3b6fd596b0c46e5e9a456fc7dec795806594f03 (patch)
tree3880d588a7dc9c9bfb6130fb917999346fbfd947 /misc/afbackup
parentd441baab0e4fda8e37c789ae77aa97f6a23174c4 (diff)
downloadports-b3b6fd596b0c46e5e9a456fc7dec795806594f03.tar.gz
ports-b3b6fd596b0c46e5e9a456fc7dec795806594f03.zip
Notes
Diffstat (limited to 'misc/afbackup')
-rw-r--r--misc/afbackup/Makefile183
-rw-r--r--misc/afbackup/distinfo1
-rw-r--r--misc/afbackup/files/Makefile.in362
-rw-r--r--misc/afbackup/files/configure.in858
-rw-r--r--misc/afbackup/files/patch-aa17
-rw-r--r--misc/afbackup/files/patch-ab24
-rw-r--r--misc/afbackup/files/patch-ac68
-rw-r--r--misc/afbackup/files/patch-ad38
-rw-r--r--misc/afbackup/files/patch-ae34
-rw-r--r--misc/afbackup/files/patch-af11
-rw-r--r--misc/afbackup/files/patch-ag34
-rw-r--r--misc/afbackup/files/patch-ah267
-rw-r--r--misc/afbackup/files/patch-ai31
-rw-r--r--misc/afbackup/files/pkg-plist.client25
-rw-r--r--misc/afbackup/files/pkg-plist.desclient1
-rw-r--r--misc/afbackup/files/pkg-plist.fixedorder8
-rw-r--r--misc/afbackup/files/pkg-plist.guiclient6
-rw-r--r--misc/afbackup/files/pkg-plist.guiserver6
-rw-r--r--misc/afbackup/files/pkg-plist.l10n2
-rw-r--r--misc/afbackup/files/pkg-plist.rexeclinks12
-rw-r--r--misc/afbackup/files/pkg-plist.server20
-rw-r--r--misc/afbackup/pkg-comment1
-rw-r--r--misc/afbackup/pkg-descr8
-rw-r--r--misc/afbackup/pkg-install110
-rw-r--r--misc/afbackup/pkg-message11
25 files changed, 2138 insertions, 0 deletions
diff --git a/misc/afbackup/Makefile b/misc/afbackup/Makefile
new file mode 100644
index 000000000000..2c996b0468a4
--- /dev/null
+++ b/misc/afbackup/Makefile
@@ -0,0 +1,183 @@
+# New ports collection makefile for: afbackup
+# Date created: 15 August 2001
+# Whom: Vadim Belman <voland@catpipe.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME= afbackup
+PORTVERSION= 3.3.4p1
+CATEGORIES?= misc
+MASTER_SITES= ftp://ftp.vic.com/af/ \
+ ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= afbackup
+DISTNAME= ${PORTNAME}-3.3.4pl1
+# XXX Remember to remove the comment if the actual variable is needed by someone.
+#SLAVEDIRS=misc/afbackup-client misc/afbackup-server
+
+MAINTAINER= voland@catpipe.net
+
+WRKSRC= ${WRKDIR}/afbackup-3.3.4
+PLIST= ${WRKSRC}/pkg-plist
+BUILD_DEPENDS= msgfmt:${PORTSDIR}/devel/gettext
+
+.if ! defined(NO_DES)
+USE_OPENSSL= yes
+CONFIG_WITH_DES= --with-des
+.endif
+.if ! defined(NO_GUI)
+BUILD_DEPENDS+= wish8.3:${PORTSDIR}/x11-toolkits/tk83
+RUN_DEPENDS+= wish8.3:${PORTSDIR}/x11-toolkits/tk83
+.else
+MAKE_ARGS+= NO_GUI=yes
+.endif
+USE_AUTOCONF= yes
+.if defined(NO_AUTOKEY) && defined(BATCH)
+INGORE = "cannot be build in batch mode whithout automated DES key generation"
+.endif
+
+# afmserver sometimes dumps core if compiled with optimization. A bug in gcc?
+CFLAGS+= -O0
+
+CONFIGURE_ARGS= --with-included-gettext \
+ --libexecdir=${PREFIX}/libexec/afbackup \
+ ${CONFIG_WITH_DES} \
+ --with-zlib \
+ --with-prefixext=NO \
+ --with-utilslibdir=${PREFIX}/lib/afbackup \
+ --with-utilsincdir=${PREFIX}/include/afbackup \
+ --with-utilsbindir=${PREFIX}/bin \
+ --with-serverdir=${PREFIX} \
+ --with-serverbindir=${PREFIX}/sbin \
+ --with-serverconfdir=${PREFIX}/etc/afbackup \
+ --with-serverlibdir=${PREFIX}/etc/afbackup \
+ --with-servervardir=/var/spool/afbackup \
+ --with-serverlogdir=/var/spool/afbackup \
+ --with-serverconf=server.conf \
+ --with-clientdir=${PREFIX} \
+ --with-clientbindir=${PREFIX}/sbin \
+ --with-clientconfdir=${PREFIX}/etc/afbackup \
+ --with-clientlibdir=${PREFIX}/etc/afbackup \
+ --with-clientvardir=/var/spool/afbackup \
+ --with-clientlogdir=/var/spool/afbackup \
+ --with-clientconf=client.conf \
+ --with-commondir=${PREFIX} \
+ --with-commondatadir=${PREFIX}/share/afbackup \
+ --with-rexecdir=${PREFIX}/libexec/afbackup
+
+CLIENTMANPAGES=
+SERVERMANPAGES=
+INSTALL_TARGET=
+PLIST_SRC=
+
+.if !defined(WITHOUT_CLIENT)
+INSTALL_TARGET+= install.client
+CLIENTMANPAGES= afclient.8 afrestore.8 afverify.8 \
+ full_backup.8 incr_backup.8 copy_tape.8 \
+ update_indexes.8 xafrestore.8 afclient.conf.8
+PLIST_SRC+= pkg-plist.client
+.if !defined(NO_GUI)
+PLIST_SRC+= pkg-plist.guiclient
+.endif
+.if !defined(NO_DES)
+PLIST_SRC+= pkg-plist.desclient
+.endif
+.endif
+.if !defined(WITHOUT_SERVER)
+INSTALL_TARGET+= install.server
+SERVERMANPAGES= afserver.8 afmserver.8 cartis.8 \
+ cartready.8 label_tape.8 cart_ctl.8 \
+ afserver.conf.8
+PLIST_SRC+= pkg-plist.server
+.if !defined(NO_GUI)
+PLIST_SRC+= pkg-plist.guiserver
+.endif
+.endif
+.if !defined(WITHOUT_REXECLINKS)
+INSTALL_TARGET+= install.rexeclinks
+PLIST_SRC+= pkg-plist.rexeclinks
+.endif
+
+PLIST_SRC+= pkg-plist.l10n
+
+MAN8= ${CLIENTMANPAGES} ${SERVERMANPAGES}
+
+MANCOMPRESSED= no
+
+AFBACKUP_DOCS= CONFIG \
+ COPYING \
+ Changes \
+ HOWTO.FAQ.DO-DONT \
+ INSTALL \
+ INSTALL.utilslib \
+ INTRO \
+ LICENSE \
+ PROGRAMS \
+ README \
+ UPGRADE \
+ changer.conf.chio \
+ changer.conf.sch-mover \
+ changer.conf.test \
+ changer.conf.mtx \
+ changer.conf.stctl
+
+.if !defined(WITHOUT_SERVER) && !defined(WITHOUT_CLIENT) \
+ && !defined(WITHOUT_REXECLINKS) && !defined(NO_GUI) \
+ && !defined(NO_DES) && !defined(NO_AUTOKEY)
+pre-fetch:
+ @${ECHO} ""
+ @${ECHO} "You may use the following build options:"
+ @${ECHO} ""
+ @${ECHO} " -DWITHOUT_SERVER don't install the server part."
+ @${ECHO} " -DWITHOUT_CLIENT don't install the client part."
+ @${ECHO} " -DWITHOUT_REXECLINKS don't install links needed for remote execution."
+ @${ECHO} " -DNO_GUI build and install without TCL/TK tools."
+ @${ECHO} " -DNO_DES build and install without DES encryption."
+ @${ECHO} " -DNO_AUTOKEY don't autogenerate DES encryption key."
+ @${ECHO} ""
+.endif
+
+pre-configure:
+ @${CP} ${FILESDIR}/configure.in ${FILESDIR}/Makefile.in ${WRKSRC}
+
+.if !defined(NO_AUTOKEY) && !defined(NO_DES)
+pre-build:
+ @perl -le 'print( ( "a".."z", "A".."Z", "0".."9")[ map { rand( 62)} 0..( rand( 10)+10)])' >${WRKSRC}/cryptkey
+.endif
+
+pre-install:
+ @${ECHO} "==> Creating custom pkg-plist..."
+ @${RM} -rf ${PLIST}
+.if !defined(NOPORTDOCS)
+ @for docfile in $(AFBACKUP_DOCS:S/^/share\/doc\/${PORTNAME}\//); do ${ECHO} $$docfile >>${PLIST}; done
+.endif
+ @for plistfile in ${PLIST_SRC}; do ${CAT} ${FILESDIR}/$$plistfile >>${PLIST}; done
+ @${CAT} ${PLIST} | perl -nle 'print unless $$lines{$$_}++' >${PLIST}.tmp
+ @${CAT} ${PLIST}.tmp ${FILESDIR}/pkg-plist.fixedorder >${PLIST}
+.if !defined(NOPORTDOCS)
+ @${ECHO} @cwd ${PREFIX} >>${PLIST}
+ @${ECHO} @dirrm share/doc/${PORTNAME} >>${PLIST}
+.endif
+ @${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+post-install:
+.if !defined(NO_AUTOKEY)
+ ${INSTALL} ${COPY} -o afbackup -g operator -m 0400 ${WRKSRC}/cryptkey ${PREFIX}/etc/afbackup
+.endif
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ for docfile in ${AFBACKUP_DOCS}; do ${INSTALL_DATA} ${WRKSRC}/$$docfile ${DOCSDIR}; done
+.endif
+ @${ECHO} ""
+.if !defined(NO_AUTOKEY) && !defined(NO_DES)
+ @${ECHO} "-------------------------------------------------------------------"
+ @${ECHO} " A DES key has been generated for your system."
+ @${ECHO} " It can be found in ${PREFIX}/etc/afbackup/cryptkey."
+ @${ECHO} " You can change it and perhaps corresponding settings"
+ @${ECHO} " in ${PREFIX}/etc/afbackup/(server|client).conf if"
+ @${ECHO} " you want."
+ @${ECHO} "-------------------------------------------------------------------"
+.endif
+ @${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.include <bsd.port.mk>
diff --git a/misc/afbackup/distinfo b/misc/afbackup/distinfo
new file mode 100644
index 000000000000..54037da53d3a
--- /dev/null
+++ b/misc/afbackup/distinfo
@@ -0,0 +1 @@
+MD5 (afbackup-3.3.4pl1.tar.gz) = c01897d6864e7dd29292327fd2c98a3f
diff --git a/misc/afbackup/files/Makefile.in b/misc/afbackup/files/Makefile.in
new file mode 100644
index 000000000000..fdd7d7ba76d7
--- /dev/null
+++ b/misc/afbackup/files/Makefile.in
@@ -0,0 +1,362 @@
+SHELL = /bin/sh
+
+CC = @CC@
+
+MAKECMD = make
+
+OSNAME = @osname@
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SUBDIRS = intl po
+
+X_INCLUDE = .
+X_LIBS = .
+
+OPTIMIZE =
+DEBUG =
+
+INCLUDES = -I$(X_INCLUDE) @DESINCLUDEPATH@ @ZLIB_INCLUDEPATH@
+DEFINES = -D$(OSNAME) -DOSNAME=$(OSNAME) @DESDEFINES@ @ZLIB_DEFINES@
+
+CFLAGS = @CFLAGS@ $(INCLUDES) $(DEFINES) $(DEBUG) $(OPTIMIZE) \
+ $(EXTRA_CFLAGS) @EXTRACFLAGS@ \
+ -DLOCALEDIR=\"$(LOCALEDIR)\"
+
+UTILSLIB = x_utils
+
+X_HEADERS = crptauth.h \
+ fileutil.h \
+ mvals.h \
+ netutils.h \
+ packer.h \
+ sysutils.h \
+ utils.h \
+ x_data.h \
+ x_defs.h \
+ x_errno.h \
+ x_regex.h \
+ x_timer.h \
+ x_types.h \
+ zutils.h
+
+X_LIBTOOLS = prosname.sh \
+ prosspec.sh
+
+
+BULIB = afbackup
+
+LIBRARIES = -l$(BULIB) -l$(UTILSLIB) @LIBS@ @DESLIBPATH@ \
+ @DESLIB@ @ZLIB_LIBPATH@ @ZLIB_LIB@ -lm @INTLLIBS@
+
+LDFLAGS = -L$(X_LIBS) $(LIBRARIES) $(EXTRA_LD_FLAGS)
+
+X_LIBSRCS = crptauth.c \
+ pack.c \
+ unpack.c \
+ utils.c \
+ goptions.c \
+ fileutil.c \
+ x_regex.c \
+ mutils.c \
+ sysutils.c \
+ netutils.c \
+ timeutil.c \
+ typeutil.c \
+ safewrap.c \
+ zutils.c
+
+X_LIBOBJS = $(X_LIBSRCS:.c=.o)
+
+BULIBSRCS = buutil.c \
+ prot.c
+
+BULIBOBJS = $(BULIBSRCS:.c=.o)
+
+CRYPTKEY = cryptkey.h
+
+CL_HELPERS = __piper __packpats @DESCRPT@ @ZIP@
+SV_HELPERS = __numset
+
+PROGRAMS = afserver afmserver afclient cartready label_tape \
+ full_backup $(CL_HELPERS) $(SV_HELPERS)
+
+RESTRCLNTPROGS = afclient afbackup afrestore afverify copy_tape \
+ full_backup incr_backup afbackout update_indexes \
+ __descrpt __z
+CLIENTPROGRAMS = $(RESTRCLNTPROGS) autocptapes afclientconfig \
+ xafclientconfig xafrestore
+RESTRSVRPROGS = afmserver afserver label_tape cartready changerready \
+ cartis
+SERVERPROGRAMS = $(RESTRSVRPROGS) afserverconfig cartagehandler \
+ xafserverconfig xafserverstatus __inc_link __mt __numset
+
+X_LIBRARY = lib$(UTILSLIB).a
+BACKUPLIB = lib$(BULIB).a
+
+BASELIBS = intllibs
+
+TESTMAINSRCS = testmain.c
+TESTMAINOBJS = $(TESTMAINSRCS:.c=.o)
+
+SERVERSRCS = server.c
+SERVEROBJS = $(SERVERSRCS:.c=.o)
+
+MSERVERSRCS = mserver.c
+MSERVEROBJS = $(MSERVERSRCS:.c=.o)
+
+CARTRDYSRCS = cartready.c
+CARTRDYOBJS = $(CARTRDYSRCS:.c=.o)
+
+LABELTAPESRCS = label_tape.c
+LABELTAPEOBJS = $(LABELTAPESRCS:.c=.o)
+
+CLIENTSRCS = client.c
+CLIENTOBJS = $(CLIENTSRCS:.c=.o)
+
+FULLBUSRCS = full_backup.c
+FULLBUOBJS = $(FULLBUSRCS:.c=.o)
+
+TESTCLIENTSRCS = testclient.c
+TESTCLIENTOBJS = $(TESTCLIENTSRCS:.c=.o)
+
+SERVERCONFFILE = server.conf
+CLIENTCONFFILE = client.conf
+
+CHANGERCONFFILE = changer.conf
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+CLIENTLIBDIR = @clientlibdir@
+CLIENTBINDIR = @clientbindir@
+CLIENTVARDIR = @clientvardir@
+CLIENTMANDIR = @clientmandir@
+SERVERLIBDIR = @serverlibdir@
+SERVERBINDIR = @serverbindir@
+SERVERVARDIR = @servervardir@
+SERVERMANDIR = @servermandir@
+COMMONDIR = @commondir@
+COMMONDATADIR = @commondatadir@
+COMMONSHLIBDIR = @commonshlibdir@
+
+BINDIR = @bindir@
+SBINDIR = @sbindir@
+LIBEXECDIR = @libexecdir@
+DATADIR = @datadir@
+SYSCONFDIR = @sysconfdir@
+MANDIR = @mandir@
+VARDIR = @localstatedir@
+REXECDIR = @REXECDIR@
+
+# Where to install locale stuff
+LOCALEDIR = $(DATADIR)/locale
+
+CLIENTMANFILES = afclient.X \
+ afrestore.X \
+ afverify.X \
+ full_backup.X \
+ incr_backup.X \
+ copy_tape.X \
+ update_indexes.X \
+ xafrestore.X \
+ afclient.conf.X
+SERVERMANFILES = afserver.X \
+ afmserver.X \
+ cartis.X \
+ cartready.X \
+ label_tape.X \
+ cart_ctl.X \
+ afserver.conf.X
+
+SRCMANSUFFIX = 8
+DESTMANSUFFIX = 8
+CLIENTMANSRCS = $(CLIENTMANFILES:.X=.8)
+SERVERMANSRCS = $(SERVERMANFILES:.X=.8)
+# ^ this must be $(SRCMANSUFFIX)
+
+INSTALL = install -C
+
+.c.o: config.h
+ $(CC) -c $(CFLAGS) $<
+
+all:: $(PROGRAMS) potfiles
+
+server: afserver potfiles
+ @:
+
+afserver: $(CRYPTKEY) $(BACKUPLIB) $(X_LIBRARY) $(BASELIBS) $(SERVEROBJS) $(MSERVEROBJS) $(CARTRDYOBJS) $(LABELTAPEOBJS) xserverconfig xserverstatus $(SV_HELPERS)
+ $(CC) -o afserver $(SERVEROBJS) $(LDFLAGS)
+ $(CC) -o afmserver $(MSERVEROBJS) $(LDFLAGS)
+ $(CC) -o cartready $(CARTRDYOBJS) $(LDFLAGS)
+ $(CC) -o label_tape $(LABELTAPEOBJS) $(LDFLAGS)
+
+$(SERVEROBJS): $(CRYPTKEY)
+
+cartready: $(BACKUPLIB) $(X_LIBRARY) $(BASELIBS) $(CARTRDYOBJS)
+ $(CC) -o cartready $(CARTRDYOBJS) $(LDFLAGS)
+
+label_tape: $(BACKUPLIB) $(X_LIBRARY) $(BASELIBS) $(LABELTAPEOBJS)
+ $(CC) -o label_tape $(LABELTAPEOBJS) $(LDFLAGS)
+
+client: afclient potfiles
+ @:
+
+afclient: $(CRYPTKEY) $(BACKUPLIB) $(X_LIBRARY) $(BASELIBS) $(CLIENTOBJS) $(FULLBUOBJS) xclientconfig xrestore $(CL_HELPERS)
+ $(CC) -o afclient $(CLIENTOBJS) $(LDFLAGS)
+ $(CC) -o full_backup $(FULLBUOBJS) $(LDFLAGS)
+
+$(CLIENTOBJS): $(CRYPTKEY)
+
+$(CRYPTKEY): ask_for_key
+ @if [ -f cryptkey ]; then sh ./ask_for_key <cryptkey; else sh ./ask_for_key; fi
+
+potfiles: intllibs
+ (cd po; $(MAKE) DATADIR=\"$(DATADIR)\" all)
+
+intllibs:
+ (cd intl; $(MAKE) all)
+
+__piper: __piper.o $(BACKUPLIB) $(X_LIBRARY)
+ $(CC) -o __piper __piper.o $(LDFLAGS)
+
+__packpats: __packpats.o $(BACKUPLIB) $(X_LIBRARY)
+ $(CC) -o __packpats __packpats.o $(LDFLAGS)
+
+__numset: __numset.o $(BACKUPLIB) $(X_LIBRARY)
+ $(CC) -o __numset __numset.o $(LDFLAGS)
+
+__descrpt: $(CRYPTKEY) __descrpt.o $(BACKUPLIB) $(X_LIBRARY)
+ $(CC) -o __descrpt __descrpt.o $(LDFLAGS)
+
+__z: __z.o $(BACKUPLIB) $(X_LIBRARY)
+ $(CC) -o __z __z.o $(LDFLAGS)
+
+$(BACKUPLIB): $(BULIBOBJS)
+ ar rcv $(BACKUPLIB) $(BULIBOBJS)
+ if [ _@ranlib@ != _ ] ; then @ranlib@ $(BACKUPLIB) ; fi
+
+$(X_LIBRARY): $(X_LIBOBJS)
+ ar rcv $(X_LIBRARY) $(X_LIBOBJS)
+ if [ _@ranlib@ != _ ] ; then @ranlib@ $(X_LIBRARY) ; fi
+
+$(UTILSLIB):: $(X_LIBRARY)
+
+install.$(UTILSLIB): $(UTILSLIB)
+ install -d @utilsincdir@ @utilsincdir@/$(OSNAME) @utilslibdir@ \
+ @utilslibdir@/$(OSNAME) @utilsbindir@
+ for i in $(X_HEADERS) ; do /bin/rm -f @utilsincdir@/$$i ; \
+ $(INSTALL) $$i @utilsincdir@/$$i ; done
+ for i in $(X_LIBRARY) ; do /bin/rm -f @utilslibdir@/$(OSNAME)/$$i ; \
+ $(INSTALL) $$i @utilslibdir@/$(OSNAME)/$$i ; done
+ $(INSTALL) -m 0644 lconf.h @utilsincdir@/$(OSNAME)/lconf.h
+ $(INSTALL) -m 0644 lconf.gen.h @utilsincdir@/lconf.h
+ for i in $(X_LIBTOOLS) ; do \
+ $(INSTALL) -m 0644 $$i @utilsbindir@/$$i ; done
+
+install:: install.client install.server install.client.man install.server.man
+
+install.client: client full_backup install.client.man install.l10n
+ install -d $(CLIENTBINDIR) $(CLIENTLIBDIR) $(COMMONSHLIBDIR) $(LIBEXECDIR)
+ install -d -o afbackup -g operator $(CLIENTVARDIR)
+ $(INSTALL) -g operator -m 0750 afclient $(SBINDIR)
+ ln -sf $(SBINDIR)/afclient $(SBINDIR)/afbackup
+ $(INSTALL) full_backup $(SBINDIR)/full_backup
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/incr_backup
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/afverify
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/copy_tape
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/afbackout
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/update_indexes
+ ln -sf $(SBINDIR)/full_backup $(SBINDIR)/afrestore
+ $(INSTALL) -m 0755 clientconfig $(SBINDIR)/afclientconfig
+ ln -sf $(SBINDIR)/afclientconfig $(SBINDIR)/clientconfig
+ if [ -z "$(NO_GUI)" ]; then \
+ $(INSTALL) -m 0755 xclientconfig $(SBINDIR)/xafclientconfig; \
+ ln -sf $(SBINDIR)/xafclientconfig $(SBINDIR)/xclientconfig; \
+ $(INSTALL) -m 0755 xrestore $(SBINDIR)/xafrestore; \
+ ln -sf $(SBINDIR)/xafrestore $(SBINDIR)/xrestore; \
+ fi
+ $(INSTALL) -m 0755 autocptapes $(SBINDIR)/autocptapes
+ $(INSTALL) -m 0755 __packpats $(LIBEXECDIR)/__packpats
+ $(INSTALL) -m 0755 __piper $(LIBEXECDIR)/__piper
+ if [ ! -z "@DESCRPT@" ] ; then \
+ $(INSTALL) -m 0755 "@DESCRPT@" $(LIBEXECDIR)/@DESCRPT@ ; \
+ fi
+ if [ ! -z "@ZIP@" ] ; then \
+ $(INSTALL) -m 0755 "@ZIP@" $(LIBEXECDIR)/@ZIP@ ; \
+ fi
+ $(INSTALL) -m 0644 aftcllib.tcl $(COMMONSHLIBDIR)/aftcllib.tcl
+ if [ ! -f $(SYSCONFDIR)/@clientconf@.sample ] ; then $(INSTALL) -m 0644 $(CLIENTCONFFILE) $(CLIENTLIBDIR)/@clientconf@.sample ; fi
+
+install.server: server cartready label_tape install.server.man install.l10n
+ install -d $(SERVERBINDIR) $(SERVERLIBDIR) $(COMMONSHLIBDIR) $(REXECDIR) $(LIBEXECDIR)
+ install -d -o afbackup -g operator $(SERVERVARDIR)
+ $(INSTALL) -o afbackup -g operator -m 0700 afserver afmserver $(LIBEXECDIR)
+ $(INSTALL) -m 04755 -o afbackup cartready $(SBINDIR)
+ $(INSTALL) -g operator -m 0750 label_tape $(SBINDIR)
+ $(INSTALL) -m 0755 __mt __inc_link $(LIBEXECDIR)
+ ln -sf $(SBINDIR)/label_tape $(SBINDIR)/cart_ctl
+ ln -sf $(SBINDIR)/label_tape $(SBINDIR)/cartis
+ ln -sf $(SBINDIR)/cartready $(SBINDIR)/changerready
+ $(INSTALL) -m 0755 serverconfig $(SBINDIR)/afserverconfig
+ ln -sf afserverconfig $(SBINDIR)/serverconfig
+ if [ -z "$(NO_GUI)" ]; then \
+ $(INSTALL) -m 0755 xserverconfig $(SBINDIR)/xafserverconfig; \
+ ln -sf xafserverconfig $(SBINDIR)/xserverconfig; \
+ $(INSTALL) -m 0755 xserverstatus $(SBINDIR)/xafserverstatus; \
+ ln -sf xafserverstatus $(SBINDIR)/xserverstatus; \
+ fi
+ $(INSTALL) -m 0644 aftcllib.tcl $(COMMONSHLIBDIR)/aftcllib.tcl
+ $(INSTALL) -m 0755 __numset $(LIBEXECDIR)/__numset
+ if [ ! -f $(LIBEXECDIR)/cartagehandler ] ; then $(INSTALL) cartagehandler $(LIBEXECDIR)/cartagehandler ; fi
+ if [ ! -f $(SERVERLIBDIR)/@serverconf@.sample ] ; then $(INSTALL) -m 0644 $(SERVERCONFFILE) $(SERVERLIBDIR)/@serverconf@.sample ; fi
+ if [ ! -f $(SERVERLIBDIR)/$(CHANGERCONFFILE).sample ] ; then $(INSTALL) -m 0644 $(CHANGERCONFFILE) $(SERVERLIBDIR)/$(CHANGERCONFFILE).sample ; fi
+ touch $(SERVERVARDIR)/readonly_tapes
+
+install.rclient: install.server install.client install.rexeclinks
+
+install.userrestore:
+ $(INSTALL) -m 04755 -o root:wheel $(LIBEXECDIR)/full_backup $(SBINDIR)/afrestore
+ ln -sf $(SBINDIR)/afrestore $(SBINDIR)/afbackout
+ ln -sf $(SBINDIR)/afrestore $(SBINDIR)/update_indexes
+
+install.rexeclinks:
+ ( for i in full_backup incr_backup afverify afrestore copy_tape update_indexes ; do ln -sf $(CLIENTBINDIR)/"$$i" $(REXECDIR)/"$$i" ; done )
+
+install.client.man: $(CLIENTMANSRCS)
+ install -d $(MANDIR)/man$(DESTMANSUFFIX)
+ ( for mansrc in $(CLIENTMANSRCS) ; do destfile=`echo $$mansrc|sed 's/[.]'$(SRCMANSUFFIX)'$$/.'$(DESTMANSUFFIX)/g` ; $(INSTALL) -m 0644 $$mansrc $(MANDIR)/man$(DESTMANSUFFIX)/$$destfile ; done )
+
+install.server.man: $(SERVERMANSRCS)
+ install -d $(MANDIR)/man$(DESTMANSUFFIX)
+ ( for mansrc in $(SERVERMANSRCS) ; do destfile=`echo $$mansrc|sed 's/[.]'$(SRCMANSUFFIX)'$$/.'$(DESTMANSUFFIX)/g` ; $(INSTALL) -m 0644 $$mansrc $(MANDIR)/man$(DESTMANSUFFIX)/$$destfile ; done )
+
+install.l10n: potfiles
+ (cd po; $(MAKE) datadir=\"$(DATADIR)\" install)
+
+xclientconfig: xcc
+ if [ -z "${NO_GUI}" ]; then ( ./build_shwish $? > $@; chmod +x $@) fi
+
+xserverconfig: xsc
+ if [ -z "${NO_GUI}" ]; then ( ./build_shwish $? > $@; chmod +x $@) fi
+
+xserverstatus: xss
+ if [ -z "${NO_GUI}" ]; then ( ./build_shwish $? > $@; chmod +x $@) fi
+
+xrestore: xrs
+ if [ -z "${NO_GUI}" ]; then ( ./build_shwish $? > $@; chmod +x $@) fi
+
+clean::
+ - for subdir in $(SUBDIRS) ; do (cd $$subdir && $(MAKE) clean ) ; done
+ - rm -f *% *.o *.a *~ core* *_
+
+veryclean: clean
+ - rm -f $(PROGRAMS)
+
+distclean: clean
+ - for subdir in $(SUBDIRS) ; do (cd $$subdir && $(MAKE) distclean ) ; done
+ - rm -f $(PROGRAMS) $(CRYPTKEY) xclientconfig xserverconfig xrestore xserverstatus
+ - rm -f config.cache config.log config.status config.setup Install.cache
+ - rm -f `/bin/ls *.in|sed 's/[.]in$$//g'|grep -v configure` confdefs.h
+
diff --git a/misc/afbackup/files/configure.in b/misc/afbackup/files/configure.in
new file mode 100644
index 000000000000..63a5b60ac098
--- /dev/null
+++ b/misc/afbackup/files/configure.in
@@ -0,0 +1,858 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(backup.h)
+
+PACKAGE=afbackup
+VERSION=`[grep VERSION_STRING version.h|sed 's/^[^"]*"//g'|sed 's/"[^"]*$//g']`
+datadir='${prefix}/share/afbackup'
+sysconfdir='${prefix}/etc/afbackup'
+localstatedir='/var/spool/afbackup'
+dnl VERSION=`[grep VERSION_STRING version.h|awk '{l=$0;while(substr(l,1,1)!="\"" && l != "")l=substr(l,2);l=substr(l,2);while(substr(l,length(l)-1,1)!="\"" && l != "") l=substr(l,1,length(l)-1);l=substr(l,1,length(l)-1);print l}']`
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_SUBST(PACKAGE)
+AC_SUBST(VERSION)
+
+ALL_LINGUAS="it de"
+
+osname=`./prosname.sh`
+
+ARCH="`./prosspec.sh` $*"
+ARCH="`echo $ARCH`" # for some stupid shells
+if test -r config.setup ; then
+ CONFARCH=`cat config.setup`
+ if test "$CONFARCH" = "$ARCH" ; then
+ echo "Already configured for this setup. Remove config.setup to re-configure."
+ exit 0
+ fi
+fi
+rm -f config.setup
+
+AC_CONFIG_HEADER(config.h)
+
+dnl Checks for programs.
+
+AC_CHECK_PROG(ranlib, ranlib, ranlib)
+
+dnl Checks for libraries.
+
+AM_GNU_GETTEXT
+
+dnl Checks for header files.
+
+if test `uname` = "FreeBSD" ; then
+ if test `uname -r` "<" '2' -a -r /usr/include/values.h ; then
+ ac_cv_header_values_h=yes
+ else
+ ac_cv_header_values_h=no
+ fi
+fi
+
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+dnl AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(arpa/inet.h fcntl.h intl/locale.h limits.h malloc.h netinet/ip.h netinet/tcp.h netinet/in_systm.h pthread.h regex.h string.h strings.h sys/acl.h sys/ioctl.h sys/mode.h sys/mount.h sys/param.h sys/resource.h sys/select.h sys/statfs.h sys/statvfs.h sys/time.h sys/timers.h sys/vfs.h sys/wait.h termios.h termio.h time.h unistd.h values.h)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_STRUCT_ST_RDEV
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+dnl Checks for library functions.
+AC_FUNC_ALLOCA
+AC_PROG_GCC_TRADITIONAL
+AC_FUNC_MEMCMP
+AC_TYPE_SIGNAL
+AC_FUNC_UTIME_NULL
+AC_FUNC_VPRINTF
+
+dnl Used by po/Makefile.in
+AC_PROG_INSTALL
+
+# This seems to have been forgotten for some strange reason
+if test _"${gt_cv_func_gettext_libintl}" = _yes -o _"$ac_cv_lib_intl_bindtextdomain" = _yes ; then
+ INTLLIBS="$INTLLIBS -lintl"
+fi
+
+AC_MSG_CHECKING(for sys_errlist declaration)
+AC_CACHE_VAL(ac_cv_decl_sys_errlist_def,
+[AC_TRY_COMPILE([
+#include <stdio.h>
+#include <errno.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif],[printf("%s",sys_errlist[0]);],
+ac_cv_decl_sys_errlist_def=yes, ac_cv_decl_sys_errlist_def=no)
+])
+AC_MSG_RESULT($ac_cv_decl_sys_errlist_def)
+if test $ac_cv_decl_sys_errlist_def = yes; then
+ AC_DEFINE(HAVE_SYS_ERRLIST_DEF)
+fi
+
+OPTIMIZE=-O2
+if test $ac_cv_prog_gcc = no -a `echo $osname|grep 'HPUX'|wc -l` -gt 0 ; then
+ EXTRACFLAGS="+Olibcalls -Ae -Dhpux -Dunix -Dnotdef"
+ OPTIMIZE=-O
+fi
+
+AC_CHECK_TYPE(signal_t, int)
+
+# cannot use pthread_create here, cause IRIX will fail compiling.
+# Solaris has pthread functions in libc, but they don't work, so
+# we have to check for libpthread or libthread FIRST.
+# BTW the m4 autoconf syntax constraints are terrible.
+AC_CHECK_LIB(pthread, pthread_join, libpthread=yes, libpthread=no)
+if test $libpthread = yes ; then
+ AC_DEFINE(HAVE_PTHREAD_JOIN)
+ LIBS="$LIBS -lpthread"
+else
+ AC_CHECK_LIB(thread, pthread_join, libthread=yes, libthread=no)
+ if test $libthread = yes ; then
+ LIBS="$LIBS -lthread"
+ AC_DEFINE(HAVE_PTHREAD_JOIN)
+ else
+ AC_CHECK_FUNC(pthread_join, libc=yes, libc=no)
+ if test $libc = yes ; then
+ AC_DEFINE(HAVE_PTHREAD_JOIN)
+ fi
+ fi
+fi
+
+checkBoth=0
+AC_CHECK_FUNC(connect, checkSocket=0, checkSocket=1)
+if test "$checkSocket" = 1; then
+ AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", checkBoth=1)
+fi
+if test "$checkBoth" = 1; then
+ oldLibs=$LIBS
+ LIBS="$LIBS -lsocket -lnsl"
+ AC_CHECK_FUNC(accept, checkNsl=0, [LIBS=$oldLibs])
+fi
+AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"]))
+
+AC_CHECK_FUNCS(bsearch drand48 getcwd gettimeofday inet_ntoa isatty isnan lchown lfind lsearch memmove mkdir mkfifo mktime qsort rand re_comp regcomp re_compile_pattern rint select setitimer sighold sigrelse socket strcasecmp strncasecmp strcasestr strdup strerror strrstr strstr timer_create uname acl setacl chacl sys_errlist stat64 statvfs vsnprintf vsyslog)
+AC_CHECK_LIB(acl, acl_get_file, acl_get_file=yes, acl_get_file=no)
+if test $acl_get_file = yes ; then
+ LIBS="$LIBS -lacl"
+else
+ AC_CHECK_LIB(pacl, acl_get_file, acl_get_file=yes, acl_get_file=no)
+ if test $acl_get_file = yes ; then
+ LIBS="$LIBS -lpacl"
+ else
+ AC_CHECK_FUNC(acl_get_file, acl_get_file=yes, acl_get_file=no)
+ fi
+fi
+
+if test "$ac_cv_func_re_comp" != yes ; then
+ AC_CHECK_LIB(compat, re_comp, [LIBS="$LIBS -lcompat"])
+ unset ac_cv_func_re_comp
+ AC_CHECK_FUNCS(re_comp)
+fi
+if test "$ac_cv_func_stat64" = yes ; then
+ AC_DEFINE(_64_BIT_FILESIZE_)
+fi
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
+
+AC_ARG_WITH(utilslibdir,
+ [ --with-utilslibdir=DIR server configuration files in DIR [prefix/lib]],
+ [
+ if test "$withval"; then
+ utilslibdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-utilslibdir
+ option.])
+ fi
+ ]
+)
+: ${utilslibdir:='$prefix/lib'}
+utilslibdir=`(
+ eval echo "$utilslibdir"
+)`
+AC_SUBST(utilslibdir)
+AC_ARG_WITH(utilsincdir,
+ [ --with-utilsincdir=DIR server configuration files in DIR [prefix/include]],
+ [
+ if test "$withval"; then
+ utilsincdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-utilsincdir
+ option.])
+ fi
+ ]
+)
+: ${utilsincdir:='$prefix/include'}
+utilsincdir=`(
+ eval echo "$utilsincdir"
+)`
+AC_SUBST(utilsincdir)
+AC_ARG_WITH(utilsbindir,
+ [ --with-utilsbindir=DIR server configuration files in DIR [prefix/bin]],
+ [
+ if test "$withval"; then
+ utilsbindir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-utilsbindir
+ option.])
+ fi
+ ]
+)
+: ${utilsbindir:='$prefix/bin'}
+utilsbindir=`(
+ eval echo "$utilsbindir"
+)`
+AC_SUBST(utilsbindir)
+
+prefixext=yes
+AC_ARG_WITH(prefixext,
+ [ --with-prefixext=YESNO extend prefix with /backup [yes]],
+ [
+ if test "$withval"; then
+ prefixext="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-prefixext
+ option.])
+ fi
+ ]
+)
+subdir="/backup"
+if test $prefixext != "yes" ; then
+ subdir=""
+fi
+
+dnl *** server side ***
+AC_ARG_WITH(serverdir,
+ [ --with-serverdir=DIR server installation in DIR [prefix/subdir/server]],
+ [
+ if test "$withval"; then
+ serverdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverdir
+ option.])
+ fi
+ ]
+)
+: ${serverdir:='$prefix$subdir/server'}
+serverdir=`(
+ eval echo "$serverdir"
+)`
+AC_SUBST(serverdir)
+dnl *** serverbindir
+AC_ARG_WITH(serverbindir,
+ [ --with-serverbindir=DIR server binaries in DIR [serverdir/bin]],
+ [
+ if test "$withval"; then
+ serverbindir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverbindir
+ option.])
+ fi
+ ]
+)
+: ${serverbindir:='$serverdir/bin'}
+serverbindir=`(
+ eval echo "$serverbindir"
+)`
+AC_SUBST(serverbindir)
+dnl *** serverlibdir
+AC_ARG_WITH(serverlibdir,
+ [ --with-serverlibdir=DIR server configuration files in DIR [serverdir/lib]],
+ [
+ if test "$withval"; then
+ serverlibdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverlibdir
+ option.])
+ fi
+ ]
+)
+: ${serverlibdir:='$serverdir/lib'}
+serverlibdir=`(
+ eval echo "$serverlibdir"
+)`
+AC_SUBST(serverlibdir)
+dnl *** serverconfdir
+AC_ARG_WITH(serverconfdir,
+ [ --with-serverconfdir=DIR server configuration files in DIR [serverdir/lib]],
+ [
+ if test "$withval"; then
+ serverconfdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverconfdir
+ option.])
+ fi
+ ]
+)
+: ${serverconfdir:='$serverdir/lib'}
+serverconfdir=`(
+ eval echo "$serverconfdir"
+)`
+AC_SUBST(serverconfdir)
+dnl *** servervardir
+AC_ARG_WITH(servervardir,
+ [ --with-servervardir=DIR variable server files in DIR [serverdir/var]],
+ [
+ if test "$withval"; then
+ servervardir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-servervardir
+ option.])
+ fi
+ ]
+)
+: ${servervardir:='$serverdir/var'}
+servervardir=`(
+ eval echo "$servervardir"
+)`
+AC_SUBST(servervardir)
+dnl *** servermandir
+AC_ARG_WITH(servermandir,
+ [ --with-servermandir=DIR variable server files in DIR [serverdir/man]],
+ [
+ if test "$withval"; then
+ servermandir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-servermandir
+ option.])
+ fi
+ ]
+)
+: ${servermandir:='$serverdir/man'}
+servermandir=`(
+ eval echo "$servermandir"
+)`
+AC_SUBST(servermandir)
+dnl *** serverlogdir
+AC_ARG_WITH(serverlogdir,
+ [ --with-serverlogdir=DIR server log files in DIR [serverdir/var]],
+ [
+ if test "$withval"; then
+ serverlogdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverlogdir
+ option.])
+ fi
+ ]
+)
+: ${serverlogdir:='$serverdir/var'}
+serverlogdir=`(
+ eval echo "$serverlogdir"
+)`
+AC_SUBST(serverlogdir)
+
+dnl *** client side ***
+AC_ARG_WITH(clientdir,
+ [ --with-clientdir=DIR client installation in DIR [prefix/subdir/client]],
+ [
+ if test "$withval"; then
+ clientdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientdir
+ option.])
+ fi
+ ]
+)
+: ${clientdir:='$prefix$subdir/client'}
+clientdir=`(
+ eval echo "$clientdir"
+)`
+AC_SUBST(clientdir)
+dnl *** clientbindir
+AC_ARG_WITH(clientbindir,
+ [ --with-clientbindir=DIR client binaries in DIR [clientdir/bin]],
+ [
+ if test "$withval"; then
+ clientbindir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientbindir
+ option.])
+ fi
+ ]
+)
+: ${clientbindir:='$clientdir/bin'}
+clientbindir=`(
+ eval echo "$clientbindir"
+)`
+AC_SUBST(clientbindir)
+dnl *** clientlibdir
+AC_ARG_WITH(clientlibdir,
+ [ --with-clientlibdir=DIR client configuration files in DIR [clientdir/lib]],
+ [
+ if test "$withval"; then
+ clientlibdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientlibdir
+ option.])
+ fi
+ ]
+)
+: ${clientlibdir:='$clientdir/lib'}
+clientlibdir=`(
+ eval echo "$clientlibdir"
+)`
+AC_SUBST(clientlibdir)
+dnl *** clientconfdir
+AC_ARG_WITH(clientconfdir,
+ [ --with-clientconfdir=DIR client configuration files in DIR [clientdir/lib]],
+ [
+ if test "$withval"; then
+ clientconfdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientconfdir
+ option.])
+ fi
+ ]
+)
+: ${clientconfdir:='$clientdir/lib'}
+clientconfdir=`(
+ eval echo "$clientconfdir"
+)`
+AC_SUBST(clientconfdir)
+dnl *** clientvardir
+AC_ARG_WITH(clientvardir,
+ [ --with-clientvardir=DIR variable client files in DIR [clientdir/var]],
+ [
+ if test "$withval"; then
+ clientvardir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientvardir
+ option.])
+ fi
+ ]
+)
+: ${clientvardir:='$clientdir/var'}
+clientvardir=`(
+ eval echo "$clientvardir"
+)`
+AC_SUBST(clientvardir)
+dnl *** clientmandir
+AC_ARG_WITH(clientmandir,
+ [ --with-clientmandir=DIR variable client files in DIR [clientdir/man]],
+ [
+ if test "$withval"; then
+ clientmandir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientmandir
+ option.])
+ fi
+ ]
+)
+: ${clientmandir:='$clientdir/man'}
+clientmandir=`(
+ eval echo "$clientmandir"
+)`
+AC_SUBST(clientmandir)
+dnl *** clientlogdir
+AC_ARG_WITH(clientlogdir,
+ [ --with-clientlogdir=DIR client log files in DIR [clientdir/var]],
+ [
+ if test "$withval"; then
+ clientlogdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientlogdir
+ option.])
+ fi
+ ]
+)
+: ${clientlogdir:='$clientdir/var'}
+clientlogdir=`(
+ eval echo "$clientlogdir"
+)`
+AC_SUBST(clientlogdir)
+dnl *** rexecdir
+AC_ARG_WITH(rexecdir,
+ [ --with-rexecdir=DIR binaries for remote execution in DIR [prefix/rexec]],
+ [
+ if test "$withval"; then
+ REXECDIR="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-rexecdir
+ option.])
+ fi
+ ]
+)
+: ${REXECDIR:='$prefix$subdir/rexec'}
+REXECDIR=`(
+ eval echo "$REXECDIR"
+)`
+AC_SUBST(REXECDIR)
+dnl *** clientconf
+AC_ARG_WITH(clientconf,
+ [ --with-clientconf=NAME NAME for client configuration [backup.conf]],
+ [
+ if test "$withval"; then
+ clientconf="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-clientconf
+ option.])
+ fi
+ ]
+)
+: ${clientconf:=backup.conf}
+clientconf=`(
+ eval echo "$clientconf"
+)`
+AC_SUBST(clientconf)
+dnl *** serverconf
+AC_ARG_WITH(serverconf,
+ [ --with-serverconf=NAME NAME for server configuration [backup.conf]],
+ [
+ if test "$withval"; then
+ serverconf="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-serverconf
+ option.])
+ fi
+ ]
+)
+: ${serverconf:=backup.conf}
+serverconf=`(
+ eval echo "$serverconf"
+)`
+AC_SUBST(serverconf)
+dnl *** commondir
+AC_ARG_WITH(commondir,
+ [ --with-commondir=DIR software for client and server will reside in DIR [prefix/common]],
+ [
+ if test "$withval"; then
+ commondir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-commondir
+ option.])
+ fi
+ ]
+)
+: ${commondir:='$prefix$subdir/common'}
+commondir=`(
+ eval echo "$commondir"
+)`
+AC_SUBST(commondir)
+dnl *** commondatadir
+AC_ARG_WITH(commondatadir,
+ [ --with-commondatadir=DIR architecture independent data for client and server will reside in DIR [commondir/share]],
+ [
+ if test "$withval"; then
+ commondatadir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-commondatadir
+ option.])
+ fi
+ ]
+)
+: ${commondatadir:='$commondir/share'}
+commondatadir=`(
+ eval echo "$commondatadir"
+)`
+AC_SUBST(commondatadir)
+dnl *** commonshlibdir
+AC_ARG_WITH(commonshlibdir,
+ [ --with-commonshlibdir=DIR architecture independent program text for client and server will reside in DIR [commondatadir/lib]],
+ [
+ if test "$withval"; then
+ commonshlibdir="$withval"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-commonshlibdir
+ option.])
+ fi
+ ]
+)
+: ${commonshlibdir:='$commondatadir/lib'}
+commonshlibdir=`(
+ eval echo "$commonshlibdir"
+)`
+AC_SUBST(commonshlibdir)
+
+
+dnl DES stuff
+
+usedes=no
+AC_ARG_WITH(des,
+ [ --with-des for client/server authentication [no]],
+ [
+ usedes=yes
+ des_include=../libdes
+ des_libdir=`echo $des_include|sed 's#include$#lib#g'`
+ des_header=des.h
+ des_ldflag=-ldes
+ ]
+)
+
+AC_ARG_WITH(des-include,
+ [ --with-des-include=DIR des header file in DIR [../libdes]],
+ [
+ if test "$withval"; then
+ usedes=yes
+ des_include="$withval"
+ des_libdir="$des_include"
+ des_header=des.h
+ des_ldflag=-ldes
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-des-include
+ option.])
+ fi
+ ]
+)
+
+AC_ARG_WITH(des-header,
+ [ --with-des-header=NAME NAME is des header file [des.h]],
+ [
+ if test "$withval"; then
+ usedes=yes
+ des_header="$withval"
+ des_ldflag=-ldes
+ if test _"$des_include" = _ ; then
+ des_include=../libdes
+ des_libdir="$des_include"
+ fi
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-des-header
+ option.])
+ fi
+ ]
+)
+
+AC_ARG_WITH(des-libdir,
+ [ --with-des-libdir=DIR des library is in DIR [../libdes]],
+ [
+ if test "$withval"; then
+ usedes=yes
+ des_libdir="$withval"
+ des_ldflag=-ldes
+ if test _"$des_include" = _ ; then
+ des_include="$des_libdir"
+ fi
+ if test _"$des_header" = _ ; then
+ des_header="des.h"
+ fi
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-des-libdir
+ option.])
+ fi
+ ]
+)
+
+AC_ARG_WITH(des-ldflag,
+ [ --with-des-ldflag=LIB des library is specified by LIB [-ldes]],
+ [
+ if test "$withval"; then
+ usedes=yes
+ des_ldflag="$withval"
+ if test _"$des_include" = _ ; then
+ des_include=../libdes
+ fi
+ if test _"$des_header" = _ ; then
+ des_header="des.h"
+ fi
+ if test _"$des_libdir" = _ ; then
+ des_libdir="$des_include"
+ fi
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-des-ldflag
+ option.])
+ fi
+ ]
+)
+
+if test $usedes = "no" ; then
+ DESINCLUDEPATH=""
+ DESDEFINES=""
+ DESLIB=""
+ DESLIBPATH=""
+ DESHEADER=""
+ DESCRPT=""
+else
+ if test `echo $des_ldflag|grep '^lib'|wc -l` -gt 0 ; then
+ des_ldflag=`echo $des_ldflag|sed 's/^lib/-l/g;s/[.].*//g'`
+ fi
+
+ DESINCLUDEPATH="-I$des_include"
+ DESDEFINES="-DHAVE_DES_ENCRYPTION"
+ DESHEADER="$des_header"
+ DESLIBPATH="-L$des_libdir"
+ DESLIB="$des_ldflag"
+ DESCRPT="__descrpt"
+fi
+
+AC_SUBST(DESDEFINES)
+AC_SUBST(DESINCLUDEPATH)
+AC_SUBST(DESLIBPATH)
+AC_SUBST(DESLIB)
+AC_SUBST(DESHEADER)
+AC_SUBST(DESCRPT)
+
+
+dnl zlib stuff
+
+usezlib=no
+AC_ARG_WITH(zlib,
+ [ --with-zlib for builtin compression [no]],
+ [
+ usezlib=yes
+ zlib_include=/usr/local/include
+ zlib_libdir=`echo $zlib_include|sed 's#include$#lib#g'`
+ ]
+)
+
+AC_ARG_WITH(zlib-include,
+ [ --with-zlib-include=DIR zlib header file in DIR [/usr/local/include]],
+ [
+ if test "$withval"; then
+ usezlib=yes
+ zlib_include="$withval"
+ zlib_libdir="$zlib_include"
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-zlib-include
+ option.])
+ fi
+ ]
+)
+
+AC_ARG_WITH(zlib-libdir,
+ [ --with-zlib-libdir=DIR zlib library is in DIR [/usr/local/lib]],
+ [
+ if test "$withval"; then
+ usezlib=yes
+ zlib_libdir="$withval"
+ if test _"$zlib_include" = _ ; then
+ zlib_include="$zlib_libdir"
+ fi
+ else
+ AC_MSG_WARN([*** You must supply an argument to the --with-zlib-libdir
+ option.])
+ fi
+ ]
+)
+
+AC_SUBST(commondir)
+AC_SUBST(commondatadir)
+AC_SUBST(commonshlibdir)
+
+
+if test $usezlib = "no" ; then
+ ZLIB_INCLUDEPATH=""
+ ZLIB_DEFINES=""
+ ZLIB_LIB=""
+ ZLIB_LIBPATH=""
+ ZIP=""
+else
+ ZLIB_INCLUDEPATH="-I$zlib_include"
+ ZLIB_DEFINES="-DUSE_ZLIB"
+ ZLIB_LIBPATH="-L$zlib_libdir"
+ ZLIB_LIB="-lz"
+ ZIP="__z"
+fi
+
+AC_SUBST(ZLIB_DEFINES)
+AC_SUBST(ZLIB_INCLUDEPATH)
+AC_SUBST(ZLIB_LIBPATH)
+AC_SUBST(ZLIB_LIB)
+AC_SUBST(ZIP)
+
+
+locspec=`echo $prefix|sed 's#/#^#g'`
+AC_SUBST(locspec)
+
+AC_SUBST(EXTRACFLAGS)
+AC_SUBST(OPTIMIZE)
+
+AC_SUBST(osname)
+AC_SUBST(CC)
+
+HEADERS="regex.h limits.h values.h"
+for header in $HEADERS ; do
+ safeval=`echo "$header" | sed 'y%./+-%__p_%'`
+ uppersafeval=`echo $safeval|tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ VNAM=DONT_INC_$uppersafeval
+ eval $VNAM=DONT_
+ eval isset='$'ac_cv_header_$safeval
+ if test $isset = yes ; then
+ eval $VNAM=""
+ fi
+done
+DONT_DECL_RE_UTILS="DONT_"
+DONT_DECL_POSIX_REGEX="DONT_"
+if test $ac_cv_func_re_compile_pattern != yes ; then
+ DONT_DECL_RE_UTILS=""
+fi
+if test $ac_cv_func_regcomp != yes ; then
+ DONT_DECL_POSIX_REGEX=""
+fi
+AC_SUBST(DONT_INC_REGEX_H)
+AC_SUBST(DONT_INC_VALUES_H)
+AC_SUBST(DONT_INC_LIMITS_H)
+AC_SUBST(DONT_DECL_RE_UTILS)
+AC_SUBST(DONT_DECL_POSIX_REGEX)
+
+FUNCTIONS="strrstr strcasestr memmove qsort bsearch lsearch lfind rint isnan isatty re_comp"
+for function in $FUNCTIONS ; do
+ safeval=`echo "$function" | sed 'y%./+-%__p_%'`
+ uppersafeval=`echo $safeval|tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ VNAM=DONT_DEF_$uppersafeval
+ eval $VNAM=DONT_
+ eval isset='$'ac_cv_func_$safeval
+ if test $isset != yes ; then
+ eval $VNAM=""
+ fi
+done
+AC_SUBST(DONT_DEF_STRRSTR)
+AC_SUBST(DONT_DEF_STRCASESTR)
+AC_SUBST(DONT_DEF_MEMMOVE)
+AC_SUBST(DONT_DEF_QSORT)
+AC_SUBST(DONT_DEF_BSEARCH)
+AC_SUBST(DONT_DEF_LSEARCH)
+AC_SUBST(DONT_DEF_LFIND)
+AC_SUBST(DONT_DEF_RINT)
+AC_SUBST(DONT_DEF_ISATTY)
+AC_SUBST(DONT_DEF_ISNAN)
+AC_SUBST(DONT_DEF_RE_COMP)
+
+
+DONT_INC_TIME_H=DONT_
+DONT_INC_SYS_TIME_H=DONT_
+if test $ac_cv_header_time_h ; then
+ DONT_INC_TIME_H=""
+fi
+if test $ac_cv_header_time = yes ; then
+ DONT_INC_TIME_H=""
+ DONT_INC_SYS_TIME_H=""
+else
+ if test $ac_cv_header_sys_time_h = yes ; then
+ DONT_INC_SYS_TIME_H=""
+ fi
+fi
+DONT_INC_SYS_TIMERS_H=DONT_
+if test $ac_cv_header_sys_timers_h = yes ; then
+ DONT_INC_SYS_TIMERS_H=""
+fi
+
+AC_SUBST(DONT_INC_TIME_H)
+AC_SUBST(DONT_INC_SYS_TIME_H)
+AC_SUBST(DONT_INC_SYS_TIMERS_H)
+
+DONT_USE_SOLARIS2_ACLS="DONT_"
+if test $ac_cv_header_sys_acl_h = yes -a $ac_cv_func_acl = yes ; then
+ DONT_USE_SOLARIS2_ACLS=""
+fi
+AC_SUBST(DONT_USE_SOLARIS2_ACLS)
+
+DONT_USE_HPUX10_ACLS="DONT_"
+if test $ac_cv_header_sys_acl_h = yes -a $ac_cv_func_setacl = yes ; then
+ DONT_USE_HPUX10_ACLS=""
+fi
+AC_SUBST(DONT_USE_HPUX10_ACLS)
+
+DONT_USE_POSIX_ACLS="DONT_"
+if test $ac_cv_header_sys_acl_h = yes -a $acl_get_file = yes ; then
+ DONT_USE_POSIX_ACLS=""
+ AC_CHECK_FUNC(acl_free_text, AC_DEFINE(HAVE_ACL_FREE_TEXT))
+ AC_CHECK_FUNC(acl_to_short_text, AC_DEFINE(HAVE_ACL_TO_SHORT_TEXT))
+fi
+AC_SUBST(DONT_USE_POSIX_ACLS)
+
+AC_OUTPUT(lconf.h budefs.h des_aux.h Makefile server.conf client.conf shwish.head xcc xsc xrs xss clientconfig serverconfig autocptapes afclient.8 cartis.8 cartready.8 afserver.8 afmserver.8 label_tape.8 cart_ctl.8 full_backup.8 incr_backup.8 afrestore.8 afverify.8 update_indexes.8 copy_tape.8 xafrestore.8 afclient.conf.8 afserver.conf.8 CONFIG intl/Makefile po/Makefile.in)
+
+echo "$ARCH" > config.setup
diff --git a/misc/afbackup/files/patch-aa b/misc/afbackup/files/patch-aa
new file mode 100644
index 000000000000..a75404fc570b
--- /dev/null
+++ b/misc/afbackup/files/patch-aa
@@ -0,0 +1,17 @@
+--- __descrpt.c.orig Wed Dec 13 14:45:16 2000
++++ __descrpt.c Thu Aug 23 12:17:33 2001
+@@ -129,12 +129,12 @@
+ }
+
+ if(weak)
+- des_cbc_encrypt((des_cblock *) buf, (des_cblock *) outbuf,
++ des_cbc_encrypt(buf, outbuf,
+ len * sizeof(UChar),
+ accesskeys[0], ivec, encrypt);
+ else
+ #ifndef LIBDESBUG_COMPATIBILITY
+- des_ede2_cbc_encrypt((des_cblock *) buf, (des_cblock *) outbuf,
++ des_ede2_cbc_encrypt(buf, outbuf,
+ len * sizeof(UChar),
+ accesskeys[0], accesskeys[1], ivec, encrypt);
+ #else
diff --git a/misc/afbackup/files/patch-ab b/misc/afbackup/files/patch-ab
new file mode 100644
index 000000000000..f67d0551bdee
--- /dev/null
+++ b/misc/afbackup/files/patch-ab
@@ -0,0 +1,24 @@
+--- crptauth.c.orig Sun Feb 4 14:15:55 2001
++++ crptauth.c Thu Aug 23 12:17:33 2001
+@@ -344,7 +344,7 @@
+ }
+
+ #ifndef LIBDESBUG_COMPATIBILITY
+- des_ede2_cbc_encrypt((des_cblock *) buf, (des_cblock *) lbuf,
++ des_ede2_cbc_encrypt(buf, lbuf,
+ 16 * sizeof(UChar),
+ keys[0], keys[1], ivec, 1);
+ #else
+@@ -403,10 +403,10 @@
+ }
+
+ #ifndef LIBDESBUG_COMPATIBILITY
+- des_ede2_cbc_encrypt((des_cblock *) buf, (des_cblock *) cbuf,
++ des_ede2_cbc_encrypt(buf, cbuf,
+ l * sizeof(UChar),
+ keys[0], keys[1],
+- ivec, en ? 1 : 0);
++ (des_cblock*) ivec, en ? 1 : 0);
+ #else
+ des_3cbc_encrypt((des_cblock *) buf, (des_cblock *) cbuf,
+ l * sizeof(UChar),
diff --git a/misc/afbackup/files/patch-ac b/misc/afbackup/files/patch-ac
new file mode 100644
index 000000000000..407cb98cb0f5
--- /dev/null
+++ b/misc/afbackup/files/patch-ac
@@ -0,0 +1,68 @@
+--- full_backup.c.orig Thu Aug 23 13:33:04 2001
++++ full_backup.c Thu Sep 13 18:45:24 2001
+@@ -165,6 +165,7 @@
+ UChar *default_paramfiles[] = { DEFAULT_CLIENT_CONFIGFILES , NULL };
+
+ UChar *bindir = NULL;
++UChar *libexecdir = NULL;
+ UChar *vardir = NULL;
+ UChar *libdir = NULL;
+ UChar *confdir = NULL;
+@@ -172,6 +173,7 @@
+
+ ReplSpec dir_pat_repl[] = {
+ { "%B", NULL, &bindir },
++ { "%E", NULL, &libexecdir },
+ { "%L", NULL, &libdir },
+ { "%V", NULL, &vardir },
+ { "%C", NULL, &confdir },
+@@ -1384,12 +1386,13 @@
+
+ /* construct file- and dirnames */
+ bindir = strapp(backuphome, FN_DIRSEPSTR "bin");
++ libexecdir = strapp(backuphome, FN_DIRSEPSTR "libexecdir");
+ vardir = strapp(backuphome, FN_DIRSEPSTR "var");
+ libdir = strapp(backuphome, FN_DIRSEPSTR "lib");
+ logdir = strdup(vardir);
+ confdir = strdup(libdir);
+
+- if(!bindir || !vardir || !libdir || !logdir || !confdir)
++ if(!bindir || !vardir || !libdir || !logdir || !confdir || !libexecdir)
+ nomemerrexit();
+
+ if(!paramfile)
+@@ -1400,6 +1403,7 @@
+ if(!backuphome){
+ /* construct file- and dirnames */
+ bindir = DEFBINDIR;
++ libexecdir = DEFLIBEXECDIR;
+ vardir = DEFVARDIR;
+ libdir = DEFLIBDIR;
+ logdir = DEFLOGDIR;
+@@ -1420,13 +1424,14 @@
+ }
+ }
+ ZFREE(cptr);
++ libexecdir = strapp(backuphome, FN_DIRSEPSTR "libexec/afbackup");
+ vardir = strapp(backuphome, FN_DIRSEPSTR "var");
+ libdir = strapp(backuphome, FN_DIRSEPSTR "lib");
+ logdir = strapp(backuphome, FN_DIRSEPSTR "var");
+ confdir = strapp(backuphome, FN_DIRSEPSTR "lib");
+ }
+
+- if(!bindir || !vardir || !libdir || !logdir || !confdir)
++ if(!bindir || !vardir || !libdir || !logdir || !confdir || !libexecdir)
+ nomemerrexit();
+
+ if(!paramfile)
+@@ -1498,8 +1503,8 @@
+ if(!dont_compress_str)
+ dont_compress_str = "";
+ num_dont_compress = str2wordsq(&dont_compress, dont_compress_str);
+- piperprogram = strapp(bindir, FN_DIRSEPSTR "__piper");
+- zprogram = strapp(bindir, FN_DIRSEPSTR "__z");
++ piperprogram = strapp(libexecdir, FN_DIRSEPSTR "__piper");
++ zprogram = strapp(libexecdir, FN_DIRSEPSTR "__z");
+ server_ids_file = strapp(vardir, FN_DIRSEPSTR "server_ids");
+ index_stale_file = strapp(vardir, FN_DIRSEPSTR "index_stale");
+ if(!paramfile || !partfile || !oldmarkfile || !orgoldmarkfile
diff --git a/misc/afbackup/files/patch-ad b/misc/afbackup/files/patch-ad
new file mode 100644
index 000000000000..2c15315a05de
--- /dev/null
+++ b/misc/afbackup/files/patch-ad
@@ -0,0 +1,38 @@
+--- label_tape.c.orig Wed Jul 4 08:04:02 2001
++++ label_tape.c Thu Sep 13 18:49:29 2001
+@@ -33,11 +33,13 @@
+ UChar *programfile = NULL;
+ UChar *programdir = NULL;
+ UChar *bindir = NULL;
++UChar *libexecdir = NULL;
+ UChar *libdir = NULL;
+ UChar *vardir = NULL;
+
+ ReplSpec replacements[] = {
+ { "%B", NULL, &bindir },
++ { "%E", NULL, &libexecdir },
+ { "%L", NULL, &libdir },
+ { "%V", NULL, &vardir },
+ };
+@@ -1035,11 +1037,13 @@
+ if( (cptr = FN_LASTDIRDELIM(programdir)) )
+ *(cptr) = '\0';
+ bindir = strapp(programdir, FN_DIRSEPSTR "bin");
++ libexecdir = strapp(programdir, FN_DIRSEPSTR "libexec/afbackup");
+ libdir = strapp(programdir, FN_DIRSEPSTR "lib");
+
+ #else /* defined(ORIG_DEFAULTS) */
+
+ bindir = strdup(DEFSERVBINDIR);
++ libexecdir = strdup(DEFSERVLIBEXECDIR);
+ libdir = strdup(DEFSERVLIBDIR);
+
+ #endif /* if else defined(ORIG_DEFAULTS) */
+@@ -1049,6 +1053,7 @@
+ backuphome = strdup(backuphome);
+ /* construct file- and dirnames */
+ bindir = strapp(backuphome, FN_DIRSEPSTR "bin");
++ libexecdir = strapp(backuphome, FN_DIRSEPSTR "libexec/afbackup");
+ libdir = strapp(backuphome, FN_DIRSEPSTR "lib");
+ }
+
diff --git a/misc/afbackup/files/patch-ae b/misc/afbackup/files/patch-ae
new file mode 100644
index 000000000000..97c9eb9a8774
--- /dev/null
+++ b/misc/afbackup/files/patch-ae
@@ -0,0 +1,34 @@
+--- mserver.c.orig Mon Jun 25 18:59:42 2001
++++ mserver.c Thu Sep 13 18:51:21 2001
+@@ -122,11 +122,13 @@
+
+ UChar *vardir = NULL;
+ UChar *bindir = NULL;
++UChar *libexecdir = NULL;
+ UChar *libdir = NULL;
+ UChar *confdir = NULL;
+
+ ReplSpec replacements[] = {
+ { "%B", NULL, &bindir },
++ { "%E", NULL, &libexecdir },
+ { "%L", NULL, &libdir },
+ { "%V", NULL, &vardir },
+ { "%C", NULL, &confdir },
+@@ -2005,6 +2007,8 @@
+ confdir = strdup(DEFSERVCONFDIR);
+ if(!bindir)
+ bindir = strdup(DEFSERVBINDIR);
++ if(!libexecdir)
++ libexecdir = strdup(DEFSERVLIBEXECDIR);
+ #else
+ if(!vardir)
+ vardir = strapp(backuphome, FN_DIRSEPSTR "var");
+@@ -2014,6 +2018,8 @@
+ libdir = strdup(confdir);
+ if(!bindir)
+ bindir = strapp(backuphome, FN_DIRSEPSTR "bin");
++ if(!libexecdir)
++ libexecdir = strapp(backuphome, FN_DIRSEPSTR "libexec/afbackup");
+ #endif
+
+ if(cryptfile)
diff --git a/misc/afbackup/files/patch-af b/misc/afbackup/files/patch-af
new file mode 100644
index 000000000000..eb78795aa01d
--- /dev/null
+++ b/misc/afbackup/files/patch-af
@@ -0,0 +1,11 @@
+--- mvals.h.orig Sat Oct 21 13:27:49 2000
++++ mvals.h Thu Aug 23 12:17:33 2001
+@@ -8,7 +8,7 @@
+ #if !defined(__WATCOMC__) && !defined(__QNX__) && !defined(__MSDOS__) && !defined(__WIN32__) && !defined(_MSC_VER)
+ # ifdef INC_LIMITS_H
+ # include <limits.h>
+-# ifdef __OpenBSD__
++# if defined( __OpenBSD__) || defined( __FreeBSD__)
+ # define MAXINT INT_MAX
+ # endif
+ # endif
diff --git a/misc/afbackup/files/patch-ag b/misc/afbackup/files/patch-ag
new file mode 100644
index 000000000000..9112657acc64
--- /dev/null
+++ b/misc/afbackup/files/patch-ag
@@ -0,0 +1,34 @@
+--- server.c.orig Thu Aug 23 12:54:50 2001
++++ server.c Thu Sep 13 18:52:58 2001
+@@ -103,11 +103,13 @@
+ UChar *storefile = NULL;
+ UChar *vardir = NULL;
+ UChar *bindir = NULL;
++UChar *libexecdir = NULL;
+ UChar *libdir = NULL;
+ UChar *confdir = NULL;
+
+ ReplSpec replacements[] = {
+ { "%B", NULL, &bindir },
++ { "%E", NULL, &libexecdir },
+ { "%L", NULL, &libdir },
+ { "%V", NULL, &vardir },
+ { "%C", NULL, &confdir },
+@@ -835,6 +837,8 @@
+ confdir = strdup(DEFSERVCONFDIR);
+ if(!bindir)
+ bindir = strdup(DEFSERVBINDIR);
++ if(!libexecdir)
++ libexecdir = strdup(DEFSERVLIBEXECDIR);
+ #else
+ if(!vardir)
+ vardir = strapp(backuphome, FN_DIRSEPSTR "var");
+@@ -844,6 +848,8 @@
+ libdir = strdup(confdir);
+ if(!bindir)
+ bindir = strapp(backuphome, FN_DIRSEPSTR "bin");
++ if(!libexecdir)
++ libexecdir = strapp(backuphome, FN_DIRSEPSTR "libexec/afbackup");
+ #endif
+
+ if(!g_lock.lockfile){
diff --git a/misc/afbackup/files/patch-ah b/misc/afbackup/files/patch-ah
new file mode 100644
index 000000000000..87b0180ba980
--- /dev/null
+++ b/misc/afbackup/files/patch-ah
@@ -0,0 +1,267 @@
+--- CONFIG.in.orig Fri Aug 24 14:54:34 2001
++++ CONFIG.in Thu Aug 23 12:27:55 2001
+@@ -380,8 +380,8 @@
+ will be appended to it. Otherwise the file is removed before
+ writing.
+ %L will be replaced with the full path of the lib-directory
+- of the server, %B with the bin-directory and %V with the
+- var-directory.
++ of the server, %B with the bin-directory, %E with the libexec-
++ directory and %V with the var-directory.
+
+
+ Lock-file
+@@ -702,9 +702,10 @@
+ The name of a file error messages or other notable events
+ are written to. A dash - stands for no logging. The pattern
+ %V will be replaced with the full path to the var-directory,
+- %B with the bin directory, %L with the lib directory, %C with
+- the configuration directory (usually == %L) and %I with the
+- logging directory (usually == %V)
++ %B with the bin directory, %L with the lib directory, %E with
++ the libexec directory, %C with the configuration directory,
++ (usually == %L) and %I with the logging directory (usually ==
++ %V)
+
+
+ ClientIdentifier
+--- afclient.conf.8.in.orig Fri Aug 24 14:54:34 2001
++++ afclient.conf.8.in Thu Aug 23 12:29:21 2001
+@@ -244,9 +244,10 @@
+ The name of a file error messages or other notable events
+ are written to. A dash - stands for no logging. The pattern
+ %V will be replaced with the full path to the var-directory,
+-%B with the bin directory, %L with the lib directory, %C with
+-the configuration directory (usually == %L) and %I with the
+-logging directory (usually == %V)
++%B with the bin directory, %L with the lib directory, %E with
++the libexec-directory, %C with the configuration directory
++(usually == %L) and %I with the logging directory (usually ==
++%V)
+ .TP
+ .B ClientIdentifier
+ The identifier for the client. Default: The official hostname.
+--- cartagehandler.orig Sat Mar 24 17:54:49 2001
++++ cartagehandler Thu Aug 23 12:17:33 2001
+@@ -106,6 +106,8 @@
+ set p=$p:h
+ set bindir="$p"
+ set sbindir="$p"
++ set p=$p:h
++ set libexecdir="$p/libexec/afbackup"
+
+ setenv BACKUP_HOME "$bindir"
+ if ($BACKUP_HOME:t == "bin" || $BACKUP_HOME:t == "sbin") then
+@@ -119,8 +121,14 @@
+ if (! $?sbindir) then
+ set sbindir="$BACKUP_HOME/sbin"
+ endif
++if (! $?libexecdir) then
++ set libexecdir="$BACKUP_HOME/libexec/afbackup"
++endif
+
+-set NUMSET="$bindir"/__numset
++set NUMSET="$libexecdir"/__numset
++if ( ! -x $NUMSET ) then
++ set NUMSET="$bindir"/__numset
++endif
+ if ( ! -x $NUMSET ) then
+ set NUMSET="$sbindir"/__numset
+ if ( ! -x $NUMSET ) then
+--- clientconfig.in.orig Mon Jun 25 18:53:28 2001
++++ clientconfig.in Thu Sep 13 20:06:21 2001
+@@ -414,7 +414,7 @@
+ helps__11=`TN_ "This flag specifies, whether the filename logging files should be processed by the configured program."`
+ helps__12=`TN_ "These patterns or filenames specify files, that no processing is attempted on. Normally this is done for all files. This might be unefficient, e.g. compressing files, that are already compressed, so their compression can be suppressed with this parameter. The value of this parameter must be a list separated by whitespace. Double quotes may enclose list elements."`
+ helps__13=`TN_ "This number determines how many log files of previous full backups are saved. These files may serve for the restore of older files than those present in the current backup. Of course there must be sufficient space to hold all the backups. It doesn't help to save all the saved filenames but not to have them available on tape."`
+-helps__14=`TN_ "The name of a file error messages or other notable events are written to. A dash - stands for no logging. The pattern %V will be replaced with the full path to the var-directory, %B with the bin directory, %L with the lib directory, %C with the configuration directory (usually == %L) and %I with the logging directory (usually == %V)"`
++helps__14=`TN_ "The name of a file error messages or other notable events are written to. A dash - stands for no logging. The pattern %V will be replaced with the full path to the var-directory, %B with the bin directory, %L with the lib directory, %E with the libexec directory, %C with the configuration directory (usually == %L) and %I with the logging directory (usually == %V)"`
+ helps__15=`TN_ "The directory, where varying files should be put in. These files must not be deleted. The information they contain is necessary for restore."`
+ helps__16=`TN_ "The identifier for the client. Default: The official hostname. This entry is required, it several afbackup clients reside on one host. In this case the multi stream server must be able to distinguish the clients to distribute the pieces of backup data on tape correctly. Otherwise the data would be mixed up and be unusable by the reading client."`
+ helps__17=`TN_ "To prevent client programs from being started several times a lock file is created and this is it's name. For pattern replacements see LoggingFile (14)."`
+--- configure.in.orig Thu May 24 13:50:13 2001
++++ configure.in Thu Aug 23 12:17:33 2001
+@@ -38,7 +38,7 @@
+ dnl Checks for header files.
+
+ if test `uname` = "FreeBSD" ; then
+- if test -r /usr/include/values.h ; then
++ if test `uname -r` -le '2' -a -r /usr/include/values.h ; then
+ ac_cv_header_values_h=yes
+ else
+ ac_cv_header_values_h=no
+--- server.conf.changer.orig Fri Aug 24 14:54:34 2001
++++ server.conf.changer Fri Aug 24 14:28:47 2001
+@@ -63,10 +63,10 @@
+ # %m by the number, if the count starts with 0.
+ #
+ # Command to set the file # on tape
+-SetFile-Command: sh -c "mt -f %d rewind && %B/__mt -f %d fsf %m"
++SetFile-Command: sh -c "mt -f %d rewind && %E/__mt -f %d fsf %m"
+ #
+ # Command to skip to the next %n-th file on tape
+-SkipFiles-Command: %B/__mt -f %d fsf %n
++SkipFiles-Command: %E/__mt -f %d fsf %n
+ #
+ # If there is a command to set the cartridge directly, use it here
+ Setcart-Command: %B/cart_ctl -F -m -C %n -D
+@@ -81,7 +81,7 @@
+ #InitMedia-Command:
+ #
+ # Command, that is called, when a tape is full
+-#TapeFull-Command: %B/cartagehandler %c %n %C
++#TapeFull-Command: %E/cartagehandler %c %n %C
+ #
+ # The command to erase the tape. This is necessary on some systems.
+ #Erasetape-Command: exit 0
+--- server.conf.dir.orig Fri Aug 24 14:54:34 2001
++++ server.conf.dir Thu Aug 23 12:38:11 2001
+@@ -126,7 +126,7 @@
+ # CONFIGURATION FOR REMOTE_EXECUTION
+ #
+ # Directory, where remotely started programs must reside
+-Program-Directory: %B/../rexec
++Program-Directory: %E
+ #
+ #
+ # SERVER-STARTUP AND SHUTDOWN ACTIONS
+--- server.conf.dirsl.orig Fri Aug 24 14:54:34 2001
++++ server.conf.dirsl Fri Aug 24 14:28:45 2001
+@@ -69,7 +69,7 @@
+ SetFile-Command: /bin/rm -f %d;touch %d.%m; ln -s %d.%m %d; exit 0
+ #
+ # Command to skip to the next %n-th file on tape
+-SkipFiles-Command: %B/__inc_link -s %d %n
++SkipFiles-Command: %E/__inc_link -s %d %n
+ #
+ # If there is a command to set the cartridge directly, supply it here
+ Set-Cart-Command: /bin/rm -f /var/backup/vol; mkdir -p /var/backup/vol.%n ; ln -s vol.%n /var/backup/vol ; touch %d.0 ; /bin/rm -f %d ; ln -s data.0 %d ; exit 0
+@@ -126,7 +126,7 @@
+ # CONFIGURATION FOR REMOTE_EXECUTION
+ #
+ # Directory, where remotely started programs must reside
+-Program-Directory: %B/../rexec
++Program-Directory: %E
+ #
+ #
+ # SERVER-STARTUP AND SHUTDOWN ACTIONS
+--- server.conf.in.orig Fri Aug 24 14:54:34 2001
++++ server.conf.in Fri Aug 24 14:28:43 2001
+@@ -63,10 +63,10 @@
+ # %m by the number, if the count starts with 0.
+ #
+ # Command to set the file # on tape
+-SetFile-Command: sh -c "mt -f %d rewind && %B/__mt -f %d fsf %m"
++SetFile-Command: sh -c "mt -f %d rewind && %E/__mt -f %d fsf %m"
+ #
+ # Command to skip to the next %n-th file on tape
+-SkipFiles-Command: %B/__mt -f %d fsf %n
++SkipFiles-Command: %E/__mt -f %d fsf %n
+ #
+ # If there is a command to set the cartridge directly, use it here
+ #Setcart-Command: %B/cart_ctl -F -m -C %n -D
+@@ -81,7 +81,7 @@
+ #InitMedia-Command:
+ #
+ # Command, that is called, when a tape is full
+-#TapeFull-Command: %B/cartagehandler %c %n %C
++#TapeFull-Command: %E/cartagehandler %c %n %C
+ #
+ # The command to erase the tape. This is necessary on some systems.
+ #Erasetape-Command: exit 0
+--- server.conf.manual.orig Fri Aug 24 14:54:34 2001
++++ server.conf.manual Fri Aug 24 14:28:39 2001
+@@ -63,10 +63,10 @@
+ # %m by the number, if the count starts with 0.
+ #
+ # Command to set the file # on tape
+-SetFile-Command: sh -c "mt -f %d rewind && %B/__mt -f %d fsf %m"
++SetFile-Command: sh -c "mt -f %d rewind && %E/__mt -f %d fsf %m"
+ #
+ # Command to skip to the next %n-th file on tape
+-SkipFiles-Command: %B/__mt -f %d fsf %n
++SkipFiles-Command: %E/__mt -f %d fsf %n
+ #
+ # If there is a command to set the cartridge directly, use it here
+ #Setcart-Command: %B/cart_ctl -F -m -C %n -D
+@@ -81,7 +81,7 @@
+ #InitMedia-Command:
+ #
+ # Command, that is called, when a tape is full
+-#TapeFull-Command: %B/cartagehandler %c %n %C
++#TapeFull-Command: %E/cartagehandler %c %n %C
+ #
+ # The command to erase the tape. This is necessary on some systems.
+ #Erasetape-Command: exit 0
+--- serverconfig.in.orig Fri Aug 24 14:54:34 2001
++++ serverconfig.in Fri Aug 24 14:27:20 2001
+@@ -425,7 +425,7 @@
+ helps__13=`TN_ "If the streaming device is not accessible (i.e. an open or a tape handling command fails) or another backup server process is still running, the server process re-tries his attempts regularly. If it fails longer than the time in minutes supplied here, an e-mail is sent to the configured user in charge (see: User To Inform). Supplying 0 means: never send mail."`
+ helps__14=`TN_ "If the streaming device is not accessible (i.e. an open or a tape handling command fails), the server process re-tries his attempts regularly. If it fails longer than the time in minutes supplied here, it exits silently leaving a warning in the log file. Supplying 0 means: try forever, never exit."`
+ helps__15=`TN_ "This is the interval in seconds, after that regularly the device is probed to be ready for reading. Thus after having ejected a cartridge it is automatically recognized, if a new cartridge has been inserted. For other media (e.g. exchangeable disks) this may not be suitable. Supply a 0 in these cases for no probing."`
+-helps__16=`TN_ "If a media changer is available and it should be used, this is the file to configure it. It must contain specifications of the commands, that are driving the media changer. %L will be replaced with the full path of the lib-directory of the server, %B with the bin-directory and %V with the var-directory. See the manual pages of cart_ctl, how to setup the media changer operation."`
++helps__16=`TN_ "If a media changer is available and it should be used, this is the file to configure it. It must contain specifications of the commands, that are driving the media changer. %L will be replaced with the full path of the lib-directory of the server, %B with the bin-directory, %E with the libexec-directory and %V with the var-directory. See the manual pages of cart_ctl, how to setup the media changer operation."`
+ helps__17=`TN_ "This is the (shell-) command to run to position the tape to a certain file. Usually this is something like a combination of: mt -f <device> rewind and mt -f <device> fsf <number>. If the command you are supplying here starts to count with 1 for the first file on tape, you should insert %n for the <number>. If it starts with 0, replace <number> with %m. If you don't want to type the devicename again here, you may write %d instead. For more pattern replacements see Changer-Configuration-File (16)."`
+ helps__18=`TN_ "This is the (shell-) command to run to skip over to a file later on tape. Usually this is something like\nmt -f <device> fsf <number>\nInsert %n, where the number of files to skip over must be supplied in the command, in the example instead of <number>, and %d, where the device should appear (here: <device>). For more pattern replacements see Changer-Configuration-File (16)."`
+ helps__19=`TN_ "This is the (shell-) command to run to put a certain cartridge into the device. If the command you are supplying here starts to count with 1 for the first cartridge, you should insert %n in the place, where the cartridge number must appear. If it starts with 0, replace it with %m. If you don't want to type the devicename again here, you may write %d instead. If you don't have a command to perform this task, don't supply anything here. In this case you must set your cartridge handling system to sequential mode (automatically putting the next cartridge in, when the actual one is ejected). For more pattern replacements see Changer-Configuration-File (16)."`
+--- xcc.in.orig Mon Jun 25 19:01:35 2001
++++ xcc.in Thu Sep 13 20:07:56 2001
+@@ -196,7 +196,7 @@
+ set helps(11) [ TN_ "This flag specifies, whether the filename logging files should be processed by the configured program." ]
+ set helps(12) [ TN_ "These patterns or filenames specify files, that no processing is attempted on. Normally this is done for all files. This might be unefficient, e.g. compressing files, that are already compressed, so their compression can be suppressed with this parameter. The value of this parameter must be a list separated by whitespace. Double quotes may enclose list elements." ]
+ set helps(13) [ TN_ "This number determines how many log files of previous full backups are saved. These files may serve for the restore of older files than those present in the current backup. Of course there must be sufficient space to hold all the backups. It doesn't help to save all the saved filenames but not to have them available on tape." ]
+-set helps(14) [ TN_ "The name of a file error messages or other notable events are written to. A dash - stands for no logging. The pattern %V will be replaced with the full path to the var-directory, %B with the bin directory, %L with the lib directory, %C with the configuration directory (usually == %L) and %I with the logging directory (usually == %V)" ]
++set helps(14) [ TN_ "The name of a file error messages or other notable events are written to. A dash - stands for no logging. The pattern %V will be replaced with the full path to the var-directory, %B with the bin directory, %E with the libexec directory, %L with the lib directory, %C with the configuration directory (usually == %L) and %I with the logging directory (usually == %V)" ]
+ set helps(15) [ TN_ "The directory, where varying files should be put in. These files must not be deleted. The information they contain is necessary for restore." ]
+ set helps(16) [ TN_ "The identifier for the client. Default: The official hostname. This entry is required, it several afbackup clients reside on one host. In this case the multi stream server must be able to distinguish the clients to distribute the pieces of backup data on tape correctly. Otherwise the data would be mixed up and be unusable by the reading client." ]
+ set helps(17) [ TN_ "To prevent client programs from being started several times a lock file is created and this is it's name. For pattern replacements see LoggingFile (14)." ]
+--- xrs.in.orig Wed Jun 13 09:36:35 2001
++++ xrs.in Thu Aug 23 12:17:33 2001
+@@ -17,7 +17,8 @@
+ # user settable section
+
+ set BACKUP_HOME_DEFAULT $env(BACKUP_HOME_DEFAULT)
+-set BINDIR "@clientbindir@"
++set BINDIR "@bindir@"
++set LIBEXECDIR "@libexecdir@"
+
+ set poss_binsubs { bin sbin "" }
+
+@@ -29,6 +30,7 @@
+ set BINDIR "$BACKUP_HOME/$binsub"
+ }
+ }
++ set LIBEXECDIR "$BACKUP_HOME/libexec/afbackup"
+ }
+ set found 0
+ set configfiles "$BACKUP_HOME_DEFAULT/lib/backup.conf /etc/buclient.conf /etc/afbuclient.conf /etc/afclient.conf /etc/afbackup/client.conf"
+@@ -44,7 +46,7 @@
+ set cmdprefixlast [ expr [ string length $CMDPREFIX ] - 1 ]
+
+ set restoreprog "$BINDIR/afrestore"
+-set packprog "$BINDIR/__packpats"
++set packprog "$LIBEXECDIR/__packpats"
+
+ source "@commonshlibdir@/aftcllib.tcl"
+
+--- xsc.in.orig Fri Aug 24 14:54:34 2001
++++ xsc.in Fri Aug 24 14:27:54 2001
+@@ -226,7 +226,7 @@
+ set helps(13) [ TN_ "If the streaming device is not accessible (i.e. an open or a tape handling command fails) or another backup server process is still running, the server process re-tries his attempts regularly. If it fails longer than the time in minutes supplied here, an e-mail is sent to the configured user in charge (see: User To Inform). Supplying 0 means: never send mail." ]
+ set helps(14) [ TN_ "If the streaming device is not accessible (i.e. an open or a tape handling command fails), the server process re-tries his attempts regularly. If it fails longer than the time in minutes supplied here, it exits silently leaving a warning in the log file. Supplying 0 means: try forever, never exit." ]
+ set helps(15) [ TN_ "This is the interval in seconds, after that regularly the device is probed to be ready for reading. Thus after having ejected a cartridge it is automatically recognized, if a new cartridge has been inserted. For other media (e.g. exchangeable disks) this may not be suitable. Supply a 0 in these cases for no probing." ]
+-set helps(16) [ TN_ "If a media changer is available and it should be used, this is the file to configure it. It must contain specifications of the commands, that are driving the media changer. %L will be replaced with the full path of the lib-directory of the server, %B with the bin-directory and %V with the var-directory. See the manual pages of cart_ctl, how to setup the media changer operation." ]
++set helps(16) [ TN_ "If a media changer is available and it should be used, this is the file to configure it. It must contain specifications of the commands, that are driving the media changer. %L will be replaced with the full path of the lib-directory of the server, %B with the bin-directory, %E with the libexec-directory and %V with the var-directory. See the manual pages of cart_ctl, how to setup the media changer operation." ]
+ set helps(17) [ TN_ "This is the (shell-) command to run to position the tape to a certain file. Usually this is something like a combination of: mt -f <device> rewind and mt -f <device> fsf <number>. If the command you are supplying here starts to count with 1 for the first file on tape, you should insert %n for the <number>. If it starts with 0, replace <number> with %m. If you don't want to type the devicename again here, you may write %d instead. For more pattern replacements see Changer-Configuration-File (16)." ]
+ set helps(18) [ TN_ "This is the (shell-) command to run to skip over to a file later on tape. Usually this is something like\nmt -f <device> fsf <number>\nInsert %n, where the number of files to skip over must be supplied in the command, in the example instead of <number>, and %d, where the device should appear (here: <device>). For more pattern replacements see Changer-Configuration-File (16)." ]
+ set helps(19) [ TN_ "This is the (shell-) command to run to put a certain cartridge into the device. If the command you are supplying here starts to count with 1 for the first cartridge, you should insert %n in the place, where the cartridge number must appear. If it starts with 0, replace it with %m. If you don't want to type the devicename again here, you may write %d instead. If you don't have a command to perform this task, don't supply anything here. In this case you must set your cartridge handling system to sequential mode (automatically putting the next cartridge in, when the actual one is ejected). For more pattern replacements see Changer-Configuration-File (16)." ]
+--- xss.in.orig Fri Aug 24 14:54:34 2001
++++ xss.in Fri Aug 24 14:28:35 2001
+@@ -81,6 +81,7 @@
+ { "%L" "libdir" "lib" "@serverlibdir@" }
+ { "%I" "logdir" "var" "@serverlogdir@" }
+ { "%B" "bindir" "bin" "@serverbindir@" }
++ { "%E" "libexecdir" "libexec" "@serverbindir@" }
+ { "%C" "confdir" "lib" "@serverconfdir@" }
+ }
+
diff --git a/misc/afbackup/files/patch-ai b/misc/afbackup/files/patch-ai
new file mode 100644
index 000000000000..5bdbde90ef56
--- /dev/null
+++ b/misc/afbackup/files/patch-ai
@@ -0,0 +1,31 @@
+--- budefs.h.in.orig Sat May 26 13:02:04 2001
++++ budefs.h.in Mon Aug 27 15:38:41 2001
+@@ -109,11 +109,13 @@
+ #define SERVERMODE_VARAPPEND 1
+
+ #define DEFBINDIR "@clientbindir@"
++#define DEFLIBEXECDIR "@libexecdir@"
+ #define DEFVARDIR "@clientvardir@"
+ #define DEFLIBDIR "@clientlibdir@"
+ #define DEFLOGDIR "@clientlogdir@"
+-#define DEFCONFDIR "@clientlibdir@"
++#define DEFCONFDIR "@clientconfdir@"
+ #define DEFSERVBINDIR "@serverbindir@"
++#define DEFSERVLIBEXECDIR "@libexecdir@"
+ #define DEFSERVVARDIR "@servervardir@"
+ #define DEFSERVLIBDIR "@serverlibdir@"
+ #define DEFSERVCONFDIR "@serverconfdir@"
+@@ -223,11 +225,13 @@
+ 2048, 1024, 512, 32768, 65536, 10240, 8192, 131072
+
+ #define DEFAULT_CLIENT_CONFIGFILES \
++ "@clientconfdir@/client.conf", \
+ "/etc/buclient.conf", \
+ "/etc/afbuclient.conf", \
+ "/etc/afclient.conf", \
+ "/etc/afbackup/client.conf"
+ #define DEFAULT_SERVER_CONFIGFILES \
++ "@serverconfdir@/server.conf", \
+ "/etc/buserver.conf", \
+ "/etc/afbuserver.conf", \
+ "/etc/afserver.conf", \
diff --git a/misc/afbackup/files/pkg-plist.client b/misc/afbackup/files/pkg-plist.client
new file mode 100644
index 000000000000..7d3738440a66
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.client
@@ -0,0 +1,25 @@
+sbin/afclient
+@exec ln -sf %B/%f %B/afbackup
+@unexec rm -f %B/afbackup
+sbin/full_backup
+@exec ln -sf %B/%f %B/afbackout
+@exec ln -sf %B/%f %B/afrestore
+@exec ln -sf %B/%f %B/afverify
+@exec ln -sf %B/%f %B/copy_tape
+@exec ln -sf %B/%f %B/incr_backup
+@exec ln -sf %B/%f %B/update_indexes
+@unexec rm -f %B/afbackout
+@unexec rm -f %B/afrestore
+@unexec rm -f %B/afverify
+@unexec rm -f %B/copy_tape
+@unexec rm -f %B/incr_backup
+@unexec rm -f %B/update_indexes
+sbin/afclientconfig
+@exec ln -sf %B/%f %B/clientconfig
+@unexec rm -f %B/clientconfig
+sbin/autocptapes
+libexec/afbackup/__packpats
+libexec/afbackup/__piper
+libexec/afbackup/__z
+share/afbackup/lib/aftcllib.tcl
+etc/afbackup/client.conf.sample
diff --git a/misc/afbackup/files/pkg-plist.desclient b/misc/afbackup/files/pkg-plist.desclient
new file mode 100644
index 000000000000..e935cb420010
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.desclient
@@ -0,0 +1 @@
+libexec/afbackup/__descrpt
diff --git a/misc/afbackup/files/pkg-plist.fixedorder b/misc/afbackup/files/pkg-plist.fixedorder
new file mode 100644
index 000000000000..b43cdf021776
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.fixedorder
@@ -0,0 +1,8 @@
+@dirrm libexec/afbackup
+@dirrm share/afbackup/lib
+@dirrm share/afbackup/locale/it/LC_MESSAGES
+@dirrm share/afbackup/locale/it
+@dirrm share/afbackup/locale/de/LC_MESSAGES
+@dirrm share/afbackup/locale/de
+@dirrm share/afbackup/locale
+@dirrm share/afbackup
diff --git a/misc/afbackup/files/pkg-plist.guiclient b/misc/afbackup/files/pkg-plist.guiclient
new file mode 100644
index 000000000000..d2597f331821
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.guiclient
@@ -0,0 +1,6 @@
+sbin/xafclientconfig
+@exec ln -sf %B/%f %B/xclientconfig
+@unexec rm -f %B/xclientconfig
+sbin/xafrestore
+@exec ln -sf %B/%f %B/xrestore
+@unexec rm -f %B/xrestore
diff --git a/misc/afbackup/files/pkg-plist.guiserver b/misc/afbackup/files/pkg-plist.guiserver
new file mode 100644
index 000000000000..b2cc67e76ab3
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.guiserver
@@ -0,0 +1,6 @@
+sbin/xafserverconfig
+@exec ln -sf %B/%f %B/xserverconfig
+@unexec rm -f %B/xserverconfig
+sbin/xafserverstatus
+@exec ln -sf %B/%f %B/xserverstatus
+@unexec rm -f %B/xserverstatus
diff --git a/misc/afbackup/files/pkg-plist.l10n b/misc/afbackup/files/pkg-plist.l10n
new file mode 100644
index 000000000000..30a217b4fc90
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.l10n
@@ -0,0 +1,2 @@
+share/afbackup/locale/de/LC_MESSAGES/afbackup.mo
+share/afbackup/locale/it/LC_MESSAGES/afbackup.mo
diff --git a/misc/afbackup/files/pkg-plist.rexeclinks b/misc/afbackup/files/pkg-plist.rexeclinks
new file mode 100644
index 000000000000..4cc0a0e66cd9
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.rexeclinks
@@ -0,0 +1,12 @@
+@exec ln -sf %D/sbin/afrestore %D/libexec/afbackup/afrestore
+@exec ln -sf %D/sbin/afverify %D/libexec/afbackup/afverify
+@exec ln -sf %D/sbin/copy_tape %D/libexec/afbackup/copy_tape
+@exec ln -sf %D/sbin/full_backup %D/libexec/afbackup/full_backup
+@exec ln -sf %D/sbin/incr_backup %D/libexec/afbackup/incr_backup
+@exec ln -sf %D/sbin/update_indexes %D/libexec/afbackup/update_indexes
+@unexec rm -f %D/libexec/afbackup/update_indexes
+@unexec rm -f %D/libexec/afbackup/afrestore
+@unexec rm -f %D/libexec/afbackup/afverify
+@unexec rm -f %D/libexec/afbackup/copy_tape
+@unexec rm -f %D/libexec/afbackup/full_backup
+@unexec rm -f %D/libexec/afbackup/incr_backup
diff --git a/misc/afbackup/files/pkg-plist.server b/misc/afbackup/files/pkg-plist.server
new file mode 100644
index 000000000000..f8d42936ea2e
--- /dev/null
+++ b/misc/afbackup/files/pkg-plist.server
@@ -0,0 +1,20 @@
+libexec/afbackup/afserver
+libexec/afbackup/afmserver
+libexec/afbackup/__mt
+libexec/afbackup/__inc_link
+libexec/afbackup/__numset
+libexec/afbackup/cartagehandler
+sbin/cartready
+@exec ln -sf %B/%f %B/changerready
+@unexec rm -f %B/changerready
+sbin/label_tape
+@exec ln -sf %B/%f %B/cart_ctl
+@unexec rm -f %B/cart_ctl
+@exec ln -sf %B/%f %B/cartis
+@unexec rm -f %B/cartis
+sbin/afserverconfig
+@exec ln -sf %B/%f %B/serverconfig
+@unexec rm -f %B/serverconfig
+share/afbackup/lib/aftcllib.tcl
+etc/afbackup/server.conf.sample
+etc/afbackup/changer.conf.sample
diff --git a/misc/afbackup/pkg-comment b/misc/afbackup/pkg-comment
new file mode 100644
index 000000000000..7c524fb5af58
--- /dev/null
+++ b/misc/afbackup/pkg-comment
@@ -0,0 +1 @@
+AF's backup system
diff --git a/misc/afbackup/pkg-descr b/misc/afbackup/pkg-descr
new file mode 100644
index 000000000000..73f6f86feff9
--- /dev/null
+++ b/misc/afbackup/pkg-descr
@@ -0,0 +1,8 @@
+This is a client-server backup system offering several
+workstations a centralized backup to special backup
+servers.
+
+WWW: http://www.afbackup.org/
+
+- Vadim Belman
+voland@catpipe.net
diff --git a/misc/afbackup/pkg-install b/misc/afbackup/pkg-install
new file mode 100644
index 000000000000..1227ea4e0300
--- /dev/null
+++ b/misc/afbackup/pkg-install
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+#set -vx
+
+PKG_BATCH=${BATCH:=NO}
+
+PKG_PREFIX=${PKG_PREFIX:=/usr/local}
+
+#
+# create 'afbackup' user before installing
+#
+
+create() {
+ if [ ! -x /usr/sbin/pw ]; then
+ dialog --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
+ exit 69
+ fi
+
+ if [ -x /sbin/nologin ]; then
+ shell=/sbin/nologin
+ else
+ shell=/nonexistent
+ fi
+ if ! pw show user afbackup -q >/dev/null; then
+ if ! dialog --clear --yesno "There is no user afbackup on your system.\n\nDo you want it to be created?" 7 60; then
+ dialog --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
+ exit 69
+ fi
+ uid=100
+ while pw show user -u ${uid} -q >/dev/null; do
+ uid=`expr ${uid} + 1`
+ done
+ if ! pw add user afbackup -u ${uid} -g operator -d "/nonexistent" \
+ -c "AFBackup System Owner" -s "${shell}" \
+ ; then
+ e=$?
+ dialog --msgbox "Failed to add user \`afbackup'. Please add it manually." 6 60
+ exit ${e}
+ fi
+ echo "==> Added user \`afbackup' (id ${uid})"
+ else
+ if ! pw mod user afbackup -g operator -d "/nonexistent" \
+ -c "AFBackup System Owner" -s "${shell}" \
+ ; then
+ e=$?
+ dialog --msgbox "Failed to update user \`afbackup'." 6 60
+ exit ${e}
+ fi
+ echo "==> Updated user \`afbackup'."
+ fi
+}
+
+install_services() {
+ oldmask=`umask`
+ umask 077
+ egrep -v "^af.?backup" /etc/services >/tmp/services
+ echo "afbackup 2988/tcp" >>/tmp/services
+ echo "afmbackup 2989/tcp" >>/tmp/services
+ # XXX what if the original file had another mode?
+ install -m 0644 -o root -g wheel /tmp/services /etc/services
+ umask $oldmask
+}
+
+install_inetd_services() {
+ oldmask=`umask`
+ umask 077
+ egrep -v "^#?af.?backup" /etc/inetd.conf >/tmp/inetd.conf
+ echo "afbackup stream tcp nowait afbackup ${PKG_PREFIX}/libexec/afbackup/afserver ${PKG_PREFIX}/libexec/afbackup/afserver ${PKG_PREFIX}/etc/afbackup/server.conf" >>/tmp/inetd.conf
+ echo "afmbackup stream tcp nowait afbackup ${PKG_PREFIX}/libexec/afbackup/afmserver ${PKG_PREFIX}/libexec/afbackup/afmserver ${PKG_PREFIX}/etc/afbackup/server.conf" >>/tmp/inetd.conf
+ # XXX what if the original file had another mode?
+ install -m 0644 -o root -g wheel /tmp/inetd.conf /etc/inetd.conf
+ umask $oldmask
+ if [ -r /var/run/inetd.pid ]; then
+ kill -1 `cat /var/run/inetd.pid`
+ fi
+}
+
+check_service() {
+ if [ -z "`egrep '^afm?backup' /etc/services`" ] ; then
+ if dialog --clear --yesno "You don't have neither 'afbackup' nor 'afmbackup' entries\nin /etc/services.\n\nDo you want them to be created?\n\nNote that /etc/services will be forced to have root:wheel\nownership and mode 0644." 11 61; then
+ install_services
+ else
+ dialog --msgbox "Create the entries manually then. You will need them." 5 60
+ return
+ fi
+ fi
+ if [ -z "`egrep '^#?af.?backup' /etc/inetd.conf`" ] ; then
+ if dialog --clear --yesno "You don't have entries for afbackup/afmbackup server in\nyour /etc/inetd.conf file.\n\nDo you want them to be installed?" 8 60; then
+ install_inetd_services
+ else
+ dialog --msgbox "You shell create the entries manually then." 5 60
+ fi
+ fi
+}
+
+case $2 in
+ PRE-INSTALL)
+ create
+ ;;
+
+ POST-INSTALL)
+ case $1 in
+ *-client*)
+ ;;
+ *)
+ check_service
+ ;;
+ esac
+ ;;
+esac
diff --git a/misc/afbackup/pkg-message b/misc/afbackup/pkg-message
new file mode 100644
index 000000000000..bb72b3bd63cf
--- /dev/null
+++ b/misc/afbackup/pkg-message
@@ -0,0 +1,11 @@
+--------------------------------------------------------------
+
+ *** IMPORTANT! ***
+
+An autogenerated DES key has been installed for you in
+${PREFIX}/etc/afbackup/cryptkey. Remember to change it!
+
+Also, ${PREFIX}/share/doc/afbackup contains the documentation
+you ought to read before starting using the package.
+
+--------------------------------------------------------------