git: 62f7d964a1f3 - main - devel/bugzilla52: new port for the latest supported version.

From: Mark Linimon <linimon_at_FreeBSD.org>
Date: Mon, 14 Apr 2025 18:50:03 UTC
The branch main has been updated by linimon:

URL: https://cgit.FreeBSD.org/ports/commit/?id=62f7d964a1f3cfef0a188259171e01ebd9fb98d2

commit 62f7d964a1f3cfef0a188259171e01ebd9fb98d2
Author:     Mark Linimon <linimon@FreeBSD.org>
AuthorDate: 2025-04-14 18:48:35 +0000
Commit:     Mark Linimon <linimon@FreeBSD.org>
CommitDate: 2025-04-14 18:49:59 +0000

    devel/bugzilla52: new port for the latest supported version.
    
    Sponsored by:   The FreeBSD Foundation
    PR:             284304
---
 devel/Makefile                        |   1 +
 devel/bugzilla52/Makefile             | 150 +++++++
 devel/bugzilla52/Makefile.common      |  16 +
 devel/bugzilla52/Makefile.options     |  88 ++++
 devel/bugzilla52/distinfo             |   3 +
 devel/bugzilla52/files/patch-PR207213 |  62 +++
 devel/bugzilla52/files/patch-PR250699 |  12 +
 devel/bugzilla52/files/patch-PR619847 |  44 ++
 devel/bugzilla52/files/patch-whine.pl |  28 ++
 devel/bugzilla52/files/pkg-message.in |  43 ++
 devel/bugzilla52/pkg-descr            |  20 +
 devel/bugzilla52/pkg-plist            | 746 ++++++++++++++++++++++++++++++++++
 12 files changed, 1213 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 2817106f5361..bd51f64150e0 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -345,6 +345,7 @@
     SUBDIR += buf
     SUBDIR += bugzilla44
     SUBDIR += bugzilla50
+    SUBDIR += bugzilla52
     SUBDIR += build
     SUBDIR += build2
     SUBDIR += buildkite-agent
diff --git a/devel/bugzilla52/Makefile b/devel/bugzilla52/Makefile
new file mode 100644
index 000000000000..d312a775eaae
--- /dev/null
+++ b/devel/bugzilla52/Makefile
@@ -0,0 +1,150 @@
+PORTNAME=	bugzilla
+PORTVERSION=	5.2
+CATEGORIES=	devel
+MASTER_SITES=	MOZILLA/webtools/bugzilla/5.2-branch
+
+MAINTAINER=	bz-ports@FreeBSD.org
+COMMENT=	Bug-tracking system developed by Mozilla Project
+WWW=		https://www.bugzilla.org/
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+# see Bugzilla/Install/Requirements.pm
+# FreeBSD PR 194782: silence Module::Pluggable deprecated warnings
+# FreeBSD PR 196060,196100: explicitly depend on textproc/p5-Text-Tabv
+RUN_DEPENDS=	\
+		p5-CGI>=3.51:www/p5-CGI \
+		p5-Class-XSAccessor>0:devel/p5-Class-XSAccessor \
+		p5-DBI>=1.614:databases/p5-DBI \
+		p5-DateTime-TimeZone>=1.64:devel/p5-DateTime-TimeZone \
+		p5-DateTime>=0.75:devel/p5-DateTime \
+		p5-Digest-SHA>=0:security/p5-Digest-SHA \
+		p5-Email-MIME>=1.904:mail/p5-Email-MIME \
+		p5-Email-Sender>=1.300011:mail/p5-Email-Sender \
+		p5-Encode-Detect>=0:converters/p5-Encode-Detect \
+		p5-JSON-XS>=2.01:converters/p5-JSON-XS \
+		p5-List-MoreUtils>=0.32:lang/p5-List-MoreUtils \
+		p5-Math-Random-ISAAC>=1.001:math/p5-Math-Random-ISAAC \
+		p5-Module-Pluggable>=5.1:devel/p5-Module-Pluggable \
+		p5-Template-Toolkit>=3.008:www/p5-Template-Toolkit \
+		p5-Text-Tabs+Wrap>=2013.0523:textproc/p5-Text-Tabs+Wrap \
+		p5-TimeDate>=2.23:devel/p5-TimeDate \
+		p5-URI>=1.55:net/p5-URI
+
+USES=		cpe perl5
+USE_PERL5=	run
+
+CPE_VENDOR=	mozilla
+
+SUB_FILES=	pkg-message
+
+DATA_DIRS_LIST=	images js skins
+
+# checksetup will fail if these directories are not present!
+EMPTY_DIRS_LIST=data graphs contrib lib t xt
+
+.include "${.CURDIR}/Makefile.common"
+.include "${.CURDIR}/Makefile.options"
+
+MODPERL_USES=		apache:run
+MYSQL_USES=		mysql
+MYSQL_RUN_DEPENDS=	${DBD_MYSQL}
+PGSQL_USES=		pgsql:11+
+PGSQL_RUN_DEPENDS=	p5-DBD-Pg>=3.4.2:databases/p5-DBD-Pg
+SQLITE_USES=		sqlite
+SQLITE_RUN_DEPENDS=	p5-DBD-SQLite>=1.29:databases/p5-DBD-SQLite \
+			sqlite3>=3:databases/sqlite3
+GRAPH_REPORTS_RUN_DEPENDS=	p5-GD>=1.20:graphics/p5-GD \
+				p5-GD-Graph>=0:graphics/p5-GD-Graph \
+				p5-GD-TextUtil>=0:graphics/p5-GD-TextUtil \
+				p5-Template-GD>=0:www/p5-Template-GD
+CHARTING_MODULES_RUN_DEPENDS=	p5-Chart>=2.4.10:graphics/p5-Chart
+PATCH_VIEWER_RUN_DEPENDS=	p5-PatchReader>=0.9.6:devel/p5-PatchReader \
+				interdiff:misc/patchutils
+MORE_HTML_RUN_DEPENDS=	p5-HTML-Parser>=3.67:www/p5-HTML-Parser \
+			p5-HTML-Scrubber>=0:www/p5-HTML-Scrubber
+INBOUND_EMAIL_RUN_DEPENDS=	p5-Email-MIME-Attachment-Stripper>=0:mail/p5-Email-MIME-Attachment-Stripper \
+				p5-Email-Reply>=0:mail/p5-Email-Reply \
+				p5-HTML-FormatText-WithLinks>=0.13:textproc/p5-HTML-FormatText-WithLinks
+MAIL_QUEUEING_RUN_DEPENDS=	p5-TheSchwartz>=1.10:devel/p5-TheSchwartz \
+				p5-Daemon-Generic>=0:net/p5-Daemon-Generic
+MOVE_BUGZ_RUN_DEPENDS=	p5-MIME-Tools>=5.406:mail/p5-MIME-Tools \
+			p5-XML-Twig>=0:textproc/p5-XML-Twig
+BMP2PNG_USES=		magick:6,run
+# Note: XML-RPC and JSON-RPC are deprecated in favor of REST
+# and will likely be removed in the Bugzilla 7.0 release.
+# XXX SOAP::Lite can be removed if upstream officially depends on
+# XMLRPC::Lite>=0.717, see Bugzilla/Install/Requirements.pm
+XMLRPC_RUN_DEPENDS=	p5-Test-Taint>=1.06:devel/p5-Test-Taint \
+			p5-XMLRPC-Lite>=0.712:net/p5-XMLRPC-Lite \
+			p5-SOAP-Lite>=0.712:net/p5-SOAP-Lite
+JSONRPC_RUN_DEPENDS=	p5-Test-Taint>=1.06:devel/p5-Test-Taint \
+			p5-JSON-RPC>=0:devel/p5-JSON-RPC
+REST_RUN_DEPENDS=	p5-Test-Taint>=1.06:devel/p5-Test-Taint \
+			p5-JSON-RPC>=0:devel/p5-JSON-RPC
+MODPERL_BROKEN=		${PORTVERSION} now requires Apache::SizeLimit, which \
+			has not yet been ported to FreeBSD
+MODPERL_RUN_DEPENDS=	${APACHE_PKGNAMEPREFIX}mod_perl2>=0:www/mod_perl2 \
+			p5-Apache-DBI>=0:www/p5-Apache-DBI
+GRAPHVIZ_RUN_DEPENDS=	dot:graphics/graphviz
+EXPORT_IMPORT_RUN_DEPENDS=	p5-XML-Parser>=0:textproc/p5-XML-Parser \
+				p5-XML-Twig>=0:textproc/p5-XML-Twig
+LDAP_RUN_DEPENDS=	p5-perl-ldap>=0:net/p5-perl-ldap
+RADIUS_RUN_DEPENDS=	p5-Authen-Radius>=0:security/p5-Authen-Radius
+SMTP_AUTH_BROKEN=	${PORTVERSION} now requires Net::SMTP, which \
+			has not yet been ported to FreeBSD
+SMTP_AUTH_RUN_DEPENDS=	p5-Authen-SASL>=2.16:security/p5-Authen-SASL
+MIME_SNIFF_RUN_DEPENDS=	p5-File-MimeInfo>=0.16:devel/p5-File-MimeInfo \
+			p5-IO-Stringy>=2.110:devel/p5-IO-Stringy
+MEMCACHED_RUN_DEPENDS=	p5-Cache-Memcached>=1.30:databases/p5-Cache-Memcached
+
+.include <bsd.port.options.mk>
+
+post-extract:
+# The docs_urlbase parameter has been removed. If documentation has not been
+# compiled locally, the "Help" links and other documentation links will
+# redirect to bugzilla.readthedocs.org automatically.
+	${RM} -r ${WRKSRC}/docs
+	${RM} -r ${WRKSRC}/.git
+	${RM} ${WRKSRC}/.bzrignore ${WRKSRC}/.gitignore ${WRKSRC}/.gitrev \
+		${WRKSRC}/.travis.yml ${WRKSRC}/Build.PL ${WRKSRC}/MANIFEST.SKIP
+
+post-patch:
+	${REINPLACE_CMD} -e 's/apache/www/' ${WRKSRC}/Bugzilla/Install/Localconfig.pm
+	${REINPLACE_CMD} -e 's|/opt/bugzilla|${WWWDIR}|' ${WRKSRC}/importxml.pl
+	${FIND} ${WRKSRC} -type f \( -name \*.cgi -o -name \*.pl -o -name \*.pm -o -name \*.t \) \
+		-exec ${SED} -i '' -e "s=/usr/bin/perl=${PERL}=g; \
+			s!/usr/lib/sendmail!/usr/sbin/sendmail!g;" {} \+
+
+.if ${PORT_OPTIONS:MPGSQL} && ! ${PORT_OPTIONS:MMYSQL}
+	${REINPLACE_CMD} -e "s/'mysql'/'Pg'/" ${WRKSRC}/Bugzilla/Install/Localconfig.pm
+.endif
+
+pre-install:
+	${FIND} ${WRKSRC} -type f \( -name "*.orig" -or -name "*.bak" \) -delete
+
+do-install:	.SILENT
+	@${MKDIR} ${STAGEDIR}${WWWDIR}
+	${FIND} ${WRKSRC} \! -type d -maxdepth 1 \! -name "UPGRADING*" -exec \
+		${INSTALL_SCRIPT} {} ${STAGEDIR}${WWWDIR} \;
+	@${MKDIR} ${DATA_DIRS_LIST:S!^!${STAGEDIR}${WWWDIR}/!}
+.for D in ${DATA_DIRS_LIST}
+	(cd ${WRKSRC}/${D} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/${D})
+.endfor
+	${TAR} -C ${WRKSRC} -cf - Bugzilla template | ${TAR} --unlink -C ${STAGEDIR}${WWWDIR} -xf -
+	@${MKDIR} ${EMPTY_DIRS_LIST:S!^!${STAGEDIR}${WWWDIR}/!}
+
+do-install-CONTRIB-on:
+	@${MKDIR} ${STAGEDIR}${WWWDIR}/contrib
+	(cd ${WRKSRC}/contrib && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/contrib)
+
+do-install-MOREBUGURL-on:
+	@${MKDIR} ${STAGEDIR}${WWWDIR}/extensions/MoreBugUrl
+	(cd ${WRKSRC}/extensions/MoreBugUrl && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/extensions/MoreBugUrl)
+
+do-install-VOTING-on:
+	@${MKDIR} ${STAGEDIR}${WWWDIR}/extensions/Voting
+	(cd ${WRKSRC}/extensions/Voting && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/extensions/Voting)
+
+.include <bsd.port.mk>
diff --git a/devel/bugzilla52/Makefile.common b/devel/bugzilla52/Makefile.common
new file mode 100644
index 000000000000..1c02969ba260
--- /dev/null
+++ b/devel/bugzilla52/Makefile.common
@@ -0,0 +1,16 @@
+DIST_SUBDIR=	${PORTNAME}
+PKGNAMESUFFIX=	52
+
+CONFLICTS_INSTALL=	\
+		bugzilla50* \
+		bugzilla4*
+
+PORTSCOUT=	limitw:1,even
+
+WWWDIR=		${PREFIX}/www/bugzilla
+
+BINMODE=	700
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
diff --git a/devel/bugzilla52/Makefile.options b/devel/bugzilla52/Makefile.options
new file mode 100644
index 000000000000..4a8370ce6f2f
--- /dev/null
+++ b/devel/bugzilla52/Makefile.options
@@ -0,0 +1,88 @@
+OPTIONS_SUB=	yes
+OPTIONS_DEFINE=		\
+	MODPERL
+
+OPTIONS_GROUP=	UI DBBACKEND REPORTING ATTACHMENT EMAIL WEBSERVICE AUTH ADMIN EXTENSIONS
+
+OPTIONS_GROUP_ADMIN=	\
+	MOVE_BUGZ	\
+	EXPORT_IMPORT	\
+	CONTRIB
+
+OPTIONS_GROUP_ATTACHMENT=\
+	BMP2PNG		\
+	MIME_SNIFF
+
+OPTIONS_GROUP_AUTH=	\
+	LDAP		\
+	RADIUS
+
+OPTIONS_GROUP_DBBACKEND= \
+	MYSQL		\
+	PGSQL		\
+	SQLITE		\
+	MEMCACHED
+
+OPTIONS_GROUP_EMAIL= 	\
+	INBOUND_EMAIL	\
+	MAIL_QUEUEING	\
+	SMTP_AUTH
+
+OPTIONS_GROUP_REPORTING= \
+	GRAPHVIZ	\
+	GRAPH_REPORTS	\
+	CHARTING_MODULES
+
+OPTIONS_GROUP_WEBSERVICE= \
+	XMLRPC		\
+	JSONRPC		\
+	REST
+
+OPTIONS_GROUP_UI= 	\
+	PATCH_VIEWER	\
+	MORE_HTML
+
+OPTIONS_GROUP_EXTENSIONS=\
+	MOREBUGURL	\
+	VOTING
+
+OPTIONS_DEFAULT=	\
+	CHARTING_MODULES\
+	CONTRIB		\
+	GRAPH_REPORTS	\
+	MORE_HTML	\
+	PATCH_VIEWER
+
+# Note: XML-RPC and JSON-RPC are deprecated in favor of REST and 
+# will likely be removed in the Bugzilla 7.0 release. 
+BMP2PNG_DESC=		BMP Attachments to PNGs
+CHARTING_MODULES_DESC=	Bug charting support
+CONTRIB_DESC=		Install user-contributed scripts
+EXPORT_IMPORT_DESC=	Import/export bugs (via XML)
+GRAPH_REPORTS_DESC=	Graphical Reports
+INBOUND_EMAIL_DESC=	Inbound Email
+JSONRPC_DESC=		JSON-RPC Interface
+MAIL_QUEUEING_DESC=	Mail Queueing
+MIME_SNIFF_DESC=	Sniff MIME type of attachments
+MORE_HTML_DESC=		More HTML in Product/Group Descriptions
+MOVE_BUGZ_DESC=		Move Bugs Between Installations
+PATCH_VIEWER_DESC=	Patch Viewer
+REST_DESC=		REST Interface
+SMTP_AUTH_DESC=		SMTP Authentication
+XMLRPC_DESC=		XML-RPC Interface
+MEMCACHED_DESC=		Memcached Support
+
+# Option group description
+ADMIN_DESC=		Administration
+ATTACHMENT_DESC=	Attachment handling
+AUTH_DESC=		Alternative Authentication
+DBBACKEND_DESC=		Database Engine
+EMAIL_DESC=		Email handling
+REPORTING_DESC= 	Reports and Charts
+WEBSERVICE_DESC=	Web Services
+EXTENSIONS_DESC=	Extensions
+
+# Extensions
+MOREBUGURL_DESC=	See Also Extensions
+VOTING_DESC=		Bug Voting Extension
+
diff --git a/devel/bugzilla52/distinfo b/devel/bugzilla52/distinfo
new file mode 100644
index 000000000000..6a86ca6886e0
--- /dev/null
+++ b/devel/bugzilla52/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1736053912
+SHA256 (bugzilla/bugzilla-5.2.tar.gz) = 6a2d66352456695fcdd1d0d7a9afe62fc2a94cc6217ebccc2b9b474d5c047b74
+SIZE (bugzilla/bugzilla-5.2.tar.gz) = 85692063
diff --git a/devel/bugzilla52/files/patch-PR207213 b/devel/bugzilla52/files/patch-PR207213
new file mode 100644
index 000000000000..c33ca7b2b164
--- /dev/null
+++ b/devel/bugzilla52/files/patch-PR207213
@@ -0,0 +1,62 @@
+--- extensions/MoreBugUrl/Extension.pm.orig	2024-09-03 14:36:48 UTC
++++ extensions/MoreBugUrl/Extension.pm
+@@ -23,6 +23,7 @@ use constant MORE_SUB_CLASSES => qw(
+   Bugzilla::Extension::MoreBugUrl::Redmine
+   Bugzilla::Extension::MoreBugUrl::Savane
+   Bugzilla::Extension::MoreBugUrl::WineHQForums
++  Bugzilla::Extension::MoreBugUrl::Phabricator
+ );
+ 
+ # We need to update bug_see_also table because both
+--- extensions/MoreBugUrl/lib/Phabricator.pm.orig	2025-01-08 00:36:56 UTC
++++ extensions/MoreBugUrl/lib/Phabricator.pm
+@@ -0,0 +1,41 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++#
++# This Source Code Form is "Incompatible With Secondary Licenses", as
++# defined by the Mozilla Public License, v. 2.0.
++
++package Bugzilla::Extension::MoreBugUrl::Phabricator;
++
++use 5.10.1;
++use strict;
++use warnings;
++
++use parent qw(Bugzilla::BugUrl);
++
++###############################
++####        Methods        ####
++###############################
++
++sub should_handle {
++    my ($class, $uri) = @_;
++    return ($uri->path =~ m|^/T\d+$|) ? 1 : 0;
++}
++
++sub _check_value {
++    my $class = shift;
++
++    my $uri = $class->SUPER::_check_value(@_);
++
++    # Phabricator URLs have only one form:
++    #   http://example.com/T111
++
++    # Make sure there are no query parameters.
++    $uri->query(undef);
++    # And remove any # part if there is one.
++    $uri->fragment(undef);
++
++    return $uri;
++}
++
++1;
+--- extensions/MoreBugUrl/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl.orig	2024-09-03 14:36:48 UTC
++++ extensions/MoreBugUrl/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl
+@@ -14,4 +14,5 @@
+ <li>A b[% %]ug on b[% %]ugs.php.net.</li>
+ <li>An issue in a Redmine installation.</li>
+ <li>A b[% %]ug in a Savane installation.</li>
++<li>A task in a Phabricator installation.</li>
+ <li>A b[% %]ug related topic on WineHQ forums</li>
diff --git a/devel/bugzilla52/files/patch-PR250699 b/devel/bugzilla52/files/patch-PR250699
new file mode 100644
index 000000000000..35befe1b9077
--- /dev/null
+++ b/devel/bugzilla52/files/patch-PR250699
@@ -0,0 +1,12 @@
+# Upstream pull request: https://github.com/bugzilla/bugzilla/pull/204
+--- js/field.js.orig	2025-01-07 00:48:14 UTC
++++ js/field.js
+@@ -1078,7 +1078,7 @@ function show_comment_preview(bug_id) {
+         method: 'Bug.render_comment',
+         params: {
+             Bugzilla_api_token: BUGZILLA.api_token,
+-            id: bug_id,
++            id: bug_id ? bug_id : 1,
+             text: comment.value
+         }
+     })
diff --git a/devel/bugzilla52/files/patch-PR619847 b/devel/bugzilla52/files/patch-PR619847
new file mode 100644
index 000000000000..afa1dae2c7fc
--- /dev/null
+++ b/devel/bugzilla52/files/patch-PR619847
@@ -0,0 +1,44 @@
+--- attachment.cgi	2025-01-05 18:54:59.905718000 +0000
++++ /home/linimon/attachment.cgi.merged	2025-01-05 18:54:30.147293000 +0000
+@@ -25,8 +25,8 @@
+ use Bugzilla::Attachment::PatchReader;
+ use Bugzilla::Token;
+ 
+-use Encode qw(encode find_encoding);
+-use Encode::MIME::Header;    # Required to alter Encode::Encoding{'MIME-Q'}.
++use Encode qw(find_encoding);
++use URI::Escape qw(uri_escape_utf8);
+ 
+ # For most scripts we don't make $cgi and $template global variables. But
+ # when preparing Bugzilla for mod_perl, this script used these
+@@ -349,10 +349,8 @@
+   $filename =~ s/\\/\\\\/g;    # escape backslashes
+   $filename =~ s/"/\\"/g;      # escape quotes
+ 
+-  # Avoid line wrapping done by Encode, which we don't need for HTTP
+-  # headers. See discussion in bug 328628 for details.
+-  local $Encode::Encoding{'MIME-Q'}->{'bpl'} = 10000;
+-  $filename = encode('MIME-Q', $filename);
++  # Follow RFC 6266 section 4.1 (which itself points to RFC 5987 section 3.2)
++  $filename = uri_escape_utf8($filename);
+ 
+   my $disposition
+     = Bugzilla->params->{'allow_attachment_display'} ? 'inline' : 'attachment';
+@@ -372,10 +370,14 @@
+       }
+     }
+   }
++
++  # IE8 and older do not support RFC 6266. So for these old browsers
++  # we still pass the old 'filename' attribute. Modern browsers will
++  # automatically pick the new 'filename*' attribute.
+   print $cgi->header(
+-    -type                => "$contenttype; name=\"$filename\"",
+-    -content_disposition => "$disposition; filename=\"$filename\"",
+-    -content_length      => $attachment->datasize
++    -type=> $contenttype,
++    -content_disposition=> "$disposition; filename=\"$filename\"; filename*=UTF-8''$filename",
++    -content_length => $attachment->datasize
+   );
+   disable_utf8();
+   print $attachment->data;
diff --git a/devel/bugzilla52/files/patch-whine.pl b/devel/bugzilla52/files/patch-whine.pl
new file mode 100644
index 000000000000..ccf6ee998def
--- /dev/null
+++ b/devel/bugzilla52/files/patch-whine.pl
@@ -0,0 +1,28 @@
+# Bug 1235395 - whine.pl broken due to a missing generate_email() routine
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1235395
+# Status: Upstreamed, pending next release
+
+--- whine.pl.orig	2024-09-03 14:36:48 UTC
++++ whine.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -T
++#!/usr/local/bin/perl -T
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+@@ -13,14 +13,13 @@ use warnings;
+ use 5.14.0;
+ use strict;
+ use warnings;
+-
+ use lib qw(. lib);
+ 
+ use Bugzilla;
+ use Bugzilla::Constants;
+ use Bugzilla::Search;
+ use Bugzilla::User;
+-use Bugzilla::Mailer;
++use Bugzilla::Mailer qw(MessageToMTA generate_email);
+ use Bugzilla::Util;
+ use Bugzilla::Group;
+ 
diff --git a/devel/bugzilla52/files/pkg-message.in b/devel/bugzilla52/files/pkg-message.in
new file mode 100644
index 000000000000..961d97fe86a7
--- /dev/null
+++ b/devel/bugzilla52/files/pkg-message.in
@@ -0,0 +1,43 @@
+[
+{ type: install
+  message: <<EOM
+  Bugzilla has now been installed.  To quick setup you have to:
+
+  1. Create database user who has rights on bugs database manipulation
+     by following mysql commands (for MySQL 4.0 or later):
+
+     GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
+           CREATE TEMPORARY TABLES, DROP, REFERENCES
+	   ON <database>.* TO <dbuser>@<host>
+	   IDENTIFIED BY '<password>';
+     FLUSH PRIVILEGES;
+
+     where <database> is a bugs database name; <dbuser> is a bugs database
+           owner; <host> is a host there bugzilla is being setup;
+           <password> is a database owner's password;
+
+  2. Change working directory to %%WWWDIR%%
+  3. Run "./checksetup.pl" script as root user
+  4. Read output carefully and follow all instructions
+
+  For more complete database setup and post-installation instructions
+  and security tips/notes please read "Bugzilla Guide" in
+  %%DOCSDIR%%/en/html/ (chapter 2: "Installing Bugzilla")
+EOM
+}
+{ type: install
+  message: <<EOM
+For upgrades:
+  0. Back up your data.
+
+  1. Run the command inside %%WWWDIR%%
+      find . -mindepth 2 -name .htaccess -exec rm -f {} \;
+
+  2. Run "./checksetup.pl" inside %%WWWDIR%%.  You may need to
+     run it several times.
+
+  3. Restart your Web server, especially if you're using mod_perl: this
+     will save you from a number of troubles.
+EOM
+}
+]
diff --git a/devel/bugzilla52/pkg-descr b/devel/bugzilla52/pkg-descr
new file mode 100644
index 000000000000..536f2cd95087
--- /dev/null
+++ b/devel/bugzilla52/pkg-descr
@@ -0,0 +1,20 @@
+Bugzilla is one example of a class of programs called "Defect Tracking
+Systems", or, more commonly, "Bug-Tracking Systems". Defect Tracking
+Systems allow individual or groups of developers to keep track of
+outstanding bugs in their product effectively.
+
+Bugzilla has matured immensely, and now boasts many advanced features.
+These include:
+
+  * integrated, product-based granular security schema
+  * inter-bug dependencies and dependency graphing
+  * advanced reporting capabilities
+  * a robust, stable RDBMS back-end
+  * extensive configurability
+  * a very well-understood and well-thought-out natural bug resolution
+    protocol
+  * email, XML, console, and HTTP APIs
+  * available integration with automated software configuration
+    management systems, including Perforce and CVS (through the
+    Bugzilla email interface and checkin/checkout scripts)
+  * too many more features to list
diff --git a/devel/bugzilla52/pkg-plist b/devel/bugzilla52/pkg-plist
new file mode 100644
index 000000000000..661bcac9e050
--- /dev/null
+++ b/devel/bugzilla52/pkg-plist
@@ -0,0 +1,746 @@
+%%WWWDIR%%/.htaccess
+%%WWWDIR%%/Bugzilla.pm
+%%WWWDIR%%/Bugzilla/Attachment.pm
+%%WWWDIR%%/Bugzilla/Attachment/PatchReader.pm
+%%WWWDIR%%/Bugzilla/Auth.pm
+%%WWWDIR%%/Bugzilla/Auth/Login.pm
+%%WWWDIR%%/Bugzilla/Auth/Login/APIKey.pm
+%%WWWDIR%%/Bugzilla/Auth/Login/CGI.pm
+%%WWWDIR%%/Bugzilla/Auth/Login/Cookie.pm
+%%WWWDIR%%/Bugzilla/Auth/Login/Env.pm
+%%WWWDIR%%/Bugzilla/Auth/Login/Stack.pm
+%%WWWDIR%%/Bugzilla/Auth/Persist/Cookie.pm
+%%WWWDIR%%/Bugzilla/Auth/Verify.pm
+%%WWWDIR%%/Bugzilla/Auth/Verify/DB.pm
+%%WWWDIR%%/Bugzilla/Auth/Verify/LDAP.pm
+%%WWWDIR%%/Bugzilla/Auth/Verify/RADIUS.pm
+%%WWWDIR%%/Bugzilla/Auth/Verify/Stack.pm
+%%WWWDIR%%/Bugzilla/Bug.pm
+%%WWWDIR%%/Bugzilla/BugMail.pm
+%%WWWDIR%%/Bugzilla/BugUrl.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Bugzilla.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Bugzilla/Local.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Debian.pm
+%%WWWDIR%%/Bugzilla/BugUrl/GitHub.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Google.pm
+%%WWWDIR%%/Bugzilla/BugUrl/JIRA.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Launchpad.pm
+%%WWWDIR%%/Bugzilla/BugUrl/MantisBT.pm
+%%WWWDIR%%/Bugzilla/BugUrl/SourceForge.pm
+%%WWWDIR%%/Bugzilla/BugUrl/Trac.pm
+%%WWWDIR%%/Bugzilla/BugUserLastVisit.pm
+%%WWWDIR%%/Bugzilla/CGI.pm
+%%WWWDIR%%/Bugzilla/Chart.pm
+%%WWWDIR%%/Bugzilla/Classification.pm
+%%WWWDIR%%/Bugzilla/Comment.pm
+%%WWWDIR%%/Bugzilla/Comment/TagWeights.pm
+%%WWWDIR%%/Bugzilla/Component.pm
+%%WWWDIR%%/Bugzilla/Config.pm
+%%WWWDIR%%/Bugzilla/Config/Admin.pm
+%%WWWDIR%%/Bugzilla/Config/Advanced.pm
+%%WWWDIR%%/Bugzilla/Config/Attachment.pm
+%%WWWDIR%%/Bugzilla/Config/Auth.pm
+%%WWWDIR%%/Bugzilla/Config/BugChange.pm
+%%WWWDIR%%/Bugzilla/Config/BugFields.pm
+%%WWWDIR%%/Bugzilla/Config/Common.pm
+%%WWWDIR%%/Bugzilla/Config/Core.pm
+%%WWWDIR%%/Bugzilla/Config/DependencyGraph.pm
+%%WWWDIR%%/Bugzilla/Config/General.pm
+%%WWWDIR%%/Bugzilla/Config/GroupSecurity.pm
+%%WWWDIR%%/Bugzilla/Config/LDAP.pm
+%%WWWDIR%%/Bugzilla/Config/MTA.pm
+%%WWWDIR%%/Bugzilla/Config/Memcached.pm
+%%WWWDIR%%/Bugzilla/Config/Query.pm
+%%WWWDIR%%/Bugzilla/Config/RADIUS.pm
+%%WWWDIR%%/Bugzilla/Config/ShadowDB.pm
+%%WWWDIR%%/Bugzilla/Config/UserMatch.pm
+%%WWWDIR%%/Bugzilla/Constants.pm
+%%WWWDIR%%/Bugzilla/DB.pm
+%%WWWDIR%%/Bugzilla/DB/Mysql.pm
+%%WWWDIR%%/Bugzilla/DB/Oracle.pm
+%%WWWDIR%%/Bugzilla/DB/Pg.pm
+%%WWWDIR%%/Bugzilla/DB/Schema.pm
+%%WWWDIR%%/Bugzilla/DB/Schema/Mysql.pm
+%%WWWDIR%%/Bugzilla/DB/Schema/Oracle.pm
+%%WWWDIR%%/Bugzilla/DB/Schema/Pg.pm
+%%WWWDIR%%/Bugzilla/DB/Schema/Sqlite.pm
+%%WWWDIR%%/Bugzilla/DB/Sqlite.pm
+%%WWWDIR%%/Bugzilla/Error.pm
+%%WWWDIR%%/Bugzilla/Extension.pm
+%%WWWDIR%%/Bugzilla/Field.pm
+%%WWWDIR%%/Bugzilla/Field/Choice.pm
+%%WWWDIR%%/Bugzilla/Field/ChoiceInterface.pm
+%%WWWDIR%%/Bugzilla/Flag.pm
+%%WWWDIR%%/Bugzilla/FlagType.pm
+%%WWWDIR%%/Bugzilla/Group.pm
+%%WWWDIR%%/Bugzilla/Hook.pm
+%%WWWDIR%%/Bugzilla/Install.pm
+%%WWWDIR%%/Bugzilla/Install/CPAN.pm
+%%WWWDIR%%/Bugzilla/Install/DB.pm
+%%WWWDIR%%/Bugzilla/Install/Filesystem.pm
+%%WWWDIR%%/Bugzilla/Install/Localconfig.pm
+%%WWWDIR%%/Bugzilla/Install/Requirements.pm
+%%WWWDIR%%/Bugzilla/Install/Util.pm
+%%WWWDIR%%/Bugzilla/Job/BugMail.pm
+%%WWWDIR%%/Bugzilla/Job/Mailer.pm
+%%WWWDIR%%/Bugzilla/JobQueue.pm
+%%WWWDIR%%/Bugzilla/JobQueue/Runner.pm
+%%WWWDIR%%/Bugzilla/Keyword.pm
+%%WWWDIR%%/Bugzilla/MIME.pm
+%%WWWDIR%%/Bugzilla/Mailer.pm
+%%WWWDIR%%/Bugzilla/Memcached.pm
+%%WWWDIR%%/Bugzilla/Migrate.pm
+%%WWWDIR%%/Bugzilla/Migrate/Gnats.pm
+%%WWWDIR%%/Bugzilla/Milestone.pm
+%%WWWDIR%%/Bugzilla/Object.pm
+%%WWWDIR%%/Bugzilla/Product.pm
+%%WWWDIR%%/Bugzilla/RNG.pm
+%%WWWDIR%%/Bugzilla/Report.pm
+%%WWWDIR%%/Bugzilla/Search.pm
+%%WWWDIR%%/Bugzilla/Search/Clause.pm
+%%WWWDIR%%/Bugzilla/Search/ClauseGroup.pm
+%%WWWDIR%%/Bugzilla/Search/Condition.pm
+%%WWWDIR%%/Bugzilla/Search/Quicksearch.pm
+%%WWWDIR%%/Bugzilla/Search/Recent.pm
+%%WWWDIR%%/Bugzilla/Search/Saved.pm
+%%WWWDIR%%/Bugzilla/Sender/Transport/Sendmail.pm
+%%WWWDIR%%/Bugzilla/Series.pm
+%%WWWDIR%%/Bugzilla/Status.pm
+%%WWWDIR%%/Bugzilla/Template.pm
+%%WWWDIR%%/Bugzilla/Template/Context.pm
+%%WWWDIR%%/Bugzilla/Template/Plugin/Bugzilla.pm
+%%WWWDIR%%/Bugzilla/Template/Plugin/Hook.pm
+%%WWWDIR%%/Bugzilla/Token.pm
+%%WWWDIR%%/Bugzilla/Update.pm
+%%WWWDIR%%/Bugzilla/User.pm
+%%WWWDIR%%/Bugzilla/User/APIKey.pm
+%%WWWDIR%%/Bugzilla/User/Setting.pm
+%%WWWDIR%%/Bugzilla/User/Setting/Lang.pm
+%%WWWDIR%%/Bugzilla/User/Setting/Skin.pm
+%%WWWDIR%%/Bugzilla/User/Setting/Timezone.pm
+%%WWWDIR%%/Bugzilla/UserAgent.pm
+%%WWWDIR%%/Bugzilla/Util.pm
+%%WWWDIR%%/Bugzilla/Version.pm
+%%WWWDIR%%/Bugzilla/WebService.pm
+%%WWWDIR%%/Bugzilla/WebService/Bug.pm
+%%WWWDIR%%/Bugzilla/WebService/BugUserLastVisit.pm
+%%WWWDIR%%/Bugzilla/WebService/Bugzilla.pm
+%%WWWDIR%%/Bugzilla/WebService/Classification.pm
+%%WWWDIR%%/Bugzilla/WebService/Component.pm
+%%WWWDIR%%/Bugzilla/WebService/Constants.pm
+%%WWWDIR%%/Bugzilla/WebService/FlagType.pm
+%%WWWDIR%%/Bugzilla/WebService/Group.pm
+%%WWWDIR%%/Bugzilla/WebService/Product.pm
+%%WWWDIR%%/Bugzilla/WebService/README
+%%WWWDIR%%/Bugzilla/WebService/Server.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/JSONRPC.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Bug.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/BugUserLastVisit.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Classification.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Component.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/FlagType.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Group.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/Product.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/REST/Resources/User.pm
+%%WWWDIR%%/Bugzilla/WebService/Server/XMLRPC.pm
+%%WWWDIR%%/Bugzilla/WebService/User.pm
+%%WWWDIR%%/Bugzilla/WebService/Util.pm
+%%WWWDIR%%/Bugzilla/Whine.pm
+%%WWWDIR%%/Bugzilla/Whine/Query.pm
+%%WWWDIR%%/Bugzilla/Whine/Schedule.pm
+%%WWWDIR%%/LICENSE
+%%WWWDIR%%/README
+%%WWWDIR%%/admin.cgi
+%%WWWDIR%%/attachment.cgi
+%%WWWDIR%%/buglist.cgi
+%%WWWDIR%%/chart.cgi
+%%WWWDIR%%/checksetup.pl
+%%WWWDIR%%/clean-bug-user-last-visit.pl
+%%WWWDIR%%/colchange.cgi
+%%WWWDIR%%/collectstats.pl
+%%WWWDIR%%/config.cgi
+%%CONTRIB%%%%WWWDIR%%/contrib/Bugzilla.pm
+%%CONTRIB%%%%WWWDIR%%/contrib/README
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-queue.rhel
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-queue.suse
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-submit/README
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-submit/bugdata.txt
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-submit/bugzilla-submit
+%%CONTRIB%%%%WWWDIR%%/contrib/bugzilla-submit/bugzilla-submit.xml
+%%CONTRIB%%%%WWWDIR%%/contrib/bz_webservice_demo.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/bzdbcopy.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/bugcount
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/bugids
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/buglist
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/bugs
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/bugslink
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/makequery
+%%CONTRIB%%%%WWWDIR%%/contrib/cmdline/query.conf
+%%CONTRIB%%%%WWWDIR%%/contrib/console.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/convert-workflow.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/extension-convert.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/fixperms.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/jb2bz.py
+%%CONTRIB%%%%WWWDIR%%/contrib/merge-users.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/mysqld-watcher.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/new-yui.sh
+%%CONTRIB%%%%WWWDIR%%/contrib/recode.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/sendbugmail.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/sendunsentbugmail.pl
+%%CONTRIB%%%%WWWDIR%%/contrib/syncLDAP.pl
+%%WWWDIR%%/createaccount.cgi
+%%WWWDIR%%/describecomponents.cgi
+%%WWWDIR%%/describekeywords.cgi
+%%WWWDIR%%/duplicates.cgi
+%%WWWDIR%%/editclassifications.cgi
+%%WWWDIR%%/editcomponents.cgi
+%%WWWDIR%%/editfields.cgi
+%%WWWDIR%%/editflagtypes.cgi
+%%WWWDIR%%/editgroups.cgi
+%%WWWDIR%%/editkeywords.cgi
+%%WWWDIR%%/editmilestones.cgi
+%%WWWDIR%%/editparams.cgi
+%%WWWDIR%%/editproducts.cgi
+%%WWWDIR%%/editsettings.cgi
+%%WWWDIR%%/editusers.cgi
+%%WWWDIR%%/editvalues.cgi
+%%WWWDIR%%/editversions.cgi
+%%WWWDIR%%/editwhines.cgi
+%%WWWDIR%%/editworkflow.cgi
+%%WWWDIR%%/email_in.pl
+%%WWWDIR%%/enter_bug.cgi
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/Config.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/Extension.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/disabled
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/BitBucket.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/GetSatisfaction.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/PHP.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/Phabricator.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/RT.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/Redmine.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/ReviewBoard.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/Rietveld.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/lib/Savane.pm
+%%MOREBUGURL%%%%WWWDIR%%/extensions/MoreBugUrl/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/Config.pm
+%%VOTING%%%%WWWDIR%%/extensions/Voting/Extension.pm
+%%VOTING%%%%WWWDIR%%/extensions/Voting/disabled
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/account/prefs/email-relationships.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/admin/products/edit-common-rows.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/admin/products/updated-changes.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/admin/sanitycheck/messages-statuses.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/admin/users/confirm-delete-warn_safe.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/bug/edit-after_importance.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/bug/format_comment-type.txt.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/bug/process/header-title.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/bug/process/results-title.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/bug/show-header-end.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/global/code-error-errors.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/global/field-descs-end.none.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/global/messages-messages.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/global/reason-descs-end.none.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/global/user-error-errors.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/search/form-after_freetext_fields.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/hook/search/search-report-select-rep_fields.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/pages/voting.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/pages/voting/bug.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/pages/voting/user.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/voting/delete-all.html.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/template/en/default/voting/votes-removed.txt.tmpl
+%%VOTING%%%%WWWDIR%%/extensions/Voting/web/style.css
+%%WWWDIR%%/images/csv.png
+%%WWWDIR%%/images/favicon.ico
+%%WWWDIR%%/images/ical.png
+%%WWWDIR%%/images/padlock.png
+%%WWWDIR%%/images/rss.png
+%%WWWDIR%%/images/rss_small.png
+%%WWWDIR%%/images/xml.png
+%%WWWDIR%%/importxml.pl
+%%WWWDIR%%/index.cgi
+%%WWWDIR%%/install-module.pl
+%%WWWDIR%%/jobqueue.pl
+%%WWWDIR%%/js/TUI.js
+%%WWWDIR%%/js/attachment.js
+%%WWWDIR%%/js/bug.js
+%%WWWDIR%%/js/change-columns.js
+%%WWWDIR%%/js/comment-tagging.js
+%%WWWDIR%%/js/comments.js
+%%WWWDIR%%/js/custom-search.js
+%%WWWDIR%%/js/expanding-tree.js
+%%WWWDIR%%/js/field.js
+%%WWWDIR%%/js/flag.js
+%%WWWDIR%%/js/global.js
+%%WWWDIR%%/js/history.js/license.txt
+%%WWWDIR%%/js/history.js/native.history.js
+%%WWWDIR%%/js/history.js/readme.txt
+%%WWWDIR%%/js/params.js
+%%WWWDIR%%/js/productform.js
+%%WWWDIR%%/js/util.js
+%%WWWDIR%%/js/yui/animation/animation-min.js
+%%WWWDIR%%/js/yui/assets/skins/sam/ajax-loader.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/asc.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/autocomplete.css
+%%WWWDIR%%/js/yui/assets/skins/sam/back-h.png
+%%WWWDIR%%/js/yui/assets/skins/sam/back-v.png
+%%WWWDIR%%/js/yui/assets/skins/sam/bar-h.png
+%%WWWDIR%%/js/yui/assets/skins/sam/bar-v.png
+%%WWWDIR%%/js/yui/assets/skins/sam/bg-h.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/bg-v.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/blankimage.png
+%%WWWDIR%%/js/yui/assets/skins/sam/button.css
+%%WWWDIR%%/js/yui/assets/skins/sam/calendar.css
+%%WWWDIR%%/js/yui/assets/skins/sam/carousel.css
+%%WWWDIR%%/js/yui/assets/skins/sam/check0.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/check1.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/check2.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/colorpicker.css
+%%WWWDIR%%/js/yui/assets/skins/sam/container.css
+%%WWWDIR%%/js/yui/assets/skins/sam/datatable.css
+%%WWWDIR%%/js/yui/assets/skins/sam/desc.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/dt-arrow-dn.png
+%%WWWDIR%%/js/yui/assets/skins/sam/dt-arrow-up.png
+%%WWWDIR%%/js/yui/assets/skins/sam/editor-knob.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/editor-sprite-active.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/editor-sprite.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/editor.css
+%%WWWDIR%%/js/yui/assets/skins/sam/header_background.png
+%%WWWDIR%%/js/yui/assets/skins/sam/hue_bg.png
+%%WWWDIR%%/js/yui/assets/skins/sam/imagecropper.css
+%%WWWDIR%%/js/yui/assets/skins/sam/layout.css
+%%WWWDIR%%/js/yui/assets/skins/sam/layout_sprite.png
+%%WWWDIR%%/js/yui/assets/skins/sam/loading.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/logger.css
+%%WWWDIR%%/js/yui/assets/skins/sam/menu-button-arrow-disabled.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menu-button-arrow.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menu.css
+%%WWWDIR%%/js/yui/assets/skins/sam/menubaritem_submenuindicator.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menuitem_checkbox.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menuitem_checkbox_disabled.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menuitem_submenuindicator.png
+%%WWWDIR%%/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png
+%%WWWDIR%%/js/yui/assets/skins/sam/paginator.css
+%%WWWDIR%%/js/yui/assets/skins/sam/picker_mask.png
+%%WWWDIR%%/js/yui/assets/skins/sam/profilerviewer.css
+%%WWWDIR%%/js/yui/assets/skins/sam/progressbar.css
+%%WWWDIR%%/js/yui/assets/skins/sam/resize.css
+%%WWWDIR%%/js/yui/assets/skins/sam/simpleeditor.css
+%%WWWDIR%%/js/yui/assets/skins/sam/slider.css
+%%WWWDIR%%/js/yui/assets/skins/sam/split-button-arrow-active.png
+%%WWWDIR%%/js/yui/assets/skins/sam/split-button-arrow-disabled.png
+%%WWWDIR%%/js/yui/assets/skins/sam/split-button-arrow-focus.png
+%%WWWDIR%%/js/yui/assets/skins/sam/split-button-arrow-hover.png
+%%WWWDIR%%/js/yui/assets/skins/sam/split-button-arrow.png
+%%WWWDIR%%/js/yui/assets/skins/sam/sprite.png
+%%WWWDIR%%/js/yui/assets/skins/sam/tabview.css
+%%WWWDIR%%/js/yui/assets/skins/sam/treeview-loading.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/treeview-sprite.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/treeview.css
+%%WWWDIR%%/js/yui/assets/skins/sam/wait.gif
+%%WWWDIR%%/js/yui/assets/skins/sam/yuitest.css
+%%WWWDIR%%/js/yui/autocomplete/autocomplete-min.js
+%%WWWDIR%%/js/yui/base/base-min.css
+%%WWWDIR%%/js/yui/base/base.css
+%%WWWDIR%%/js/yui/button/button-min.js
+%%WWWDIR%%/js/yui/calendar/calendar-min.js
+%%WWWDIR%%/js/yui/carousel/carousel-min.js
+%%WWWDIR%%/js/yui/charts/charts-min.js
+%%WWWDIR%%/js/yui/colorpicker/colorpicker-min.js
+%%WWWDIR%%/js/yui/connection/connection-min.js
+%%WWWDIR%%/js/yui/connection/connection.swf
+%%WWWDIR%%/js/yui/connection/connection_core-min.js
+%%WWWDIR%%/js/yui/container/container-min.js
+%%WWWDIR%%/js/yui/container/container_core-min.js
+%%WWWDIR%%/js/yui/cookie/cookie-min.js
+%%WWWDIR%%/js/yui/datasource/datasource-min.js
+%%WWWDIR%%/js/yui/datatable/datatable-min.js
+%%WWWDIR%%/js/yui/datemath/datemath-min.js
+%%WWWDIR%%/js/yui/dom/dom-min.js
+%%WWWDIR%%/js/yui/dragdrop/dragdrop-min.js
+%%WWWDIR%%/js/yui/element-delegate/element-delegate-min.js
+%%WWWDIR%%/js/yui/element/element-min.js
+%%WWWDIR%%/js/yui/event-delegate/event-delegate-min.js
+%%WWWDIR%%/js/yui/event-mouseenter/event-mouseenter-min.js
+%%WWWDIR%%/js/yui/event-simulate/event-simulate-min.js
+%%WWWDIR%%/js/yui/event/event-min.js
+%%WWWDIR%%/js/yui/fonts/fonts-min.css
+%%WWWDIR%%/js/yui/fonts/fonts.css
+%%WWWDIR%%/js/yui/get/get-min.js
+%%WWWDIR%%/js/yui/grids/grids-min.css
+%%WWWDIR%%/js/yui/grids/grids.css
+%%WWWDIR%%/js/yui/history/history-min.js
+%%WWWDIR%%/js/yui/imagecropper/imagecropper-min.js
+%%WWWDIR%%/js/yui/imageloader/imageloader-min.js
+%%WWWDIR%%/js/yui/json/json-min.js
+%%WWWDIR%%/js/yui/layout/layout-min.js
+%%WWWDIR%%/js/yui/logger/logger-min.js
+%%WWWDIR%%/js/yui/menu/menu-min.js
+%%WWWDIR%%/js/yui/paginator/paginator-min.js
+%%WWWDIR%%/js/yui/profiler/profiler-min.js
+%%WWWDIR%%/js/yui/profilerviewer/profilerviewer-min.js
+%%WWWDIR%%/js/yui/progressbar/progressbar-min.js
+%%WWWDIR%%/js/yui/reset-fonts-grids/reset-fonts-grids.css
+%%WWWDIR%%/js/yui/reset-fonts/reset-fonts.css
+%%WWWDIR%%/js/yui/reset/reset-min.css
+%%WWWDIR%%/js/yui/reset/reset.css
+%%WWWDIR%%/js/yui/resize/resize-min.js
+%%WWWDIR%%/js/yui/selector/selector-min.js
+%%WWWDIR%%/js/yui/slider/slider-min.js
+%%WWWDIR%%/js/yui/storage/storage-min.js
+%%WWWDIR%%/js/yui/stylesheet/stylesheet-min.js
+%%WWWDIR%%/js/yui/swf/swf-min.js
+%%WWWDIR%%/js/yui/swfdetect/swfdetect-min.js
+%%WWWDIR%%/js/yui/swfstore/swfstore-min.js
+%%WWWDIR%%/js/yui/swfstore/swfstore.swf
+%%WWWDIR%%/js/yui/tabview/tabview-min.js
+%%WWWDIR%%/js/yui/treeview/treeview-min.js
+%%WWWDIR%%/js/yui/uploader/uploader-min.js
+%%WWWDIR%%/js/yui/yahoo-dom-event/yahoo-dom-event.js
+%%WWWDIR%%/js/yui/yahoo/yahoo-min.js
+%%WWWDIR%%/js/yui/yuiloader/yuiloader-min.js
+%%WWWDIR%%/js/yui/yuitest/yuitest-min.js
+%%WWWDIR%%/js/yui/yuitest/yuitest_core-min.js
+%%WWWDIR%%/jsonrpc.cgi
+%%WWWDIR%%/migrate.pl
+%%WWWDIR%%/mod_perl.pl
+%%WWWDIR%%/page.cgi
+%%WWWDIR%%/post_bug.cgi
+%%WWWDIR%%/process_bug.cgi
+%%WWWDIR%%/query.cgi
+%%WWWDIR%%/quips.cgi
+%%WWWDIR%%/relogin.cgi
*** 333 LINES SKIPPED ***