# $Id: Portfile 91643 2012-04-07 02:19:15Z ryandesign@macports.org $

PortSystem		1.0

name			bugzilla
version			2.22.3
revision		3
categories		devel www databases
maintainers		nomaintainer
platforms               darwin
description		popular and extensive bug-tracking system
long_description	Bugzilla is a Defect Tracking System or \
					Bug-Tracking System. Defect Tracking Systems allow \
					individual or groups of developers to keep track of \
					outstanding bugs in their product effectively. Most \
					commercial defect-tracking software vendors charge \
					enormous licensing fees. Despite being free, \
					Bugzilla has many features its expensive \
					counterparts lack. Consequently, Bugzilla has \
					quickly become a favorite of hundreds of \
					organizations across the globe.

homepage		http://www.bugzilla.org/
master_sites	        http://ftp.mozilla.org/pub/mozilla.org/webtools/ \
			ftp://ftp.mozilla.org/pub/mozilla.org/webtools/

checksums               md5     871044e9ef0b5ea523408b66dbe4c5ae \
                        sha1    461d1a754cdc4a9e26fc6936c48fbd7cf71fab14 \
                        rmd160  787f84e343297b1a8caee8310354e01f7c8cc2f8

depends_lib		port:apache2 \
			port:perl5.12 \
			port:p5.12-appconfig \
			port:p5.12-timedate \
			port:p5.12-dbi \
			port:p5.12-dbd-mysql \
			port:p5.12-xml-parser \
			port:p5.12-patchreader \
			port:p5.12-gd \
			port:p5.12-gdtextutil \
			port:p5.12-gdgraph \
			port:p5.12-chart \
			port:p5.12-template-toolkit \
			port:p5.12-mime-tools \
			port:patchutils \
			port:p5.12-perl-ldap \
			port:p5.12-xml-twig

variant mysql4 conflicts mysql5 description "Use mysql4 database" {
                depends_lib-append   port:mysql4
}
variant mysql5 conflicts mysql4 description "Use mysql5 database" {
                depends_lib-append   path:bin/mysql_config5:mysql5
}
if {![variant_isset mysql4]} {
    default_variants +mysql5
}

patchfiles		patch-checksetup.pl
post-patch {
	foreach item [exec find ${worksrcpath} -type f -name .cvsignore] {
		file delete -force ${item}
	}
	foreach item [exec find ${worksrcpath} -type d -name CVS] {
		file delete -force ${item}
	}
	foreach item [glob ${worksrcpath}/*.cgi ${worksrcpath}/*.pl \
                           ${worksrcpath}/contrib/*.pl ${worksrcpath}/docs/*.pl] {
		reinplace "s%^#!.*perl%#!${prefix}/bin/perl5.12%" ${item}
	}
	foreach item [glob ${worksrcpath}/*.pl ${worksrcpath}/contrib/*.pl \
                           ${worksrcpath}/Bugzilla/*.pm ${worksrcpath}/docs/html/*.html \
                           ${worksrcpath}/docs/txt/*.txt ${worksrcpath}/docs/xml/*.xml] {
		reinplace "s%/usr/lib/sendmail%/usr/sbin/sendmail%g" ${item}
	}
}

configure.cmd		./checksetup.pl
configure.pre_args	--check-modules

build.cmd		./checksetup.pl
build.target

destroot {
	# Warn user if not running as root
	if {[geteuid] != 0} {
		ui_msg "-----------------------------------------------------------"
		ui_msg "Note that you are not running as root, so files installed"
		ui_msg "by this port will not end up with proper ownership and"
		ui_msg "likely not work correctly with Apache."
		ui_msg "-----------------------------------------------------------"
	}

	set wwwRoot "${prefix}/www"
	xinstall -d -m 0755 ${destroot}${wwwRoot}
	ui_info "copying ${worksrcpath}\n     to ${destroot}${wwwRoot}/${name}"
	system "cp -R ${worksrcpath}/. ${destroot}${wwwRoot}/${name}"
	# Fix owner and group on installed data
	if {[geteuid] == 0} {
		foreach item [exec find ${destroot}${wwwRoot}/${name} -type f] {
			file attributes ${item} -permissions go+r -owner www -group www
		}
		foreach item [exec find ${destroot}${wwwRoot}/${name} -type d] {
			file attributes ${item} -permissions go+rx -owner www -group www
		}
	} else {
		foreach item [exec find ${destroot}${wwwRoot}/${name} -type f] {
			file attributes ${item} -permissions go+r
		}
		foreach item [exec find ${destroot}${wwwRoot}/${name} -type d] {
			file attributes ${item} -permissions go+rx
		}
	}

	set docPath "${prefix}/share/doc/${name}"
	xinstall -d -m 0755 ${destroot}${docPath}
	xinstall -m 0644 \
		${worksrcpath}/README ${worksrcpath}/QUICKSTART \
                ${worksrcpath}/UPGRADING \
                ${worksrcpath}/UPGRADING-pre-2.8 \
		${destroot}${docPath}/
	ui_info "copying docs\n     to ${destroot}${docPath}/guide"
	system "cp -R ${worksrcpath}/docs ${destroot}${docPath}/guide"
	foreach item [exec find ${destroot}${docPath}/guide -type f] {
		file attributes ${item} -permissions go+r
	}
	foreach item [exec find ${destroot}${docPath}/guide -type d] {
		file attributes ${item} -permissions go+rx
	}
}

notes "
To complete the installation of ${name}, you should read the quick start\
document found here:

    ${prefix}/share/doc/${name}/QUICKSTART

For step 4, the ${name} configuration file can be found here:

    ${prefix}/www/${name}/localconfig

For the rest of the steps, the main ${name} directory can be found here\
(needed for step 7):

    ${prefix}/www/${name}
"
