Revision: 121587 https://trac.macports.org/changeset/121587 Author: mf2k@macports.org Date: 2014-07-01 10:11:42 -0700 (Tue, 01 Jul 2014) Log Message: ----------- bacula: Update to version 7.0.4. Use conio instead of readline. Add mysql51 variant. Remove sqlite2 variant. Add notes for configuration. add server startupitems. (#44127) Modified Paths: -------------- trunk/dports/sysutils/bacula/Portfile Added Paths: ----------- trunk/dports/sysutils/bacula/files/patch-configure-mysql.diff.patch trunk/dports/sysutils/bacula/files/patch-create_postgresql_database.diff Modified: trunk/dports/sysutils/bacula/Portfile =================================================================== --- trunk/dports/sysutils/bacula/Portfile 2014-07-01 17:09:25 UTC (rev 121586) +++ trunk/dports/sysutils/bacula/Portfile 2014-07-01 17:11:42 UTC (rev 121587) @@ -4,7 +4,7 @@ PortSystem 1.0 name bacula -version 5.2.13 +version 7.0.4 categories sysutils platforms darwin license {AGPL-3 OpenSSLException} @@ -18,8 +18,8 @@ homepage http://www.bacula.org/ master_sites sourceforge -checksums rmd160 bcc168143c0eec5cb5e983f765935534379f4fcf \ - sha256 a4bed458bf001889bd06bf31671b5d9908055a1d1e8113fd750ae4d326607ad8 +checksums rmd160 09d033f4ea3431f57d8018647af41c1ae417652d \ + sha256 ebf802b843a95f6526e82dd181dff7cd7dc7d1fdc55cec8636e0fe3af69acf7e depends_build port:pkgconfig depends_lib port:gawk \ @@ -28,7 +28,8 @@ port:ncurses \ port:openssl \ port:tcp_wrappers \ - port:zlib + port:zlib \ + port:lzo2 configure.ccache no configure.args --mandir=${prefix}/share/man \ @@ -40,19 +41,15 @@ --with-libintl-prefix=${prefix} \ --with-openssl=${prefix} \ --with-libiconv-prefix=${prefix} \ - --with-readline=${prefix} \ --with-archivedir=/var/tmp \ --with-working-dir=${prefix}/var/bacula/working \ --with-included-gettext=${prefix} \ --enable-smartalloc \ --enable-largefile \ - --without-sqlite \ + --enable-conio \ --without-sqlite3 \ --without-postgresql \ --without-mysql \ - --disable-gnome \ - --disable-wx-console \ - --disable-tray-monitor \ --with-tcp-wrappers configure.cppflags-append -I${prefix}/ncurses @@ -73,7 +70,10 @@ startupitem.start "\[ -x \${BIN} \] && \${BIN} -c ${prefix}/etc/bacula/bacula-fd.conf" startupitem.stop "\[ -r \${PID} \] && /bin/kill \$(cat \${PID})" -variant client_only conflicts mysql55 postgresql83 postgresql84 sqlite2 sqlite3 description "Install bacula client (bacula-fd) only" { +notes "To use the Bacula FD client, you'll need to configure \"${prefix}/etc/bacula/bacula-fd.conf\"." +notes-append "To use bconsole, you'll need to configure \"${prefix}/etc/bacula/bconsole.conf\"." + +variant client_only conflicts mysql51 mysql55 postgresql83 postgresql84 sqlite3 description "Install bacula client (bacula-fd) only" { configure.args-append --enable-client-only } @@ -92,53 +92,131 @@ xinstall -m 755 -d ${destroot}${applications_dir} copy ${worksrcpath}/src/qt-console/bat.app ${destroot}${applications_dir}/Bacula-BAT.app } - notes "To use the Bacula BAT GUI, you'll need to configure \"${prefix}/etc/bacula/bat.conf\"." + notes-append "To use the Bacula BAT GUI, you'll need to configure \"${prefix}/etc/bacula/bat.conf\"." } -variant mysql55 conflicts client_only postgresql83 postgresql84 sqlite2 sqlite3 description "Install bacula client and server with mysql 5 backend" { +variant mysql51 conflicts client_only mysql55 postgresql83 postgresql84 sqlite3 description "Install bacula client and server with mysql 5.1 backend" { + depends_lib-append port:mysql51 + configure.args-append --with-mysql=${prefix}/include/mysql51/mysql + configure.args-delete --without-mysql + configure.args-append --enable-batch-insert + configure.cppflags-append -I${prefix}/include/mysql51/mysql + + patchfiles patch-configure-mysql.diff + post-patch { + reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure + } + notes-append " + To use the Bacula Director, you'll need to perform the following steps: + 1. create user \"bacula\" on a mysql database + 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <mysql_server> -u <db_admin_user> -p\" + 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <mysql_server> -u <db_admin_user> -p\" + 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <mysql_server> -u <db_admin_user> -p\" + 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. + " +} + +variant mysql55 conflicts client_only mysql51 postgresql83 postgresql84 sqlite3 description "Install bacula client and server with mysql 5.5 backend" { depends_lib-append port:mysql55 configure.args-append --with-mysql=${prefix}/include/mysql55/mysql configure.args-delete --without-mysql + configure.args-append --enable-batch-insert configure.cppflags-append -I${prefix}/include/mysql55/mysql patchfiles patch-configure-mysql.diff post-patch { reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure } + notes-append " + To use the Bacula Director, you'll need to perform the following steps: + 1. create user \"bacula\" on a mysql database + 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <mysql_server> -u <db_admin_user> -p\" + 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <mysql_server> -u <db_admin_user> -p\" + 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <mysql_server> -u <db_admin_user> -p\" + 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. + " } -variant postgresql83 conflicts mysql55 postgresql84 sqlite2 sqlite3 client_only description "Install bacula client and server with postgresql 8.3 backend" { +variant postgresql83 conflicts mysql51 mysql55 postgresql84 sqlite3 client_only description "Install bacula client and server with postgresql 8.3 backend" { depends_lib-append port:postgresql83 configure.args-append --with-postgresql configure.args-delete --without-postgresql + configure.args-append --enable-batch-insert configure.env-append PATH=${prefix}/lib/postgresql83/bin:$env(PATH) + + patchfiles patch-create_postgresql_database.diff + + notes-append " + To use the Bacula Director, you'll need to perform the following steps: + 1. create user \"bacula\" on a PostgreSQL database + 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <postgresql-server> -U <db_admin_user>\" + 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <postgresql-server> -U <db_admin_user>\" + 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <postgresql-server> -U <db_admin_user> -p\" + 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. + " } -variant postgresql84 conflicts mysql55 postgresql83 sqlite2 sqlite3 client_only description "Install bacula client and server with postgresql 8.4 backend" { +variant postgresql84 conflicts mysql51 mysql55 postgresql83 sqlite3 client_only description "Install bacula client and server with postgresql 8.4 backend" { depends_lib-append port:postgresql84 configure.args-append --with-postgresql configure.args-delete --without-postgresql + configure.args-append --enable-batch-insert configure.env-append PATH=${prefix}/lib/postgresql84/bin:$env(PATH) -} -variant sqlite2 conflicts client_only sqlite3 mysql55 postgresql83 postgresql84 description "Install bacula client and server with sqlite 2 backend" { - depends_lib-append port:sqlite2 - configure.args-append --with-sqlite=${prefix} - configure.args-delete --without-sqlite + patchfiles patch-create_postgresql_database.diff + + notes-append " + To use the Bacula Director, you'll need to perform the following steps: + 1. create user \"bacula\" on a PostgreSQL database + 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <postgresql-server> -U <db_admin_user>\" + 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <postgresql-server> -U <db_admin_user>\" + 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <postgresql-server> -U <db_admin_user> -p\" + 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. + " } -variant sqlite3 conflicts client_only sqlite2 mysql55 postgresql83 postgresql84 description "Install bacula client and server with sqlite 3 backend" { +variant sqlite3 conflicts client_only mysql51 mysql55 postgresql83 postgresql84 description "Install bacula client and server with sqlite 3 backend" { depends_lib-append port:sqlite3 configure.args-append --with-sqlite3=${prefix} configure.args-delete --without-sqlite3 + configure.args-append --enable-batch-insert + notes-append " + To use the Bacula Director, you'll need to perform the following steps: + 1. execute \"${prefix}/etc/bacula/create_bacula_database\" + 2. execute \"${prefix}/etc/bacula/make_bacula_tables\" + 3. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. + " } default_variants +console_bat -if {![variant_isset mysql55] && ![variant_isset postgresql83] && ![variant_isset postgresql84] && ![variant_isset sqlite2] && ![variant_isset sqlite3]} { +if {![variant_isset mysql51] && ![variant_isset mysql55] && ![variant_isset postgresql83] && ![variant_isset postgresql84] && ![variant_isset sqlite3]} { default_variants-append +client_only +} else { + # is a server installation + + # Add the server daemons to the startupitem wrapper + startupitem.init-append "BIN_DIR=${prefix}/sbin/bacula-dir\nPID_DIR=${prefix}/var/run/bacula-dir.*.pid\n" + startupitem.init-append "BIN_SD=${prefix}/sbin/bacula-sd\nPID_SD=${prefix}/var/run/bacula-sd.*.pid\n" + startupitem.start-append "\[ -x \${BIN_DIR} -a -f ${prefix}/etc/bacula/bacula-dir.conf \] && \${BIN_DIR} -c ${prefix}/etc/bacula/bacula-dir.conf" + startupitem.start-append "\[ -x \${BIN_SD} -a -f ${prefix}/etc/bacula/bacula-sd.conf \] && \${BIN_SD} -c ${prefix}/etc/bacula/bacula-sd.conf" + startupitem.stop-append "\[ -r \${PID_DIR} \] && /bin/kill \$(cat \${PID_DIR})" + startupitem.stop-append "\[ -r \${PID_SD} \] && /bin/kill \$(cat \${PID_SD})" + + # Don't overwrite existing preference files + post-destroot { + file rename ${destroot}${prefix}/etc/bacula/bacula-dir.conf ${destroot}${prefix}/etc/bacula/bacula-dir.conf.example + file rename ${destroot}${prefix}/etc/bacula/bacula-sd.conf ${destroot}${prefix}/etc/bacula/bacula-sd.conf.example + } + notes-append "To use the Bacula Storage Daemon, you'll need to configure \"${prefix}/etc/bacula/bacula-sd.conf\"." } +pre-deactivate { + if {[file exists /Library/LaunchDaemons/org.macports.bacula.plist]} { + system "launchctl unload /Library/LaunchDaemons/org.macports.bacula.plist" + } +} + livecheck.type regex livecheck.url ${homepage} livecheck.regex {Bacula ([0-9\.]+)} Added: trunk/dports/sysutils/bacula/files/patch-configure-mysql.diff.patch =================================================================== --- trunk/dports/sysutils/bacula/files/patch-configure-mysql.diff.patch (rev 0) +++ trunk/dports/sysutils/bacula/files/patch-configure-mysql.diff.patch 2014-07-01 17:11:42 UTC (rev 121587) @@ -0,0 +1,36 @@ +--- files/patch-configure-mysql.diff.orig 2014-06-26 06:46:48.000000000 -0700 ++++ files/patch-configure-mysql.diff 2014-06-26 06:46:57.000000000 -0700 +@@ -1,9 +1,10 @@ +---- configure.orig 2014-01-08 14:36:00.000000000 -0700 +-+++ configure 2014-01-08 14:37:59.000000000 -0700 +-@@ -24328,110 +24328,9 @@ ++--- configure.orig 2014-06-03 01:28:41.000000000 -0700 +++++ configure 2014-06-26 06:42:01.000000000 -0700 ++@@ -24039,112 +24039,13 @@ ++ if test "${with_mysql+set}" = set; then : + withval=$with_mysql; + if test "$withval" != "no"; then +- if test "$withval" = "yes"; then ++- if test "$withval" = "yes"; then + -# + -# This code is very broken on older systems + -# +@@ -108,9 +109,14 @@ + -$as_echo "no" >&6; } + - as_fn_error $? "Invalid MySQL directory $withval - unable to find mysql.h under $withval" "$LINENO" 5 + - fi +-+ MYSQL_INCDIR=@@PREFIX@@/include/mysql55/mysql +-+ MYSQL_LIBDIR=@@PREFIX@@/lib/mysql55/mysql +-+ MYSQL_BINDIR=@@PREFIX@@/lib/mysql55/bin +- fi ++- fi +++ +++ ## replaced by macports start +++ MYSQL_INCDIR=/opt/local/include/mysql55/mysql +++ MYSQL_LIBDIR=/opt/local/lib/mysql55/mysql +++ MYSQL_BINDIR=/opt/local/lib/mysql55/bin +++ ## replaced by macports end +++ + MYSQL_INCLUDE=-I$MYSQL_INCDIR + if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \ ++ -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then \ No newline at end of file Added: trunk/dports/sysutils/bacula/files/patch-create_postgresql_database.diff =================================================================== --- trunk/dports/sysutils/bacula/files/patch-create_postgresql_database.diff (rev 0) +++ trunk/dports/sysutils/bacula/files/patch-create_postgresql_database.diff 2014-07-01 17:11:42 UTC (rev 121587) @@ -0,0 +1,11 @@ +--- src/cats/create_postgresql_database.in.org 2014-06-29 10:28:42.000000000 +0200 ++++ src/cats/create_postgresql_database.in 2014-06-29 10:29:34.000000000 +0200 +@@ -67,7 +67,7 @@ + echo "!!!! Creation of ${db_name} database failed. !!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + fi +-if psql -l ${dbname} | grep " ${db_name}.*SQL_ASCII" >/dev/null; then ++if psql -l ${dbname} $* | grep " ${db_name}.*SQL_ASCII" >/dev/null; then + echo "Database encoding OK" + else + echo " "
participants (1)
-
mf2k@macports.org