# $Id: Portfile 58288 2009-09-25 04:39:36Z ryandesign@macports.org $

PortSystem		1.0

name			bugzilla
version			2.22.3
revision		1
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:mysql4 \
			path:bin/perl:perl5 \
			port:p5-appconfig \
			port:p5-timedate \
			port:p5-dbi \
			port:p5-dbd-mysql \
			port:p5-xml-parser \
			port:p5-patchreader \
			port:p5-gd \
			port:p5-gdtextutil \
			port:p5-gdgraph \
			port:p5-chart \
			port:p5-template-toolkit \
			port:p5-mime-tools \
			port:patchutils \
			port:p5-perl-ldap \
			port:p5-xml-twig

variant mysql5 description "Use mysql5 instead of mysql4" {
                        depends_lib-delete   port:mysql4
                        depends_lib-append   path:bin/mysql_config5: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/perl%" ${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 {$env(USER) != "root"} {
		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 {$env(USER) == "root"} {
		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
	}
}

post-install {
	ui_msg "-----------------------------------------------------------"
	ui_msg "To complete the installation of ${name}, you should read"
	ui_msg "the quick start document found here:"
	ui_msg ""
	ui_msg "  ${prefix}/share/doc/${name}/QUICKSTART"
	ui_msg ""
	ui_msg "For step 4, the ${name} configuration file can be"
	ui_msg "found here:"
	ui_msg ""
	ui_msg "  ${prefix}/www/${name}/localconfig"
	ui_msg ""
	ui_msg "For the rest of the steps, the main ${name} directory"
	ui_msg "can be found here (needed for step 7):"
	ui_msg ""
	ui_msg "  ${prefix}/www/${name}"
	ui_msg "-----------------------------------------------------------"
}

