Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 235297 Details for
Bug 297896
app-backup/bacula 2.4.1-r1 + gcc-4.3.3 - reports a false buffer overflow in glibc in cause of builded with FORTIFY_SOURCE on
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
bacula-2.4.1-r1.ebuild
bacula-2.4.1-r1.ebuild (text/plain), 15.46 KB, created by
Ortwin Glueck
on 2010-06-14 17:51:06 UTC
(
hide
)
Description:
bacula-2.4.1-r1.ebuild
Filename:
MIME Type:
Creator:
Ortwin Glueck
Created:
2010-06-14 17:51:06 UTC
Size:
15.46 KB
patch
obsolete
># Copyright 1999-2010 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/app-backup/bacula/bacula-2.4.1-r1.ebuild,v 1.11 2010/02/10 06:12:03 dirtyepic Exp $ > ># ># TODO: ># - install stuff from examples/: ># - examples/nagios/ + add nagios USE flag etc. ># (see also example/reports/check_bacula_pools.sh which is newer ># than examples/nagios/check_bacula_pools.sh) ># - examples/autochangers/ ># - examples/devices/ ># - examples/python/ ># - examples/reports/baculareport.pl ># - correctly filter unneeded /usr/libexec/bacula/ stuff depending ># on selected USE flags, e.g. bacula-clientonly ># - install stuff from bacula-gui package: ># - bweb ># - bacula-web ># - bimagemgr ># - brestore ># - bacula >=2.4.0 supports --without-qwt -- reflect with USE=qwt? ># > >EAPI="1" >inherit eutils wxwidgets > >IUSE="bacula-clientonly bacula-console bacula-nodir bacula-nosd doc gnome ipv6 logrotate logwatch mysql postgres python qt4 readline sqlite sqlite3 ssl static tcpd wxwidgets X" ># bacula-web bimagemgr brestore bweb >KEYWORDS="amd64 hppa ppc sparc x86" > >DESCRIPTION="Featureful client/server network backup suite" >HOMEPAGE="http://www.bacula.org/" > >DOC_VER="${PV}" >DOC_SRC_URI="mirror://sourceforge/bacula/${PN}-docs-${DOC_VER}.tar.bz2" >#GUI_VER="${PV}" >#GUI_SRC_URI="mirror://sourceforge/bacula/${PN}-gui-${GUI_VER}.tar.gz" >SRC_URI="mirror://sourceforge/bacula/${P}.tar.gz > doc? ( ${DOC_SRC_URI} )" ># bacula-web? ( ${GUI_SRC_URI} ) ># bimagemgr? ( ${GUI_SRC_URI} ) ># brestore? ( ${GUI_SRC_URI} ) ># bweb? ( ${GUI_SRC_URI} ) > >LICENSE="GPL-2" >SLOT="0" > >DEPEND=" > >=sys-libs/zlib-1.1.4 > dev-libs/gmp > !bacula-clientonly? ( > postgres? ( >=virtual/postgresql-server-7.4 ) > mysql? ( virtual/mysql ) > sqlite? ( =dev-db/sqlite-2* ) > sqlite3? ( >=dev-db/sqlite-3.0.0 ) > virtual/mta > ) > bacula-console? ( > wxwidgets? ( x11-libs/wxGTK:2.6 ) > qt4? ( > x11-libs/qt-svg:4 > >=x11-libs/qwt-5 > ) > gnome? ( > >=gnome-base/libgnome-2 > x11-libs/gksu > ) > ) > 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 ) > doc? ( > app-text/ghostscript-gpl > dev-tex/latex2html > )" >RDEPEND="${DEPEND} > !bacula-clientonly? ( > sys-block/mtx > app-arch/mt-st > )" > >pkg_setup() { > local dbnum > declare -i dbnum=0 > if ! useq bacula-clientonly; then > if useq mysql; then > export mydbtype='mysql' > let dbnum++ > fi > if useq postgres; then > export mydbtype='postgresql' > let dbnum++ > fi > if useq sqlite; then > export mydbtype='sqlite' > let dbnum++ > fi > if useq sqlite3; then > export mydbtype='sqlite3' > let dbnum++ > fi > if [[ "${dbnum}" -lt 1 ]]; then > eerror > eerror "To use ${P} it is required to set a database in the USE flags." > eerror "Supported databases are mysql, postgresql, sqlite, sqlite3" > eerror > die "No database type selected." > elif [[ "${dbnum}" -gt 1 ]]; then > eerror > 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" > eerror > die "Multiple database types selected." > fi > fi > > # create the daemon group and user > if [ -z "$(egetent group bacula)" ]; then > enewgroup bacula > einfo > 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 ! useq bacula-clientonly; then > if [ -z "$(egetent passwd bacula)" ]; then > enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw > einfo > 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> > pushd src && epatch "${FILESDIR}/${PV}/${PN}"-default-configs.patch && popd > > # replaces (deprecated) gnomesu with gksu in the gnome menu files > useq bacula-console && useq gnome && epatch "${FILESDIR}/${PV}/${PN}"-gnomesu2gksu.diff > > # apply upstream patches > epatch "${FILESDIR}"/${PV}/${PV}-mount.patch > epatch "${FILESDIR}"/${PV}/${PV}-mysql-timeout.patch > epatch "${FILESDIR}"/${PV}/${PV}-sd-crash.patch >} > >src_compile() { > if useq doc && has_version dev-tex/latex2html && ! built_with_use dev-tex/latex2html png; then > eerror "${PN} needs the PNG support of latex2html" > eerror "Please re-emerge dev-tex/latex2html with USE=png" > die "need dev-tex/latex2html built with png USE flag" > fi > > local myconf='' > > if useq bacula-clientonly; then > myconf="${myconf} \ > $(use_enable bacula-clientonly client-only) \ > $(use_enable static static-fd)" > else > myconf="${myconf} \ > --with-${mydbtype} \ > $(use_enable static static-tools) \ > $(use_enable static static-fd) \ > $(use_enable !bacula-nodir build-dird) \ > $(use_enable !bacula-nosd build-stored)" > if ! useq bacula-nodir; then > myconf="${myconf} $(use_enable static static-dir)" > fi > if ! useq bacula-nosd; then > myconf="${myconf} $(use_enable static static-sd)" > fi > > fi > > if useq bacula-console; then > if useq qt4 && has_version '<x11-libs/qwt-5'; then > eerror "x11-libs/qwt found in a version < 5, thus the" > eerror "compilation of 'bat' would fail (see" > eerror "http://bugs.gentoo.org/188477#c11 for details)." > eerror "please either unmerge <x11-libs/qwt-5 or disable" > eerror "the qt4 USE flag to disable building 'bat'." > die "incompatible slotted qwt version found" > fi > if useq wxwidgets; then > WX_GTK_VER=2.6 > need-wxwidgets ansi > fi > myconf="${myconf} \ > $(use_with X x) \ > $(use_enable gnome) \ > $(use_enable gnome tray-monitor) \ > $(use_enable wxwidgets bwx-console) \ > $(use_enable qt4 bat) \ > $(use_enable static static-cons)" > fi > > myconf="${myconf} \ > $(use_with python) \ > $(use_enable readline) \ > $(use_with readline readline /usr) \ > $(use_with ssl openssl) \ > $(use_enable ipv6) \ > $(use_with tcpd tcp-wrappers)" > > CFLAGS="${CFLAGS} -U_FORTIFY_SOURCE" ./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 "emake failed" > > # build various GUIs from bacula-gui tarball ># if useq bacula-web || useq bimagemgr || useq brestore || useq bweb; then ># pushd "${WORKDIR}/${PN}-gui-${GUI_VER}" ># local myconf_gui='' ># if useq bimagemgr; then ># ## TODO FIXME: webapp-config? !apache? ># myconf_gui="${myconf_gui} \ ># --with-bimagemgr-cgidir=/var/www/localhost/cgi-bin \ ># --with-bimagemgr-docdir=/var/www/localhost/htdocs \ ># --with-bimagemgr-binowner=root \ ># --with-bimagemgr-bingroup=root \ ># --with-bimagemgr-dataowner=apache \ ># --with-bimagemgr-datagroup=apache \ ># " ># fi ># ./configure \ ># --with-bacula="${S}" \ ># ${myconf} \ ># || die "configure for bacula-gui failed" ># ## TODO FIXME: install files (see bacula-gui.spec) ># if useq bacula-web; then ># : install ># fi ># if useq bimagemgr; then ># : install ># fi ># if useq brestore; then ># : install ># fi ># if useq bweb; then ># : install ># fi ># popd ># fi > > # build docs from bacula-docs tarball > if useq doc; then > pushd "${WORKDIR}/${PN}-docs-${DOC_VER}" > ./configure \ > --with-bacula="${S}" \ > || die "configure for bacula-docs failed" > emake -j1 || die "emake for bacula-docs failed" > popd > fi >} > >src_install() { > emake DESTDIR="${D}" install || die "emake install failed" > > # install bat when enabled (for some reason ./configure doesn't pick this up) > if useq bacula-console && useq qt4; then > dosbin "${S}"/src/qt-console/bat > fi > > # remove some scripts we don't need at all > rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql} > > # rename statically linked apps > if useq static; then > pushd "${D}"/usr/sbin > mv static-bacula-fd bacula-fd > mv static-bconsole bconsole > if ! useq bacula-clientonly; then > mv static-bacula-dir bacula-dir > mv static-bacula-sd bacula-sd > fi > if useq bacula-console && useq gnome; then > mv static-gnome-console gnome-console > fi > if useq bacula-console && useq qt4; then > mv static-bat bat > fi > popd > fi > > # gnome-console menu entries using gksu > if useq bacula-console && useq gnome; then > emake DESTDIR="${D}" install-menu-xsu \ > || die "Failed to install gnome menu files" > fi > > # extra files which 'make install' doesn't cover > if ! useq bacula-clientonly; then > # the database update scripts > diropts -m0750 > insinto /usr/libexec/bacula/updatedb > insopts -m0754 > doins "${S}"/updatedb/* > fperms 0640 /usr/libexec/bacula/updatedb/README > > # the logrotate configuration > if useq logrotate; then > diropts -m0755 > insinto /etc/logrotate.d > insopts -m0644 > newins "${S}"/scripts/logrotate bacula > fi > > # the logwatch scripts > if useq 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" > cd "${S}" > fi > fi > > # remove unwanted files > if ! use bacula-console; then > rm -vf "${D}"/etc/bacula/bconsole.conf > rm -vf "${D}"/usr/sbin/bconsole > rm -vf "${D}"/usr/libexec/bacula/bconsole > fi > if ! ( use bacula-console && use gnome ); then > rm -vf "${D}"/usr/share/man/man1/bacula-bgnome-console.1* > rm -vf "${D}"/usr/libexec/bacula/gconsole > fi > if ! ( use bacula-console && use wxwidgets ); then > rm -vf "${D}"/usr/share/man/man1/bacula-bwxconsole.1* > fi > if use bacula-clientonly; then > rm -vf "${D}"/usr/share/man/man1/bat.1* > rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1* > fi > if use bacula-clientonly || use bacula-nodir; then > rm -vf "${D}"/usr/share/man/man8/bacula-dir.8* > rm -vf "${D}"/usr/share/man/man8/dbcheck.8* > rm -vf "${D}"/usr/share/man/man1/bsmtp.1* > rm -vf "${D}"/usr/libexec/bacula/create_*_database > rm -vf "${D}"/usr/libexec/bacula/drop_*_database > rm -vf "${D}"/usr/libexec/bacula/make_*_tables > rm -vf "${D}"/usr/libexec/bacula/update_*_tables > rm -vf "${D}"/usr/libexec/bacula/drop_*_tables > rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges > rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup > fi > if use bacula-clientonly || use bacula-nosd; then > rm -vf "${D}"/usr/share/man/man8/bacula-sd.8* > rm -vf "${D}"/usr/share/man/man8/bcopy.8* > rm -vf "${D}"/usr/share/man/man8/bextract.8* > rm -vf "${D}"/usr/share/man/man8/bls.8* > rm -vf "${D}"/usr/share/man/man8/bscan.8* > rm -vf "${D}"/usr/share/man/man8/btape.8* > rm -vf "${D}"/usr/libexec/bacula/disk-changer > rm -vf "${D}"/usr/libexec/bacula/mtx-changer > rm -vf "${D}"/usr/libexec/bacula/dvd-handler > fi > > # documentation > for d in "${S}"/{ChangeLog,LICENSE,README,ReleaseNotes,SUPPORT,kernstodo,projects}; do > dodoc "${d}" > done > if useq doc; then > dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/manual/bacula.pdf > dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/developers/developers.pdf > #dodoc "${WORKDIR}/${PN}-docs-${DOC_VER}"/bacula-web/bacula-web.pdf > fi > > # setup init scripts > myscripts="bacula-fd" > if ! useq bacula-clientonly; then > if ! useq bacula-nodir; then > myscripts="${myscripts} bacula-dir" > fi > if ! useq bacula-nosd; then > myscripts="${myscripts} bacula-sd" > fi > fi > for script in ${myscripts}; do > # copy over init script and config to a temporary location > # so we can modify them as needed > cp "${FILESDIR}/${PV}/${script}"-conf "${T}/${script}".conf || die "failed to copy ${script}-conf" > cp "${FILESDIR}/${PV}/${script}"-init "${T}/${script}".init || die "failed to copy ${script}-init" > # set database dependancy for the director init scripts > case "${script}" in > bacula-dir) > case "${mydbtype}" in > sqlite*) > # sqlite + sqlite3 databases don't have daemons > sed -i -e 's/need "%database%"/:/g' "${T}/${script}".init > ;; > *) > # all other databases have daemons > sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".init > ;; > esac > ;; > *) > ;; > esac > # install init script and config > newinitd "${T}/${script}".init "${script}" > newconfd "${T}/${script}".conf "${script}" > done > > # make sure the working directory exists > diropts -m0750 > keepdir /var/lib/bacula > > # make sure bacula group can execute bacula libexec scripts > fowners root:bacula /usr/libexec/bacula/* >} > >pkg_postinst() { > if useq bacula-clientonly; then > fowners root:bacula /var/lib/bacula > else > fowners bacula:bacula /var/lib/bacula > fi > > if ! useq bacula-clientonly && ! useq bacula-nodir; then > einfo > einfo "If this is a new install, you must create the ${mydbtype} databases with:" > einfo " /usr/libexec/bacula/create_${mydbtype}_database" > einfo " /usr/libexec/bacula/make_${mydbtype}_tables" > einfo " /usr/libexec/bacula/grant_${mydbtype}_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 > > ewarn > ewarn "*** ATTENTION! IMPORTANT! ATTENTION! IMPORTANT! ATTENTION! IMPORTANT! ***" > ewarn > ewarn "The bundled catalog backup script (/usr/libexec/bacula/make_catalog_backup)" > ewarn "is INSECURE. The script needs to be called with the database access password" > ewarn "as a command line parameter, thus, the password can be seen from any other" > ewarn "user on the system (if not using some non-default hardened/patched kernel" > ewarn "with /proc restrictions)!" > ewarn > ewarn "Our advice is to NOT USE the bundled script at all, but instead use something" > ewarn "like this in your catalog backup job definition (example using MySQL as the" > ewarn "catalog database):" > ewarn > ewarn "RunBeforeJob = \"mysqldump --defaults-file=/etc/bacula/my.cnf --opt -f -r /var/lib/bacula/bacula.sql bacula\"" > ewarn "RunAfterJob = \"rm -f /var/lib/bacula/bacula.sql\"" > ewarn > ewarn "This requires you to put all database access parameters (like user, host and" > ewarn "password) into a dedicated file (/etc/bacula/my.cnf in this example) which" > ewarn "can (and should!) be secured by simple filesystem access permissions." > ewarn > ewarn "See also:" > ewarn "http://www.bacula.org/en/rel-manual/Bacula_Security_Issues.html" > ewarn "http://www.bacula.org/en/rel-manual/Catalog_Maintenance.html#BackingUpBaculaSecurityConsiderations" > ewarn > ewarn "*** ATTENTION! IMPORTANT! ATTENTION! IMPORTANT! ATTENTION! IMPORTANT! ***" > ewarn > ebeep 10 > epause 20 > > ewarn > ewarn "*** NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! ***" > ewarn > ewarn "Support for the bacula all-in-one init script has been removed from" > ewarn "this release -- if you were previously using the all-in-one init" > ewarn "script, please switch to using the individual init scripts now:" > ewarn > ewarn "- bacula-dir: bacula director (for the central bacula server)" > ewarn "- bacula-fd: bacula file daemon (for hosts to be backed up)" > ewarn "- bacula-sd: bacula storage daemon (for hosts storing the backup data)" > ewarn > ewarn "*** NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! NOTICE! ***" > ewarn > ebeep 5 > epause 10 >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 297896
: 235297