cScm Configuration Daemon

cScm – is a tool to convert SCM configuration files into binary format and store its in shared memory for reading by cSvn-ui and cGit-ui CGI scripts

12 Commits   0 Branches   1 Tag
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl  Process this file with autoconf to produce
     5         kx dnl  a configure script.
     5         kx dnl ============================================================
     5         kx 
     5         kx AC_PREREQ(2.71)dnl        dnl Minimum Autoconf version required.
     5         kx 
     5         kx 
     5         kx AC_INIT([cscm], [0.1.4],
     5         kx   [support@radix.pro], [cscm], [https://radix.pro])
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl m4's diversions:
     5         kx dnl ---------------
     5         kx dnl
     5         kx dnl see: /use/share/autoconf/autoconf/general.m4
     5         kx dnl ============================================================
     5         kx m4_divert_push([M4SH-INIT])
     5         kx CSVN_NAME=svn
     5         kx CSVN_CONFIG_FILE=csvn-ui.rc
     5         kx CSVN_PROGRAM=csvn
     5         kx CSVN_PROGRAM_NAME=cSvn
     5         kx CGIT_NAME=git
     5         kx CGIT_CONFIG_FILE=cgit-ui.rc
     5         kx CGIT_PROGRAM=cgit
     5         kx CGIT_PROGRAM_NAME=cGit
     5         kx PACKAGE_DAEMON=cscmd
     5         kx PACKAGE_LICENSE=Radix-1.0
     5         kx CSCM_CONTROL_DIR=/etc/rc.d
     5         kx CSCM_LOGROTATE_DIR=/etc/logrotate.d
     5         kx CSCM_HOME_PATH=/var/lib
     5         kx CSCM_LOG_DIR=/var/log
     5         kx CSCM_PID_DIR=/var/run
     5         kx m4_divert_pop([M4SH-INIT])
     5         kx 
     5         kx AC_CSCM_HEADLINE([cscm], [cScm], [Copyright (c) 2019-2022 Andrey V.Kosteltsev])
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: Init Automake environment                        $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_MSG_CFG_PART(Init Automake environment)
     5         kx 
     5         kx AC_CANONICAL_TARGET
     5         kx 
     5         kx AM_INIT_AUTOMAKE([subdir-objects foreign no-dist-gzip dist-xz])
     5         kx 
     5         kx AC_CONFIG_HEADERS([config.h])
     5         kx 
     5         kx AC_PREFIX_DEFAULT(/usr/local)
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: Test for Build Tools                             $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_MSG_CFG_PART(Test for build tools)
     5         kx AC_CHECK_TOOL([GCC], [gcc], [:])
     5         kx AC_PATH_PROG([BISON], [bison], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx test "$BISON" = "no" && AC_MSG_ERROR([Unable to find required program 'bison'])
     5         kx 
     5         kx 
     5         kx AC_MSG_CFG_PART(Test for Header files)
     5         kx dnl
     5         kx dnl  Check for system header files.
     5         kx dnl  =============================
     5         kx dnl  /* GetText частично проверил. Но мы делаем для себя. */
     5         kx AC_CHECK_HEADERS( locale.h )
     5         kx AC_CHECK_HEADERS( sys/types.h sys/stat.h stdlib.h stddef.h )
     5         kx AC_CHECK_HEADERS( memory.h string.h strings.h )
     5         kx AC_CHECK_HEADERS( inntypes.h stdint.h unistd.h )
     5         kx AC_CHECK_HEADERS( fcntl.h errno.h )
     5         kx AC_CHECK_HEADERS( sys/file.h )
     5         kx AC_CHECK_HEADERS( sys/uio.h )
     5         kx AC_CHECK_HEADERS( stdarg.h )
     5         kx AC_CHECK_HEADERS( sys/time.h )
     5         kx AC_CHECK_HEADERS( limits.h )
     5         kx AC_CHECK_HEADERS( endian.h )
     5         kx AC_CHECK_HEADERS( pcre2.h )
     5         kx AC_CHECK_HEADERS( wchar.h )
     5         kx AC_CHECK_HEADERS( wctype.h )
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: Test for Libraries                               $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_MSG_CFG_PART(Test for libraries)
     5         kx AC_CHECK_LIB([rt],[aio_suspend],[],[AC_MSG_ERROR([Unable to find required librt])])
     5         kx AC_CHECK_LIB([pcre2-32],[pcre2_compile_32],[],[AC_MSG_ERROR([Unable to find required libpcre2-32])])
     5         kx AC_CHECK_LIB([m],[round],[],[AC_MSG_ERROR([Unable to find required libm])])
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: cScm Features                                    $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_ARG_WITH([controldir],
     5         kx   [AS_HELP_STRING([--with-controldir=DIR], [cScm Daemon CONTROL directory @<:@default=/etc/rc.d@:>@],[26],[84])],
     5         kx   [controldir=$withval],
     5         kx   [controldir="/etc/rc.d"])
     5         kx AC_SUBST([controldir], [$controldir])
     5         kx AC_SUBST([CSCM_CONTROL_DIR], [$controldir])
     5         kx AC_DEFINE_UNQUOTED([CSCM_CONTROL_DIR], ["$CSCM_CONTROL_DIR"], [Define the cScm Daemon CONTROL directory])
     5         kx 
     5         kx AC_ARG_WITH([logrotatedir],
     5         kx   [AS_HELP_STRING([--with-logrotatedir=DIR], [cScm Daemon LOGROTATE directory @<:@default=/etc/logrotate.d@:>@],[26],[87])],
     5         kx   [logrotatedir=$withval],
     5         kx   [logrotatedir="/etc/logrotate.d"])
     5         kx AC_SUBST([logrotatedir], [$logrotatedir])
     5         kx AC_SUBST([CSCM_LOGROTATE_DIR], [$logrotatedir])
     5         kx AC_DEFINE_UNQUOTED([CSCM_LOGROTATE_DIR], ["$CSCM_LOGROTATE_DIR"], [Define the cScm Daemon LOGROTATE directory])
     5         kx 
     5         kx AC_ARG_WITH([homepath],
     5         kx   [AS_HELP_STRING([--with-homepath=DIR], [cSvn Daemon path to HOME directories @<:@default=/var/lib@:>@],[26],[84])],
     5         kx   [homepath=$withval],
     5         kx   [homepath="/var/lib"])
     5         kx AC_SUBST([homepath], [$homepath])
     5         kx AC_SUBST([CSCM_HOME_PATH], [$homepath])
     5         kx AC_DEFINE_UNQUOTED([CSCM_HOME_PATH], ["$CSCM_HOME_PATH"], [Define the cScm Daemon path to HOME directories])
     5         kx AC_SUBST([csvndhomedir], [$homepath/$CSVN_PROGRAM])
     5         kx AC_SUBST([CSVN_HOME_DIR], [$csvndhomedir])
     5         kx AC_DEFINE_UNQUOTED([CSVN_HOME_DIR], ["$CSVN_HOME_DIR"], [Define the cSvn Daemon HOME directory])
     5         kx AC_SUBST([cgitdhomedir], [$homepath/$CGIT_PROGRAM])
     5         kx AC_SUBST([CGIT_HOME_DIR], [$cgitdhomedir])
     5         kx AC_DEFINE_UNQUOTED([CGIT_HOME_DIR], ["$CGIT_HOME_DIR"], [Define the cGit Daemon HOME directory])
     5         kx 
     5         kx AC_ARG_WITH([logdir],
     5         kx   [AS_HELP_STRING([--with-logdir=DIR], [cSvn Daemon LOG directory @<:@default=/var/log@:>@],[26],[84])],
     5         kx   [logdir=$withval],
     5         kx   [logdir="/var/log"])
     5         kx AC_SUBST([logdir], [$logdir])
     5         kx AC_SUBST([CSCM_LOG_DIR], [$logdir])
     5         kx AC_DEFINE_UNQUOTED([CSCM_LOG_DIR], ["$CSCM_LOG_DIR"], [Define the cScm Daemon LOG directory])
     5         kx 
     5         kx AC_ARG_WITH([piddir],
     5         kx   [AS_HELP_STRING([--with-piddir=DIR], [cScm Daemon PID directory @<:@default=/var/run@:>@],[26],[84])],
     5         kx   [piddir=$withval],
     5         kx   [piddir="/var/run"])
     5         kx AC_SUBST([piddir], [$piddir])
     5         kx AC_SUBST([CSCM_PID_DIR], [$piddir])
     5         kx AC_DEFINE_UNQUOTED([CSCM_PID_DIR], ["$CSCM_PID_DIR"], [Define the cScm Daemon PID directory])
     5         kx 
     5         kx AC_SUBST([CSVN_NAME], [$CSVN_NAME])
     5         kx AC_SUBST([CSVN_CONFIG], [$sysconfdir/$CSVN_CONFIG_FILE])
     5         kx AC_DEFINE_UNQUOTED([CSVN_CONFIG], ["$CSVN_CONFIG"], [Define the cSvn Default Configuration File])
     5         kx AC_SUBST([CSVN_PROGRAM], [$CSVN_PROGRAM])
     5         kx AC_DEFINE_UNQUOTED([CSVN_PROGRAM], ["$CSVN_PROGRAM"], [Define the cSvn Default Program Name])
     5         kx AC_SUBST([CSVN_PROGRAM_NAME], [$CSVN_PROGRAM_NAME])
     5         kx AC_SUBST([CGIT_NAME], [$CGIT_NAME])
     5         kx AC_SUBST([CGIT_CONFIG], [$sysconfdir/$CGIT_CONFIG_FILE])
     5         kx AC_DEFINE_UNQUOTED([CGIT_CONFIG], ["$CGIT_CONFIG"], [Define the cGit Default Configuration File])
     5         kx AC_SUBST([CGIT_PROGRAM], [$CGIT_PROGRAM])
     5         kx AC_DEFINE_UNQUOTED([CGIT_PROGRAM], ["$CGIT_PROGRAM"], [Define the cGit Default Program Name])
     5         kx AC_SUBST([CGIT_PROGRAM_NAME], [$CGIT_PROGRAM_NAME])
     5         kx 
     5         kx 
     5         kx AC_SUBST(PROGRAM_NAME,[${PACKAGE_NAME}])
     5         kx AC_SUBST(PROGRAM_DAEMON,[${PACKAGE_DAEMON}])
     5         kx AC_SUBST(PROGRAM_VERSION,[${PACKAGE_VERSION}])
     5         kx AC_SUBST(PROGRAM_LICENSE,[${PACKAGE_LICENSE}])
     5         kx 
     5         kx AC_DEFINE_UNQUOTED([PROGRAM_NAME], ["$PROGRAM_NAME"], [Define the program name])
     5         kx AC_DEFINE_UNQUOTED([PROGRAM_DAEMON], ["$PROGRAM_DAEMON"], [Define the daemon name])
     5         kx AC_DEFINE_UNQUOTED([PROGRAM_VERSION], ["$PROGRAM_VERSION"], [Define the version of all programs in this package])
     5         kx AC_DEFINE_UNQUOTED([PROGRAM_LICENSE], ["$PROGRAM_LICENSE"], [Define the License of all programs in this package])
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl Environment Variables:
     5         kx dnl ---------------------
     5         kx dnl  For 'Some influential environment variables:' help section
     5         kx dnl ============================================================
     5         kx AC_ARG_VAR([STRIP], [strip command])
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: Test for Auxiliary (my be version sensitive)     $$
     5         kx dnl $$       programs                                         $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_MSG_CFG_PART(Test for aux programs)
     5         kx AC_PATH_PROG_LN_S
     5         kx AC_PATH_PROG([CAT],       [cat],       [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([CHMOD],     [chmod],     [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([CP],        [cp],        [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([FIND],      [find],      [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([GZIP],      [gzip],      [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([MV],        [mv],        [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([RM],        [rm],        [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([SED],       [sed],       [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([TAR],       [tar],       [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx AC_PATH_PROG([XZ],        [xz],        [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
     5         kx 
     5         kx 
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl $$                                                        $$
     5         kx dnl $$ PART: OUTPUT Substitution                              $$
     5         kx dnl $$                                                        $$
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx dnl ============================================================
     5         kx AC_MSG_CFG_PART(OUTPUT)
     5         kx 
     5         kx AC_CONFIG_FILES([
     5         kx cscmd/Makefile
     5         kx cscmd/cscmd.8
     5         kx Makefile
     5         kx ])
     5         kx AC_OUTPUT