/[ports]/head/sysutils/bacula-server/Makefile
ViewVC logotype

Diff of /head/sysutils/bacula-server/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 359586 by miwi, Fri Jun 27 17:21:06 2014 UTC revision 360216 by bapt, Wed Jul 2 16:14:10 2014 UTC
# Line 3  Line 3 
3    
4  PORTNAME=       bacula  PORTNAME=       bacula
5  DISTVERSION=    5.2.12  DISTVERSION=    5.2.12
6  PORTREVISION?=  4  PORTREVISION?=  5
7  CATEGORIES?=    sysutils  CATEGORIES?=    sysutils
8  MASTER_SITES=   SF/bacula/bacula/${PORTVERSION}  MASTER_SITES=   SF/bacula/bacula/${PORTVERSION}
9  PKGNAMEPREFIX?= #  PKGNAMEPREFIX?= #
# Line 12  PKGNAMESUFFIX?=        -server Line 12  PKGNAMESUFFIX?=        -server
12  MAINTAINER=     dan@langille.org  MAINTAINER=     dan@langille.org
13  COMMENT?=       Network backup solution (server)  COMMENT?=       Network backup solution (server)
14    
15  LIB_DEPENDS+=   lzo2:${PORTSDIR}/archivers/lzo2  USES+=          libtool
16    
17  UNIQUENAME?=    ${PORTNAME}${PKGNAMESUFFIX}  LIB_DEPENDS+=   liblzo2.so:${PORTSDIR}/archivers/lzo2
18    
19  USERS=          bacula  USERS=          bacula
20  GROUPS=         ${USERS}  GROUPS=         ${USERS}
# Line 31  OPTIONS_DEFINE?=       SQLITE3 MYSQL PGSQL MTX Line 31  OPTIONS_DEFINE?=       SQLITE3 MYSQL PGSQL MTX
31  OPTIONS_DEFAULT?=       NLS OPENSSL PGSQL  OPTIONS_DEFAULT?=       NLS OPENSSL PGSQL
32  MTX_DESC=               Install mtx for control of autochanger devices  MTX_DESC=               Install mtx for control of autochanger devices
33    
34  NO_STAGE=       yes  OPENSSL_USE=    OPENSSL=yes
35  .include <bsd.port.options.mk>  OPENSSL_CONFIGURE_ON=   --with-openssl=${OPENSSLBASE}
36    OPENSSL_CONFIGURE_OFF=  --with-openssl="no"
37    
38  .if ${PKGNAMESUFFIX} == "-client" || ${PKGNAMESUFFIX} == "-server"  #Till end of the file  .if ${PKGNAMESUFFIX} == "-client" || ${PKGNAMESUFFIX} == "-server"  #Till end of the file
39    
40  .if defined(WITH_PYTHON)  PYTHON_USE=             PYTHON=yes
41  USE_PYTHON=             yes  PYTHON_CONFIGURE_ON=    --with-python=yes
 CONFIGURE_ARGS+=        --with-python=yes  
 .endif  
42    
43  .if !defined(WITH_CLIENT_ONLY)  .if !defined(WITH_CLIENT_ONLY)
44  LIB_DEPENDS+=   bac:${PORTSDIR}/sysutils/bacula-client  LIB_DEPENDS+=   libbac.so:${PORTSDIR}/sysutils/bacula-client
45  USE_RC_SUBR?=   bacula-dir bacula-sd  USE_RC_SUBR?=   bacula-dir bacula-sd
46  .endif  .endif
47    
# Line 96  SUB_LIST=      BACULA_USER=${BACULA_USER} \ Line 95  SUB_LIST=      BACULA_USER=${BACULA_USER} \
95                  BACULA_GID=${BACULA_GID} \                  BACULA_GID=${BACULA_GID} \
96                  BACULA_DIR=${BACULA_DIR}                  BACULA_DIR=${BACULA_DIR}
97    
98  .if ${PORT_OPTIONS:MNLS}  NLS_USES=               gettext
99  USES+=                  gettext  NLS_CONFIGURE_ENABLE=   nls
 CONFIGURE_ARGS+=        --enable-nls  
 .else  
 CONFIGURE_ARGS+=        --disable-nls  
 .endif  
100    
101  # overridden if client install  # overridden if client install
102  PKGDEINSTALL=   ${FILESDIR}/pkg-deinstall.server  PKGDEINSTALL=   ${FILESDIR}/pkg-deinstall.server
# Line 118  PKGINSTALL=    ${FILESDIR}/pkg-install.clie Line 113  PKGINSTALL=    ${FILESDIR}/pkg-install.clie
113  # Server only Options  # Server only Options
114  CONFFILES=              sd dir  CONFFILES=              sd dir
115  # Server default database  # Server default database
116    
117    MYSQL_CONFIGURE_ON=     --with-mysql=yes
118    MYSQL_USE=      MYSQL=yes
119    SQLITE3_CONFIGURE_ON=   --with=sqlite3=yes
120    SQLITE3_LIB_DEPENDS=    libsqlite3.so:${PORTSDIR}/databases/sqlite3
121    PGSQL_CONFIGURE_ON=     --with-postgresql=yes
122    PGSQL_USES=     pgsql
123    
124    MTX_RUN_DEPENDS=        ${LOCALBASE}/sbin/mtx:${PORTSDIR}/misc/mtx
125    
126    .include <bsd.port.options.mk>
127    
128  .if ${PORT_OPTIONS:MMYSQL}  .if ${PORT_OPTIONS:MMYSQL}
 CONFIGURE_ARGS+=        --with-mysql=yes  
 USE_MYSQL=              yes  
129  DBTYPE=                 mysql  DBTYPE=                 mysql
130  SUB_LIST+=              REQ_MYSQL=mysql REQ_PGSQL=""  SUB_LIST+=              REQ_MYSQL=mysql REQ_PGSQL=""
131  .elif ${PORT_OPTIONS:MSQLITE3}  .elif ${PORT_OPTIONS:MSQLITE3}
 CONFIGURE_ARGS+=        --with-sqlite3=yes  
 LIB_DEPENDS+=           sqlite3:${PORTSDIR}/databases/sqlite3  
132  DBTYPE=                 sqlite3  DBTYPE=                 sqlite3
133  .else  .else
 USE_PGSQL=              yes  
 CONFIGURE_ARGS+=        --with-postgresql=yes  
134  DBTYPE=                 postgresql  DBTYPE=                 postgresql
135  SUB_LIST+=              REQ_MYSQL="" REQ_PGSQL=postgresql  SUB_LIST+=              REQ_MYSQL="" REQ_PGSQL=postgresql
136  .endif  .endif
137  PLIST_SUB+=             DBTYPE=${DBTYPE}  PLIST_SUB+=             DBTYPE=${DBTYPE}
 # Install mtx  
 .if ${PORT_OPTIONS:MMTX}  
 RUN_DEPENDS+=           ${LOCALBASE}/sbin/mtx:${PORTSDIR}/misc/mtx  
 .endif  
 .endif  
138    
 .if ${PORT_OPTIONS:MOPENSSL}  
 .include "${PORTSDIR}/Mk/bsd.openssl.mk"  
 CONFIGURE_ARGS+=        --with-openssl=${OPENSSLBASE}  
 .else  
 CONFIGURE_ARGS+=        --with-openssl="no"  
139  .endif  .endif
140    
141  .if defined(WITH_CLIENT_ONLY)  .if defined(WITH_CLIENT_ONLY)
142  MAN8+=  bacula-fd.8 bconsole.8  MP8+=   bacula-fd.8 bconsole.8
143  .else  .else
144  MAN8+=  bacula.8 bacula-dir.8 bacula-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 \  MP8+=   bacula.8 bacula-dir.8 bacula-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 \
145          btape.8 btraceback.8 dbcheck.8 bwild.8 bregex.8          btape.8 btraceback.8 dbcheck.8 bwild.8 bregex.8
146  MAN1+=  bsmtp.1 bacula-tray-monitor.1 bacula-bwxconsole.1  MP1+=   bsmtp.1 bacula-tray-monitor.1 bacula-bwxconsole.1
147  .endif  .endif
148    
149  MAKE_ENV+=      MAN8="${MAN8}" MAN1="${MAN1}"  MAKE_ENV+=      MO8="${MAN8}" MAN1="${MP1}"
   
 pre-everything::  
 .if !defined(WITH_CLIENT_ONLY)  
         @${ECHO_MSG} "You may use the following build options (or make config):"  
         @${ECHO_MSG} ""  
         @${ECHO_MSG} "  WITH_CLIENT_ONLY=yes    if you only want the file daemon."  
         @${ECHO_MSG} "  WITH_MTX=yes            if you want to use mtx instead of chio for autochanger control."  
         @${ECHO_MSG} "  WITH_PYTHON=yes         Enable Python scripting in the director."  
         @${ECHO_MSG} "  WITH_SQLITE3=yes        if you want SQLite-3 as the database (not recommended)."  
 .if ! ${PORT_OPTIONS:MMYSQL} && ! ${PORT_OPTIONS:MPGSQL}  
         @${ECHO_MSG} "  WITH_MYSQL=yes          if you want MySQL as the database."  
         @${ECHO_MSG} "  WITH_PGSQL=yes          if you want PostgreSQL as the database."  
         @${ECHO_MSG} ""  
         @${ECHO_MSG} "The default DB is PostgreSQL!"  
 .endif  
         @${ECHO_MSG} "  WITH_OPENSSL=yes        Enable OpenSSL for encrypted communication."  
         @${ECHO_MSG} ""  
         @${ECHO_MSG} "===> Using ${DBTYPE} as the bacula database."  
         @${ECHO_MSG} ""  
 .endif  
150    
151  post-patch:  post-patch:
152  #       This port does not install docs.  See bacula-docs for that  #       This port does not install docs.  See bacula-docs for that
# Line 201  post-patch: Line 172  post-patch:
172                  ${WRKSRC}/src/tools/bpluginfo.c                  ${WRKSRC}/src/tools/bpluginfo.c
173  .endif  .endif
174    
 .if !target(pre-install)  
175  pre-install:  pre-install:
176          if [ ! -d "${BACULA_DIR}" ]; then \          ${MKDIR} ${STAGEDIR}${BACULA_DIR}
                 ${ECHO_CMD} "creating ${BACULA_DIR}" ; \  
                 ${MKDIR} ${BACULA_DIR}; \  
         else \  
                 ${ECHO_CMD} "${BACULA_DIR} already exists"; \  
         fi  
   
 #       Extend /etc/services and install UID/GID  
         @ ${SETENV} PKG_PREFIX=${PREFIX} \  
                 ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL  
 .endif  
177    
178  .if !target(post-install)  .if !target(post-install)
179  post-install:  post-install:
180  .if defined(WITH_CLIENT_ONLY)  .if defined(WITH_CLIENT_ONLY)
181  #       Extend only /etc/services          ${MV} ${STAGEDIR}${ETCDIR}/bconsole.conf ${STAGEDIR}${ETCDIR}/bconsole.conf.sample
         @ ${SETENV} PKG_PREFIX=${PREFIX} \  
                 ${SH} ${PKGINSTALL} ${PORTNAME}  
 #       Console stuff  
         if [ -f ${ETCDIR}/bconsole.conf.new ]; then \  
                 ${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \  
                 ${CHGRP} bacula ${ETCDIR}/bconsole.conf.new; \  
         elif [ -f ${ETCDIR}/bconsole.conf ]; then \  
                 ${MV} ${ETCDIR}/bconsole.conf ${ETCDIR}/bconsole.conf.sample; \  
                 ${CHGRP} bacula ${ETCDIR}/bconsole.conf.sample; \  
                 ${ECHO_CMD} "etc/bacula/bconsole.conf.sample" >> ${TMPPLIST}; \  
         fi  
   
 #       ensure that users in the bacula group can run bconsole  
         ${CHGRP} bacula ${PREFIX}/sbin/bconsole  
182  .else  .else
183  #       Install config files and preserve existing ones          ${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${STAGEDIR}${PREFIX}/sbin
184          ${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${PREFIX}/sbin          ${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${STAGEDIR}${ETCDIR}/bacula-barcodes.sample
185          if [ -f ${ETCDIR}/bacula-barcodes ]; then \          ${CHMOD} o+x ${STAGEDIR}${PREFIX}/sbin/bsmtp
                 ${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${ETCDIR}/bacula-barcodes.new ; \  
                 ${ECHO_CMD} "etc/bacula/bacula-barcodes.new" >> ${TMPPLIST}; \  
         else \  
                 ${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${ETCDIR}/bacula-barcodes.samples ; \  
                 ${ECHO_CMD} "etc/bacula/bacula-barcodes.samples" >> ${TMPPLIST}; \  
         fi  
 #       Add configuration files directory to packing list  
         ${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST}  
 #       chmod of bsmtp program so bacula can use it with dropped down permissions  
         ${CHMOD} o+x ${PREFIX}/sbin/bsmtp  
         ${CHOWN} -R bacula:bacula ${PREFIX}/share/bacula  
   
 #       on a fresh install, the .new suffix is not used  
         if [ -f ${ETCDIR}/bacula-dir.conf.new ]; then \  
                 ${CHGRP} bacula ${ETCDIR}/bacula-dir.conf.new; \  
         else \  
                 ${CHGRP} bacula ${ETCDIR}/bacula-dir.conf; \  
         fi  
   
         ${CHGRP} bacula ${PREFIX}/sbin/dbcheck  
   
186  .endif  .endif
 #       Install leaves existing conf files untouched. Respect this here!  
187          for na in ${CONFFILES}; do \          for na in ${CONFFILES}; do \
188                  if [ -f ${ETCDIR}/bacula-$$na.conf.new ]; then \                  ${MV} ${STAGEDIR}${ETCDIR}/bacula-$$na.conf ${STAGEDIR}${ETCDIR}/bacula-$$na.conf.sample; \
                         ${ECHO_CMD} "etc/bacula/bacula-$$na.conf.new" >> ${TMPPLIST}; \  
                 elif [ -f ${ETCDIR}/bacula-$$na.conf ]; then \  
                         ${MV} ${ETCDIR}/bacula-$$na.conf ${ETCDIR}/bacula-$$na.conf.sample; \  
                         ${ECHO_CMD} "etc/bacula/bacula-$$na.conf.sample" >> ${TMPPLIST}; \  
                 fi; \  
189          done          done
   
 #       Add configuration files directory to packing list  
         ${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST}  
   
         ${CHGRP} wheel ${PREFIX}/etc  
   
         @${CAT} ${PKGMESSAGE}  
190  .endif  .endif
191  .else  .else
192  .include "${MASTERDIR}/Makefile.common"  .include "${MASTERDIR}/Makefile.common"

Legend:
Removed from v.359586  
changed lines
  Added in v.360216

  ViewVC Help
Powered by ViewVC 1.1.27