SPOOL_DIR=@MAKE_SPOOL_DIR@
ETC_DIR=@MAKE_ETC_DIR@
DATA_DIR=@MAKE_DATA_DIR@
+STATICDATA_DIR=@MAKE_STATICDATA_DIR@
DOC_DIR=@MAKE_DOC_DIR@
+UTILBIN_DIR=@MAKE_UTILBIN_DIR@
all: $(TARGETS)
.SUFFIXES: .o .d .c
EXEEXT=@EXEEXT@
CLIENT_TARGETS=citadel$(EXEEXT) whobbs$(EXEEXT) stress$(EXEEXT)
-SERVER_TARGETS=citserver setup $(CHKPWD)
+SERVER_TARGETS=citserver $(CHKPWD)
SERV_MODULES=serv_chat.o \
serv_upgrade.o \
serv_smtp.o \
UTIL_TARGETS=aidepost msgform \
citmail userlist sendcommand \
- base64
+
+UTILBIN_TARGETS= base64 setup
prefix=@prefix@
srcdir=@srcdir@
server: $(SERVER_TARGETS) $(SERV_MODULES)
-utils: $(UTIL_TARGETS)
+utils: $(UTIL_TARGETS) $(UTILBIN_TARGETS)
citadel$(EXEEXT): citadel.o citadel_ipc.o client_chat.o client_passwords.o \
commands.o html.o ipc_c_tcp.o md5.o messages.o rooms.o routines.o \
$(INSTALL_DATA) $(srcdir)/citadel.rc $(DESTDIR)$(ETC_DIR)/citadel.rc
$(INSTALL_DATA) $(srcdir)/network/mail.aliases $(DESTDIR)$(ETC_DIR)/mail.aliases$
- $(srcdir)/mkinstalldirs $(DESTDIR)$(ETC_DIR)/help
- $(srcdir)/mkinstalldirs $(DESTDIR)$(ETC_DIR)/messages
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(STATICDATA_DIR)/help
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(STATICDATA_DIR)/messages
@for i in \
`find $(srcdir)/help $(srcdir)/messages -type f | grep -v .svn`; do \
- echo $(INSTALL_DATA) $$i $(DESTDIR)$(ETC_DIR)/$$i; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(ETC_DIR)/$$i; \
+ echo $(INSTALL_DATA) $$i $(DESTDIR)$(STATICDATA_DIR)/$$i; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(STATICDATA_DIR)/$$i; \
done
$(srcdir)/mkinstalldirs $(DESTDIR)$(SPOOL_DIR)/network/spoolin
$(srcdir)/mkinstalldirs $(DESTDIR)$(SPOOL_DIR)/network/spoolout
@for i in bio bitbucket files images info userpics; do \
$(srcdir)/mkinstalldirs $(DESTDIR)$(prefix)/$$i; \
done
- @for i in $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS); do \
+ @for i in $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) $(UTILBIN_TARGETS); do \
if test -f $$i; then \
echo $(INSTALL) $$i $(DESTDIR)$(prefix)/$$i; \
$(INSTALL) $$i $(DESTDIR)$(prefix)/$$i; \
install-exec-new: all
$(srcdir)/mkinstalldirs $(DESTDIR)/usr/sbin;
$(srcdir)/mkinstalldirs $(DESTDIR)/usr/bin;
- $(srcdir)/mkinstalldirs $(DESTDIR)$(DOC_DIR);
+ $(srcdir)/mkinstalldirs $(DESTDIR)/usr/bin;
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(UTILBIN_DIR);
@for i in $(SERVER_TARGETS) $(UTIL_TARGETS); do \
if test -f $$i; then \
echo $(INSTALL) $$i $(DESTDIR)/usr/sbin/$$i; \
$(INSTALL) $$i $(DESTDIR)/usr/sbin/$$i; \
fi \
done
+ @for i in $(UTILBIN_TARGETS); do \
+ if test -f $$i; then \
+ echo $(INSTALL) $$i $(DESTDIR)/$(UTILBIN_DIR)/$$i; \
+ $(INSTALL) $$i $(DESTDIR)/$(UTILBIN_DIR)/$$i; \
+ fi \
+ done
$(INSTALL) citmail $(DESTDIR)/usr/sbin/sendmail;
@for i in $(CLIENT_TARGETS); do \
#!/bin/bash
# find out the package version from conf
-if test -x Makefile; then
- make clean
+if test -f Makefile; then
+ make distclean
fi
./bootstrap
char ctdl_netout_dir[PATH_MAX]="network/spoolout";
char ctdl_netin_dir[PATH_MAX]="network/spoolin";
char ctdl_netcfg_dir[PATH_MAX]="netconfigs";
-char ctdl_sbin_dir[PATH_MAX];
-char ctdl_bin_dir[PATH_MAX];
+char ctdl_utilbin_dir[PATH_MAX]="";
+char ctdl_sbin_dir[PATH_MAX]="";
+char ctdl_bin_dir[PATH_MAX]="";
/* some of our files, that are needed in several places */
char file_citadel_control[PATH_MAX]="";
char file_crpt_file_csr[PATH_MAX]="";
char file_crpt_file_cer[PATH_MAX]="";
char file_chkpwd[PATH_MAX]="";
+char file_base64[PATH_MAX]="";
int home_specified = 0;
#endif
COMPUTE_DIRECTORY(ctdl_netcfg_dir);
COMPUTE_DIRECTORY(ctdl_etc_dir);
- COMPUTE_DIRECTORY(ctdl_hlp_dir);
- COMPUTE_DIRECTORY(ctdl_message_dir);
+
+#ifndef HAVE_UTILBIN_DIR
+ basedir=ctdldir;
+#else
+ basedir=UTILBIN_DIR;
+#endif
+ COMPUTE_DIRECTORY(ctdl_utilbin_dir);
#ifndef HAVE_RUN_DIR
basedir=ctdldir;
#endif
COMPUTE_DIRECTORY(ctdl_run_dir);
+#ifndef HAVE_STATICDATA_DIR
+ basedir=ctdldir;
+#else
+ basedir=STATICDATA_DIR;
+#endif
+ COMPUTE_DIRECTORY(ctdl_hlp_dir);
+ COMPUTE_DIRECTORY(ctdl_message_dir);
+
#ifndef HAVE_DATA_DIR
basedir=ctdldir;
#else
sizeof file_chkpwd,
"%schkpwd",
ctdl_sbin_dir);
+
+ snprintf(file_base64,
+ sizeof file_chkpwd,
+ "%sbase64",
+ ctdl_utilbin_dir);
+
+
/*
* DIRTY HACK FOLLOWS! due to configs in the network dir in the
* legacy installations, we need to calculate ifdeffed here.
extern char ctdl_bbsbase_dir[PATH_MAX];
extern char ctdl_sbin_dir[PATH_MAX];
extern char ctdl_bin_dir[PATH_MAX];
+extern char ctdl_utilbin_dir[PATH_MAX];
extern char ctdl_key_dir[PATH_MAX];
extern char file_crpt_file_csr[PATH_MAX];
extern char file_crpt_file_cer[PATH_MAX];
extern char file_chkpwd[PATH_MAX];
+extern char file_base64[PATH_MAX];
extern void calc_dirs_n_files(int relh, int home, const char *relhome,const char *ctdldir);
]
)
+dnl Checks for the Datadir
+AC_ARG_WITH(staticdatadir,
+ [ --with-staticdatadir directory to store citadels system messages under],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_STATICDATA_DIR)
+ AC_DEFINE_UNQUOTED(STATICDATA_DIR, "$withval")
+ MAKE_STATICDATA_DIR=$withval
+ AC_SUBST(MAKE_STATICDATA_DIR)
+ fi
+ ]
+)
+
dnl Checks for the SSLdir
dnl this is a bit different than the rest,
]
)
+dnl Checks for where to put our utilities
+AC_ARG_WITH(utility-bindir,
+ [ --with-utility-bindir directory where to find helper binaries],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_UTILBIN_DIR)
+ AC_DEFINE_UNQUOTED(UTILBIN_DIR, "$withval")
+ MAKE_UTILBIN_DIR=$withval
+ AC_SUBST(MAKE_UTILBIN_DIR)
+ fi
+ ]
+)
+
dnl Checks for the run-dir for the sockets
AC_ARG_WITH(rundir,
AC_DEFINE(HAVE_UT_TYPE)
fi
-AC_CACHE_CHECK([for call semantics from getpwuid_r], ac_cv_call_getpwuid_r,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <pwd.h>], [
- struct passwd pw, *pwp;
- char pwbuf[64];
- uid_t uid;
-
- getpwuid_r(uid, &pw, pwbuf, sizeof(pwbuf), &pwp);
+AC_CACHE_CHECK(
+ [for call semantics from getpwuid_r],
+ ac_cv_call_getpwuid_r,
+ [AC_TRY_COMPILE([#include <sys/types.h>
+#include <pwd.h>],
+ [
+ struct passwd pw, *pwp;
+ char pwbuf[64];
+ uid_t uid;
+
+ getpwuid_r(uid, &pw, pwbuf, sizeof(pwbuf), &pwp);
+ ],
+ ac_cv_call_getpwuid_r=yes,
+ ac_cv_call_getpwuid_r=no)
+ ])
-],
-ac_cv_call_getpwuid_r=yes, ac_cv_call_getpwuid_r=no)])
if test $ac_cv_call_getpwuid_r = no; then
AC_DEFINE(SOLARIS_GETPWUID)
AC_DEFINE(F_UID_T, "%ld")
AC_DEFINE(F_XPID_T, "%x")
fi
+dnl AC_CHECK_FUNCS(res_query)
+AC_CACHE_CHECK([for the resolver calls],
+ ac_cv_resquery_ok,
+[AC_TRY_COMPILE([#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>],
+ [
+ char *domain="www.google.com";
+ u_char *answer;
+ int len;
+ len = res_query( domain, C_IN, T_A, answer, PACKETSZ );
+ ],
+ ac_cv_resquery_ok=yes,
+ ac_cv_resquery_ok=no)
+])
+echo "resquery: $ac_cv_resquery_ok"
+
+dnl if test "$ac_cv_resquery_ok" = "no" ; then
+dnl AC_DEFINE(RES_QUERY_GONE, "#error resquery not here. can't continue.")
+dnl fi
+
AC_CACHE_CHECK([for ut_host in struct utmp], ac_cv_struct_ut_host,
-etc/citadel/help
-etc/citadel/messages
+usr/share/citadel-server/help
+usr/share/citadel-server/messages
var/lib/citadel/bio
var/lib/citadel/bitbucket
var/lib/citadel/data
etc/citadel/mail.aliases
etc/citadel/public_clients
-etc/citadel/help
-etc/citadel/messages
+usr/share/citadel-server/help
+usr/share/citadel-server/messages
usr/lib/citadel-server/setup
+usr/lib/citadel-server/base64
usr/sbin/aidepost
-usr/sbin/base64
usr/sbin/chkpwd
usr/sbin/citmail
usr/sbin/citserver
CFLAGS="$(CFLAGS)" ./configure \
--with-prefix=/var/lib/citadel \
--with-datadir=/var/lib/citadel \
+ --with-staticdatadir=/usr/share/citadel-server \
--with-spooldir=/var/spool/citadel \
--with-sysconfdir=/etc/citadel \
--with-rundir=/var/run/citadel \
--with-docdir=/usr/share/doc/citadel-doc/ \
--with-ssldir=/etc/ssl/citadel/ \
+ --with-utility-bindir=/usr/lib/citadel-server/ \
--with-pam \
--with-db \
--with-zlib \
$(MAKE) DESTDIR=$(DEB_DESTDIR) install-exec-new install-data-new
- install -D -p -m0755 $(DEB_DESTDIR)/usr/sbin/setup \
- $(DEB_DESTDIR)/usr/lib/citadel-server/setup
-
install -D -p -m0755 database_cleanup.sh \
$(DEB_DESTDIR)/usr/share/doc/citadel-server/database_cleanup.sh
/* write it in base64 */
CtdlMakeTempFileName(tempfile, sizeof tempfile);
- snprintf(buf, sizeof buf, "%sbase64 -e >%s", ctdl_sbin_dir, tempfile);
+ snprintf(buf, sizeof buf, "%s -e >%s", file_base64, tempfile);
fp = popen(buf, "w");
fwrite(smr.ser, smr.len, 1, fp);
pclose(fp);
/* decode base64 message text */
CtdlMakeTempFileName(tempfile, sizeof tempfile);
- snprintf(buf, sizeof buf, "%sbase64 -d >%s", ctdl_sbin_dir, tempfile);
+ snprintf(buf, sizeof buf, "%s -d >%s", file_base64, tempfile);
fp = popen(buf, "w");
while (client_getln(buf, sizeof buf), strcasecmp(buf, END_OF_MESSAGE)) {
fprintf(fp, "%s\n", buf);
lprintf(CTDL_ALERT, "Can't create thread: %s\n", strerror(ret));
}
+ lprintf(CTDL_NOTICE, "Spawned indexer (%ld) and checkpoint (%ld) thread. \n",
+ indexer_thread_tid, checkpoint_thread_tid);
pthread_attr_destroy(&attr);
}