summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-backup/bacula/bacula-1.38.9.ebuild')
-rw-r--r--app-backup/bacula/bacula-1.38.9.ebuild314
1 files changed, 0 insertions, 314 deletions
diff --git a/app-backup/bacula/bacula-1.38.9.ebuild b/app-backup/bacula/bacula-1.38.9.ebuild
deleted file mode 100644
index 167c37c..0000000
--- a/app-backup/bacula/bacula-1.38.9.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/bacula-1.38.9.ebuild,v 1.3 2006/11/04 09:17:14 grobian Exp $
-
-inherit eutils
-
-IUSE="bacula-clientonly bacula-console bacula-nodir bacula-nosd bacula-split-init doc gnome logrotate logwatch mysql postgres python readline sqlite sqlite3 ssl static tcpd wxwindows X"
-KEYWORDS="~amd64 ~sparc ~x86"
-
-DESCRIPTION="Featureful client/server network backup suite"
-HOMEPAGE="http://www.bacula.org/"
-
-DOC_VER="1.38.9"
-SRC_URI="mirror://sourceforge/bacula/${P}.tar.gz
- doc? ( mirror://sourceforge/bacula/${PN}-docs-${DOC_VER}.tar.gz )"
-
-LICENSE="GPL-2"
-SLOT="0"
-
-DEPEND="
- >=sys-libs/zlib-1.1.4
- dev-libs/gmp
- !bacula-clientonly? (
- postgres? ( >=dev-db/postgresql-7.4.0 )
- mysql? ( >=dev-db/mysql-3.23 )
- sqlite? ( =dev-db/sqlite-2* )
- sqlite3? ( >=dev-db/sqlite-3.0.0 )
- virtual/mta
- )
- bacula-console? (
- wxwindows? ( >=x11-libs/wxGTK-2.4.2 )
- gnome? (
- >=gnome-base/libgnome-2
- app-admin/gnomesu
- )
- )
- ssl? ( dev-libs/openssl )
- logrotate? ( app-admin/logrotate )
- logwatch? ( sys-apps/logwatch )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
- readline? ( >=sys-libs/readline-4.1 )"
-RDEPEND="${DEPEND}
- !bacula-clientonly? (
- sys-block/mtx
- app-arch/mt-st
- )"
-
-pkg_setup() {
- export mydb=""
- dbcnt=0
- if ! use bacula-clientonly ; then
- if use mysql ; then
- mydb="mysql"
- dbcnt="$((${dbcnt} + 1))"
- fi
- if use postgres ; then
- mydb="postgresql"
- dbcnt="$((${dbcnt} + 1))"
- fi
- if use sqlite ; then
- mydb="sqlite"
- dbcnt="$((${dbcnt} + 1))"
- fi
- if use sqlite3 ; then
- mydb="sqlite3"
- dbcnt="$((${dbcnt} + 1))"
- fi
- export mydb="${mydb}"
-
- if [[ "${dbcnt}" -eq 0 ]] ; then
- eerror "To use ${P} it is required to set a database in the USE flags."
- eerror "Supported databases are mysql, postgresql, sqlite, sqlite3"
- die "You must set a supported database type."
- fi
- fi
- if ! use bacula-clientonly ; then
- if [[ "${dbcnt}" -gt 1 ]] ; then
- eerror "You have set ${P} to use multiple database types."
- eerror "I don't know which to set as the default!"
- eerror "You can use /etc/portage/package.use to set per-package USE flags"
- eerror "Set it so only one database type, mysql, postgres, sqlite, sqlite3"
- die "Please set only one database type"
- fi
- fi
-
- # create the daemon group and user
- HAVE_BACULA_GROUP="`grep bacula\: /etc/group 2>/dev/null`"
- if [ -z "${HAVE_BACULA_GROUP}" ]; then
- enewgroup bacula
- einfo "The group bacula has been created. Any users you add to this"
- einfo "group have access to files created by the daemons."
- einfo ""
- fi
- if ! use bacula-clientonly ; then
- HAVE_BACULA_USER="`id -u bacula 2>/dev/null`"
- if [ -z "${HAVE_BACULA_USER}" ] ; then
- enewuser "bacula" -1 -1 "/var/lib/bacula" "bacula,disk,tape,cdrom,cdrw"
- einfo "The user bacula has been created. Please see the bacula manual"
- einfo "for information about running bacula as a non-root user."
- einfo ""
- fi
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- # adjusts default configuration files for several binaries
- # to /etc/bacula/<config> instead of ./<config>
- epatch "${FILESDIR}/${P}"-default-configs.patch
-}
-
-src_compile() {
- local myconf=""
- if use bacula-clientonly ; then
- myconf="${myconf} \
- `use_enable bacula-clientonly client-only` \
- `use_enable static static-fd`"
- fi
- if use bacula-console ; then
- myconf="${myconf} \
- `use_with X x` \
- `use_enable gnome` \
- `use_enable gnome tray-monitor` \
- `use_enable wxwindows wx-console` \
- `use_enable static static-cons`"
- fi
- myconf="${myconf} \
- `use_with python` \
- `use_with readline` \
- `use_with ssl openssl` \
- `use_with tcpd tcp-wrappers`"
-
- if ! use bacula-clientonly; then
- # select database support
- if [ ${mydb} == "postgresql" ]; then
- myconf="${myconf} `use_with postgres postgresql`"
- else
- myconf="${myconf} `use_with ${mydb}`"
- fi
- myconf="${myconf} \
- `use_enable static static-tools` \
- `use_enable static static-fd` \
- `use_enable !bacula-nodir build-dird` \
- `use_enable !bacula-nosd build-stored`"
- if ! use bacula-nodir ; then
- myconf="${myconf} `use_enable static static-dir`"
- fi
- if ! use bacula-nosd ; then
- myconf="${myconf} `use_enable static static-sd`"
- fi
-
- fi
-
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --with-pid-dir=/var/run \
- --sysconfdir=/etc/bacula \
- --infodir=/usr/share/info \
- --with-subsys-dir=/var/lock/subsys \
- --with-working-dir=/var/lib/bacula \
- --with-scriptdir=/usr/libexec/bacula \
- --with-dir-user=bacula \
- --with-dir-group=bacula \
- --with-sd-user=root \
- --with-sd-group=bacula \
- --with-fd-user=root \
- --with-fd-group=bacula \
- --enable-smartalloc \
- --host=${CHOST} ${myconf} || die "Configure failed!"
-
- emake || die "Failed primary build!"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Failed install to ${D} !"
-
- if use static ; then
- cd "${D}"/usr/sbin
- mv static-bacula-fd bacula-fd
- mv static-bconsole bconsole
- if ! use bacula-clientonly ; then
- mv static-bacula-dir bacula-dir
- mv static-bacula-sd bacula-sd
- fi
- if use gnome ; then
- mv static-gnome-console gnome-console
- fi
- cd "${S}"
- fi
-
- if use bacula-console ; then
- if use gnome ; then
- emake DESTDIR="${D}" \
- install-menu \
- install-menu-xsu || die "Failed to install gnome menu files to ${D}" \
- make_desktop_entry \
- "gnome-console -c /etc/bacula/gnome-console.conf" \
- "Bacula Console" /usr/share/pixmaps/bacula.png "app-admin" \
- "/usr/sbin"
- fi
- fi
-
- # extra files which 'make install' doesn't cover
- if ! use bacula-clientonly ; then
- # the database update scripts
- diropts -m0750
- dodir /usr/libexec/bacula/updatedb
- insinto /usr/libexec/bacula/updatedb/
- insopts -m0754
- doins "${S}"/updatedb/*
- fperms 0640 /usr/libexec/bacula/updatedb/README
-
- # the logrotate configuration
- if use logrotate ; then
- diropts -m0755
- dodir /etc/logrotate.d
- insinto /etc/logrotate.d
- insopts -m0644
- newins "${S}"/scripts/logrotate bacula
- fi
-
- # the logwatch scripts
- if use logwatch ; then
- diropts -m0750
- dodir /etc/log.d/scripts/services
- dodir /etc/log.d/conf/logfiles
- dodir /etc/log.d/conf/services
- cd "${S}"/scripts/logwatch
- emake DESTDIR="${D}" install || die "Failed to install logwatch scripts to ${D} !"
- cd "${S}"
- fi
- fi
-
- # documentation
- for my_doc in "${S}"/{ChangeLog,LICENSE,README,ReleaseNotes,kernstodo,doc/BaculaRoadMap_*.pdf}
- do
- dodoc "${my_doc}"
- done
- if use doc ; then
- dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/developers/developers.pdf
- dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/manual/bacula.pdf
- diropts -m0755
- dodir /usr/share/doc/"${PF}"/developers
- dodir /usr/share/doc/"${PF}"/manual
- insopts -m0644
- insinto /usr/share/doc/"${PF}"/developers
- doins "${WORKDIR}/${PN}-docs-${DOC_VER}"/developers/developers/*
- insinto /usr/share/doc/"${PF}"/manual
- doins "${WORKDIR}/${PN}-docs-${DOC_VER}"/manual/bacula/*
- fi
-
- # clean up permissions left broken by install
- fperms 0644 "${D}"/usr/libexec/bacula/query.sql
- prepall
-
- # setup init scripts
- my_services="fd"
- if ! use bacula-clientonly ; then
- if ! use bacula-nodir ; then
- my_services="${my_services} dir"
- fi
- if ! use bacula-nosd ; then
- my_services="${my_services} sd"
- fi
- fi
- exeinto /etc/init.d/
- insinto /etc/conf.d/
- if use bacula-split-init ; then
- my_scripts=""
- for service in ${my_services} ; do
- my_scripts="${my_scripts} bacula-${service}"
- done
- else
- my_scripts="bacula-all"
- fi
- for script in ${my_scripts}; do
- cp "${FILESDIR}/${PV}/${script}"-conf "${T}/${script}".conf
- cp "${FILESDIR}/${PV}/${script}"-init "${T}/${script}".init
- if [ "${mydb}" == "sqlite" ]; then
- sed -i -e "s:%database%::" "${T}/${script}".init
- else
- sed -i -e "s:%database%:${mydb}:" "${T}/${script}".init
- fi
- sed -i -e "s:%services%:${my_services}:" "${T}/${script}".conf
- newexe "${T}/${script}".init "${script}"
- newins "${T}/${script}".conf "${script}"
- done
-
- # make sure the working directory exists
- diropts -m0750
- keepdir /var/lib/bacula
-}
-
-pkg_postinst() {
- if use bacula-clientonly ; then
- fowners root:bacula /var/lib/bacula
- else
- fowners bacula:bacula /var/lib/bacula
- fi
-
- if ! use bacula-clientonly && ! use bacula-nodir ; then
- einfo "If this is a new install, you must create the ${mydb} databases with:"
- einfo " /usr/libexec/bacula/create_${mydb}_database"
- einfo " /usr/libexec/bacula/make_${mydb}_tables"
- einfo " /usr/libexec/bacula/grant_${mydb}_privileges"
- einfo ""
- einfo "If you're upgrading from a major release, you must upgrade your bacula catalog database."
- einfo "Please read the manual chapter for how to upgrade your database."
- einfo "You can find database upgrade scripts in /usr/libexec/bacula/updatedb."
- einfo ""
- fi
-}