From gregoryba@gmail.com  Tue Aug  1 19:39:23 2006
Return-Path: <gregoryba@gmail.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B327716A4DF
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  1 Aug 2006 19:39:23 +0000 (UTC)
	(envelope-from gregoryba@gmail.com)
Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.182])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 49B2143D53
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  1 Aug 2006 19:39:22 +0000 (GMT)
	(envelope-from gregoryba@gmail.com)
Received: by py-out-1112.google.com with SMTP id b36so1055540pyb
        for <FreeBSD-gnats-submit@freebsd.org>; Tue, 01 Aug 2006 12:39:21 -0700 (PDT)
Received: by 10.35.99.5 with SMTP id b5mr46527pym;
        Tue, 01 Aug 2006 12:39:20 -0700 (PDT)
Received: by 10.35.61.3 with HTTP; Tue, 1 Aug 2006 12:39:20 -0700 (PDT)
Message-Id: <39ed86f90608011239i5e61432am7e36a93f9d6b1cdf@mail.gmail.com>
Date: Tue, 1 Aug 2006 12:39:20 -0700
From: "Greg Albrecht" <gregoryba@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: new port: databases/mysqlard A tool to collect and graph database statistics from mysql

>Number:         101217
>Category:       ports
>Synopsis:       new port: databases/mysqlard A tool to collect and
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    alepulver
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 01 19:40:15 GMT 2006
>Closed-Date:    Wed Oct 04 20:01:48 GMT 2006
>Last-Modified:  Wed Nov 22 00:10:14 GMT 2006
>Originator:     greg albrecht
>Release:        FreeBSD 5.4-RELEASE-p7 i386
>Organization:
schematic
>Environment:
System: FreeBSD littlerock.schematic.com 5.4-RELEASE-p7 FreeBSD
5.4-RELEASE-p7 #1: Tue Oct 4 10:21:31 PDT 2005
gba@littlerock.schematic.com:/usr/obj/usr/src/
sys/LITTLEROCK i386

>Description:
The MySQL Activity Report package is a tool to help MySQL database
administrators to collect several database parameters and variables.
These collected values can be used for server monitoring or
performance tuning purposes.

WWW: http://gert.sos.be/en/projects/mysqlar/
>How-To-Repeat:
	<code/input/activities to reproduce the problem (multiple lines)>
>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mysqlard
#	mysqlard/Makefile
#	mysqlard/pkg-descr
#	mysqlard/distinfo
#	mysqlard/pkg-plist
#	mysqlard/files
#	mysqlard/files/mysqlard.sh.in
#	mysqlard/files/patch-ab
#	mysqlard/files/patch-af
#	mysqlard/files/patch-ae
#	mysqlard/files/patch-ad
#	mysqlard/files/patch-ac
#	mysqlard/files/patch-aa
#	mysqlard/pkg-message
#
echo c - mysqlard
mkdir -p mysqlard > /dev/null 2>&1
echo x - mysqlard/Makefile
sed 's/^X//' >mysqlard/Makefile << 'END-of-mysqlard/Makefile'
X# New ports collection makefile for:   mysqlard
X# Date created:        31 July 2006
X# Whom:                gba
X#
X# $FreeBSD$
X#
X
XPORTNAME=      mysqlard
XPORTVERSION=   1.0.0
XCATEGORIES=    databases www
XMASTER_SITES=  http://gert.sos.be/downloads/mysqlar/
X
XMAINTAINER=    gregoryba@gmail.com
XCOMMENT=       A tool to collect and graph database statistics from mysql
X
XRUN_DEPENDS=    rrdtool:${PORTSDIR}/net/rrdtool
X
XUSE_MYSQL=      yes
XUSE_APACHE=     1.3+
X
XMYSQLARD_DIR?=	${PREFIX}/www/mysqlard
X
XUSE_RC_SUBR=    mysqlard.sh
X
XMAN1 = mysqlar_graph.1
XMAN8 = mysqlard.8
X
XGNU_CONFIGURE=  yes
XCONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ARGS= --prefix="${PREFIX}" --with-rrd="${PREFIX}"
--datadir="${PREFIX}/www" --sysconfdir="${PREFIX}/etc"
X
Xpost-install:
X	@${MV} ${PREFIX}/www/mysqlard/mysqlard.cnf ${PREFIX}/etc
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-mysqlard/Makefile
echo x - mysqlard/pkg-descr
sed 's/^X//' >mysqlard/pkg-descr << 'END-of-mysqlard/pkg-descr'
XThe MySQL Activity Report package is a tool to help MySQL database
Xadministrators to collect several database parameters and variables.
XThese collected values can be used for server monitoring or
Xperformance tuning purposes.
X
XWWW: http://gert.sos.be/en/projects/mysqlar/
END-of-mysqlard/pkg-descr
echo x - mysqlard/distinfo
sed 's/^X//' >mysqlard/distinfo << 'END-of-mysqlard/distinfo'
XMD5 (mysqlard-1.0.0.tar.gz) = 693ef6f36ca232131b22db7063cae940
XSHA256 (mysqlard-1.0.0.tar.gz) =
07f333110c8fbb0174a534570884471139b00c96950f56a55fdbbd4683aef7f4
XSIZE (mysqlard-1.0.0.tar.gz) = 109656
END-of-mysqlard/distinfo
echo x - mysqlard/pkg-plist
sed 's/^X//' >mysqlard/pkg-plist << 'END-of-mysqlard/pkg-plist'
Xbin/mysqlar_graph
Xetc/mysqlard.cnf
Xsbin/mysqlard
Xwww/mysqlard/mysql.gif
Xwww/mysqlard/mysqlar.daily
Xwww/mysqlard/mysqlar.monthly
Xwww/mysqlard/mysqlar.php
Xwww/mysqlard/mysqlar.weekly
Xwww/mysqlard/mysqlard.server
Xwww/mysqlard/rrdtool.gif
Xwww/mysqlard/sos.gif
Xwww/mysqlard/style.css
X@dirrm www/mysqlard
END-of-mysqlard/pkg-plist
echo c - mysqlard/files
mkdir -p mysqlard/files > /dev/null 2>&1
echo x - mysqlard/files/mysqlard.sh.in
sed 's/^X//' >mysqlard/files/mysqlard.sh.in <<
'END-of-mysqlard/files/mysqlard.sh.in'
X#!/usr/local/bin/bash
X#
X#  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
X#	
X#  MySQL Activity Report
X#  mysqlard Start script for the MySQL Activity Report Daemon
X#
X#  Copyright 2004 Gert Dewit <gert.dewit@sos.be>
X#
X# chkconfig: - 79 11
X# description: MySQL Activity Report Daemon
X# processname: mysqlard
X# config: %%PREFIX%%/etc/mysqlard.cnf
X# pidfile: /var/run/mysqlard.pid
X
X. %%RC_SUBR%%
X
X# Source the config script
Xif [[ "$datadir" == "" ]] ; then
X	echo Loading defaultsettings
X	. %%PREFIX%%/etc/mysqlard.cnf
Xfi
X
X########################################################################
X# Options, change them in %%PREFIX%%/etc/mysqlard.cnf or you can override
X# them here, but that's not recommended. Read the comments in
X# %%PREFIX%%/etc/mysqlard.cnf if you want to know what you're changing.
X
Xstep=${step:="60"}
Xminsamples=${minsamples:="720"}
Xdatadir=${datadir:="%%PREFIX%%/www/mysqlard"}
Xpidfile=${pidfile:="/var/run/mysqlard.pid"}
XRRDTOOL=${RRDTOOL:="%%PREFIX%%/bin/rrdtool"}
XMYSQLARD=${MYSQLARD:="%%PREFIX%%/sbin/mysqlard"}
XMYSQLUSER=${MYSQLUSER:="mysqlar"}
XMYSQLHOST=${MYSQLHOST:=""}
X########################################################################
X
X# don't change anything below this line, but heck, I can't stop you ;-)
Xconfile=${confile:="${datadir}/connections.rrd"}
Xtabfile=${tabfile:="${datadir}/table_cache.rrd"}
Xkeyfile=${keyfile:="${datadir}/key_cache.rrd"}
Xqueryfile=${queryfile:="${datadir}/queries.rrd"}
Xslavefile=${slavefile:="${datadir}/slave.rrd"}
X
Xslaveopt=
Xif [[ "$slave" != "" ]]; then
X  slaveopt=-L
Xfi
X
Xif [[ "$MYSQLHOST" != "" ]] ; then
X  MYSQLHOST=--host=$MYSQLHOST
Xfi
X
X# functions
Xavgsamps () {
X  avg=$(($1 / $2))
X  if [ ${avg} -lt 1 ]
X  then
X    avg=1
X  fi
X  echo ${avg}
X}
Xarchives () {
X  arch=$(($1 / $2))
X  if [[ $(($2 * ${arch} * $3)) -lt $4 ]]
X  then
X    arch=$((${arch} + 1))
X  fi
X  echo ${arch}
X}
X
X# calculated values
Xheartbeat=$((${step} * 2))
Xhoursamps=$((3600 / ${step}))
Xhouravgs=$(avgsamps ${hoursamps} ${minsamples})
Xhourarchives=$(archives ${hoursamps} ${houravgs} ${step} 3600)
Xdaysamps=$((86400 / ${step}))
Xdayavgs=$(avgsamps ${daysamps} ${minsamples})
Xdayarchives=$(archives ${daysamps} ${dayavgs} ${step} 86400)
Xweeksamps=$((604800 / ${step}))
Xweekavgs=$(avgsamps ${weeksamps} ${minsamples})
Xweekarchives=$(archives ${weeksamps} ${weekavgs} ${step} 604800)
Xmonthsamps=$((2678400 / ${step}))
Xmonthavgs=$(avgsamps ${monthsamps} ${minsamples})
Xmontharchives=$(archives ${monthsamps} ${monthavgs} ${step} 2678400)
Xyearsamps=$((31622400 / ${step}))
Xyearavgs=$(avgsamps ${yearsamps} ${minsamples})
Xyeararchives=$(archives ${yearsamps} ${yearavgs} ${step} 31622400)
X
X# calculated RRA's
Xhourrra="RRA:AVERAGE:0.5:${houravgs}:${hourarchives}"
Xdayrra="RRA:AVERAGE:0.5:${dayavgs}:${dayarchives}"
Xweekrra="RRA:AVERAGE:0.5:${weekavgs}:${weekarchives}"
Xmonthrra="RRA:AVERAGE:0.5:${monthavgs}:${montharchives}"
Xyearrra="RRA:AVERAGE:0.5:${yearavgs}:${yeararchives}"
Xallrras="${hourrra} ${dayrra} ${weekrra} ${monthrra} ${yearrra}"
X
Xinitrrd () {
Xif [ ! -f ${confile} ]
Xthen
X  ${RRDTOOL} create ${confile} --step ${step} \
X  DS:threads_connected:GAUGE:${heartbeat}:0:U \
X  DS:max_connections:GAUGE:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${tabfile} ]
Xthen
X  ${RRDTOOL} create ${tabfile} --step ${step} \
X  DS:open_tables:GAUGE:${heartbeat}:0:U \
X  DS:table_cache:GAUGE:${heartbeat}:0:U \
X  DS:created_tmp_tables:COUNTER:${heartbeat}:0:U \
X  DS:created_tmp_disk_t:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${keyfile} ]
Xthen
X  ${RRDTOOL} create ${keyfile} --step ${step} \
X  DS:key_reads:COUNTER:${heartbeat}:0:U \
X  DS:key_read_requests:COUNTER:${heartbeat}:0:U \
X  DS:key_buffer_size:GAUGE:${heartbeat}:0:U \
X  DS:key_blocks_used:GAUGE:${heartbeat}:0:U \
X  DS:select_full_join:COUNTER:${heartbeat}:0:U \
X  DS:select_range_check:COUNTER:${heartbeat}:0:U \
X  DS:handler_read_key:COUNTER:${heartbeat}:0:U \
X  DS:handler_read_rnd:COUNTER:${heartbeat}:0:U \
X  DS:slow_queries:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${queryfile} ]
Xthen
X  ${RRDTOOL} create ${queryfile} --step ${step} \
X  DS:questions:COUNTER:${heartbeat}:0:U \
X  DS:com_select:COUNTER:${heartbeat}:0:U \
X  DS:com_insert:COUNTER:${heartbeat}:0:U \
X  DS:com_update:COUNTER:${heartbeat}:0:U \
X  DS:com_delete:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${slavefile} ]
Xthen
X  ${RRDTOOL} create ${slavefile} --step ${step} \
X  DS:read_master_log_pos:COUNTER:${heartbeat}:0:U \
X  DS:exec_master_log_pos:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X}
X
Xstatus() {
Xif [ -f $pidfile ]
Xthen
X  echo $0 is running. PID `cat ${pidfile}`
Xelse
X  echo $0 is not running.
Xfi
X
X}
X
Xcase "$1" in
X	start)
X		initrrd
X		${MYSQLARD} --step=${step} --datadir=${datadir} --user=${MYSQLUSER}
$MYSQLHOST --pidfile=${pidfile} ${slaveopt}
X	;;
X	stop)
X		kill `cat ${pidfile}`
X		rm -f ${pidfile}
X	;;
X	initrrd)
X		initrrd
X	;;
X	status)
X		status
X	;;
X	*)
X		echo "Usage: $0 {start|stop|status|initrrd}"
X		exit 1
Xesac
X
Xexit $?
END-of-mysqlard/files/mysqlard.sh.in
echo x - mysqlard/files/patch-ab
sed 's/^X//' >mysqlard/files/patch-ab << 'END-of-mysqlard/files/patch-ab'
X--- src/mysqlar.monthly.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.monthly.sh	Tue Aug  1 11:10:54 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.monthly.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ab
echo x - mysqlard/files/patch-af
sed 's/^X//' >mysqlard/files/patch-af << 'END-of-mysqlard/files/patch-af'
X--- src/mysqlar.php.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.php.sh	Tue Aug  1 11:13:32 2006
X@@ -15,7 +15,7 @@
X  * and has only usage permissions, no grants on any databases or tables.
X  */
X   $sqlhost = "localhost";
X-  $sqluser = "";
X+  $sqluser = "mysqlar";
X   $sqlpassword = "";
X
X /* sort a matrix using column as key */
END-of-mysqlard/files/patch-af
echo x - mysqlard/files/patch-ae
sed 's/^X//' >mysqlard/files/patch-ae << 'END-of-mysqlard/files/patch-ae'
X--- src/mysqlar.daily.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.daily.sh	Tue Aug  1 11:10:47 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.daily.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ae
echo x - mysqlard/files/patch-ad
sed 's/^X//' >mysqlard/files/patch-ad << 'END-of-mysqlard/files/patch-ad'
X--- src/mysqlard.cnf.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlard.cnf.sh	Tue Aug  1 11:11:22 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #  $Id: mysqlard.cnf.sh 40 2006-01-20 20:26:11Z dewitge $
X #	
X #  MySQL Activity Report
END-of-mysqlard/files/patch-ad
echo x - mysqlard/files/patch-ac
sed 's/^X//' >mysqlard/files/patch-ac << 'END-of-mysqlard/files/patch-ac'
X--- src/mysqlar.weekly.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.weekly.sh	Tue Aug  1 11:11:09 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.weekly.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ac
echo x - mysqlard/files/patch-aa
sed 's/^X//' >mysqlard/files/patch-aa << 'END-of-mysqlard/files/patch-aa'
X--- src/mysqlard.server.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlard.server.sh	Tue Aug  1 11:11:29 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
X #	
END-of-mysqlard/files/patch-aa
echo x - mysqlard/pkg-message
sed 's/^X//' >mysqlard/pkg-message << 'END-of-mysqlard/pkg-message'
X
XMake sure to add crontabs for mysqard and start the mysqlard daemon:
X${PREFIX}/etc/rc.d/mysqlard.sh
X
Xand add this line to your crontab:
X*/5     *       *       *       *       root    hourly=1 daily=1
weekly=1 monthly=1 ${PREFIX}/bin/mysqlar_graph > /dev/null
X
END-of-mysqlard/pkg-message
exit
>Release-Note:
>Audit-Trail:

From: "Greg Albrecht" <gregoryba@gmail.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/101217: new port: databases/mysqlard A tool to collect and
Date: Tue, 1 Aug 2006 14:27:46 -0700

 here's an updated version of the shar file:
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	mysqlard
 #	mysqlard/Makefile
 #	mysqlard/pkg-descr
 #	mysqlard/distinfo
 #	mysqlard/pkg-plist
 #	mysqlard/files
 #	mysqlard/files/mysqlard.sh.in
 #	mysqlard/files/patch-ab
 #	mysqlard/files/patch-af
 #	mysqlard/files/patch-ag
 #	mysqlard/files/patch-ae
 #	mysqlard/files/patch-ad
 #	mysqlard/files/patch-ac
 #	mysqlard/files/patch-aa
 #	mysqlard/pkg-message
 #
 echo c - mysqlard
 mkdir -p mysqlard > /dev/null 2>&1
 echo x - mysqlard/Makefile
 sed 's/^X//' >mysqlard/Makefile << 'END-of-mysqlard/Makefile'
 X# New ports collection makefile for:   mysqlard
 X# Date created:        31 July 2006
 X# Whom:                gba
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=      mysqlard
 XPORTVERSION=   1.0.0
 XCATEGORIES=    databases www
 XMASTER_SITES=  http://gert.sos.be/downloads/mysqlar/
 X
 XMAINTAINER=    gregoryba@gmail.com
 XCOMMENT=       A tool to collect and graph database statistics from mysql
 X
 XRUN_DEPENDS=    rrdtool:${PORTSDIR}/net/rrdtool
 X
 XUSE_MYSQL=      yes
 XUSE_APACHE=     1.3+
 X
 XMYSQLARD_DIR?=	${PREFIX}/www/mysqlard
 X
 XUSE_RC_SUBR=    mysqlard.sh
 X
 XMAN1 = mysqlar_graph.1
 XMAN8 = mysqlard.8
 X
 XGNU_CONFIGURE=  yes
 XCONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 XCONFIGURE_ARGS= --prefix="${PREFIX}" --with-rrd="${PREFIX}"
 --datadir="${PREFIX}/www" --sysconfdir="${PREFIX}/etc"
 X
 Xpost-install:
 X	@${MV} ${PREFIX}/www/mysqlard/mysqlard.cnf ${PREFIX}/etc
 X	@${CAT} ${PKGMESSAGE}
 X
 X.include <bsd.port.mk>
 END-of-mysqlard/Makefile
 echo x - mysqlard/pkg-descr
 sed 's/^X//' >mysqlard/pkg-descr << 'END-of-mysqlard/pkg-descr'
 XThe MySQL Activity Report package is a tool to help MySQL database
 Xadministrators to collect several database parameters and variables.
 XThese collected values can be used for server monitoring or
 Xperformance tuning purposes.
 X
 XWWW: http://gert.sos.be/en/projects/mysqlar/
 END-of-mysqlard/pkg-descr
 echo x - mysqlard/distinfo
 sed 's/^X//' >mysqlard/distinfo << 'END-of-mysqlard/distinfo'
 XMD5 (mysqlard-1.0.0.tar.gz) = 693ef6f36ca232131b22db7063cae940
 XSHA256 (mysqlard-1.0.0.tar.gz) =
 07f333110c8fbb0174a534570884471139b00c96950f56a55fdbbd4683aef7f4
 XSIZE (mysqlard-1.0.0.tar.gz) = 109656
 END-of-mysqlard/distinfo
 echo x - mysqlard/pkg-plist
 sed 's/^X//' >mysqlard/pkg-plist << 'END-of-mysqlard/pkg-plist'
 Xbin/mysqlar_graph
 Xetc/mysqlard.cnf
 Xsbin/mysqlard
 Xwww/mysqlard/mysql.gif
 Xwww/mysqlard/mysqlar.daily
 Xwww/mysqlard/mysqlar.monthly
 Xwww/mysqlard/mysqlar.php
 Xwww/mysqlard/mysqlar.weekly
 Xwww/mysqlard/mysqlard.server
 Xwww/mysqlard/rrdtool.gif
 Xwww/mysqlard/sos.gif
 Xwww/mysqlard/style.css
 X@dirrm www/mysqlard
 END-of-mysqlard/pkg-plist
 echo c - mysqlard/files
 mkdir -p mysqlard/files > /dev/null 2>&1
 echo x - mysqlard/files/mysqlard.sh.in
 sed 's/^X//' >mysqlard/files/mysqlard.sh.in <<
 'END-of-mysqlard/files/mysqlard.sh.in'
 X#!/usr/local/bin/bash
 X#
 X#  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
 X#	
 X#  MySQL Activity Report
 X#  mysqlard Start script for the MySQL Activity Report Daemon
 X#
 X#  Copyright 2004 Gert Dewit <gert.dewit@sos.be>
 X#
 X# chkconfig: - 79 11
 X# description: MySQL Activity Report Daemon
 X# processname: mysqlard
 X# config: %%PREFIX%%/etc/mysqlard.cnf
 X# pidfile: /var/run/mysqlard.pid
 X
 X. %%RC_SUBR%%
 X
 X# Source the config script
 Xif [[ "$datadir" == "" ]] ; then
 X	echo Loading defaultsettings
 X	. %%PREFIX%%/etc/mysqlard.cnf
 Xfi
 X
 X########################################################################
 X# Options, change them in %%PREFIX%%/etc/mysqlard.cnf or you can override
 X# them here, but that's not recommended. Read the comments in
 X# %%PREFIX%%/etc/mysqlard.cnf if you want to know what you're changing.
 X
 Xstep=${step:="60"}
 Xminsamples=${minsamples:="720"}
 Xdatadir=${datadir:="%%PREFIX%%/www/mysqlard"}
 Xpidfile=/var/run/mysqlard.pid
 XRRDTOOL=${RRDTOOL:="%%PREFIX%%/bin/rrdtool"}
 XMYSQLARD=${MYSQLARD:="%%PREFIX%%/sbin/mysqlard"}
 XMYSQLUSER=${MYSQLUSER:="mysqlar"}
 XMYSQLHOST=${MYSQLHOST:=""}
 X########################################################################
 X
 X# don't change anything below this line, but heck, I can't stop you ;-)
 Xconfile=${confile:="${datadir}/connections.rrd"}
 Xtabfile=${tabfile:="${datadir}/table_cache.rrd"}
 Xkeyfile=${keyfile:="${datadir}/key_cache.rrd"}
 Xqueryfile=${queryfile:="${datadir}/queries.rrd"}
 Xslavefile=${slavefile:="${datadir}/slave.rrd"}
 X
 Xslaveopt=
 Xif [[ "$slave" != "" ]]; then
 X  slaveopt=-L
 Xfi
 X
 Xif [[ "$MYSQLHOST" != "" ]] ; then
 X  MYSQLHOST=--host=$MYSQLHOST
 Xfi
 X
 X# functions
 Xavgsamps () {
 X  avg=$(($1 / $2))
 X  if [ ${avg} -lt 1 ]
 X  then
 X    avg=1
 X  fi
 X  echo ${avg}
 X}
 Xarchives () {
 X  arch=$(($1 / $2))
 X  if [[ $(($2 * ${arch} * $3)) -lt $4 ]]
 X  then
 X    arch=$((${arch} + 1))
 X  fi
 X  echo ${arch}
 X}
 X
 X# calculated values
 Xheartbeat=$((${step} * 2))
 Xhoursamps=$((3600 / ${step}))
 Xhouravgs=$(avgsamps ${hoursamps} ${minsamples})
 Xhourarchives=$(archives ${hoursamps} ${houravgs} ${step} 3600)
 Xdaysamps=$((86400 / ${step}))
 Xdayavgs=$(avgsamps ${daysamps} ${minsamples})
 Xdayarchives=$(archives ${daysamps} ${dayavgs} ${step} 86400)
 Xweeksamps=$((604800 / ${step}))
 Xweekavgs=$(avgsamps ${weeksamps} ${minsamples})
 Xweekarchives=$(archives ${weeksamps} ${weekavgs} ${step} 604800)
 Xmonthsamps=$((2678400 / ${step}))
 Xmonthavgs=$(avgsamps ${monthsamps} ${minsamples})
 Xmontharchives=$(archives ${monthsamps} ${monthavgs} ${step} 2678400)
 Xyearsamps=$((31622400 / ${step}))
 Xyearavgs=$(avgsamps ${yearsamps} ${minsamples})
 Xyeararchives=$(archives ${yearsamps} ${yearavgs} ${step} 31622400)
 X
 X# calculated RRA's
 Xhourrra="RRA:AVERAGE:0.5:${houravgs}:${hourarchives}"
 Xdayrra="RRA:AVERAGE:0.5:${dayavgs}:${dayarchives}"
 Xweekrra="RRA:AVERAGE:0.5:${weekavgs}:${weekarchives}"
 Xmonthrra="RRA:AVERAGE:0.5:${monthavgs}:${montharchives}"
 Xyearrra="RRA:AVERAGE:0.5:${yearavgs}:${yeararchives}"
 Xallrras="${hourrra} ${dayrra} ${weekrra} ${monthrra} ${yearrra}"
 X
 Xinitrrd () {
 Xif [ ! -f ${confile} ]
 Xthen
 X  ${RRDTOOL} create ${confile} --step ${step} \
 X  DS:threads_connected:GAUGE:${heartbeat}:0:U \
 X  DS:max_connections:GAUGE:${heartbeat}:0:U \
 X  ${allrras}
 Xfi
 X
 Xif [ ! -f ${tabfile} ]
 Xthen
 X  ${RRDTOOL} create ${tabfile} --step ${step} \
 X  DS:open_tables:GAUGE:${heartbeat}:0:U \
 X  DS:table_cache:GAUGE:${heartbeat}:0:U \
 X  DS:created_tmp_tables:COUNTER:${heartbeat}:0:U \
 X  DS:created_tmp_disk_t:COUNTER:${heartbeat}:0:U \
 X  ${allrras}
 Xfi
 X
 Xif [ ! -f ${keyfile} ]
 Xthen
 X  ${RRDTOOL} create ${keyfile} --step ${step} \
 X  DS:key_reads:COUNTER:${heartbeat}:0:U \
 X  DS:key_read_requests:COUNTER:${heartbeat}:0:U \
 X  DS:key_buffer_size:GAUGE:${heartbeat}:0:U \
 X  DS:key_blocks_used:GAUGE:${heartbeat}:0:U \
 X  DS:select_full_join:COUNTER:${heartbeat}:0:U \
 X  DS:select_range_check:COUNTER:${heartbeat}:0:U \
 X  DS:handler_read_key:COUNTER:${heartbeat}:0:U \
 X  DS:handler_read_rnd:COUNTER:${heartbeat}:0:U \
 X  DS:slow_queries:COUNTER:${heartbeat}:0:U \
 X  ${allrras}
 Xfi
 X
 Xif [ ! -f ${queryfile} ]
 Xthen
 X  ${RRDTOOL} create ${queryfile} --step ${step} \
 X  DS:questions:COUNTER:${heartbeat}:0:U \
 X  DS:com_select:COUNTER:${heartbeat}:0:U \
 X  DS:com_insert:COUNTER:${heartbeat}:0:U \
 X  DS:com_update:COUNTER:${heartbeat}:0:U \
 X  DS:com_delete:COUNTER:${heartbeat}:0:U \
 X  ${allrras}
 Xfi
 X
 Xif [ ! -f ${slavefile} ]
 Xthen
 X  ${RRDTOOL} create ${slavefile} --step ${step} \
 X  DS:read_master_log_pos:COUNTER:${heartbeat}:0:U \
 X  DS:exec_master_log_pos:COUNTER:${heartbeat}:0:U \
 X  ${allrras}
 Xfi
 X}
 X
 Xstatus() {
 Xif [ -f $pidfile ]
 Xthen
 X  echo $0 is running. PID `cat ${pidfile}`
 Xelse
 X  echo $0 is not running.
 Xfi
 X
 X}
 X
 Xcase "$1" in
 X	start)
 X		initrrd
 X		${MYSQLARD} --step=${step} --datadir=${datadir} --user=${MYSQLUSER}
 $MYSQLHOST --pidfile=${pidfile} ${slaveopt}
 X	;;
 X	stop)
 X		kill `cat ${pidfile}`
 X		rm -f ${pidfile}
 X	;;
 X	initrrd)
 X		initrrd
 X	;;
 X	status)
 X		status
 X	;;
 X	*)
 X		echo "Usage: $0 {start|stop|status|initrrd}"
 X		exit 1
 Xesac
 X
 Xexit $?
 END-of-mysqlard/files/mysqlard.sh.in
 echo x - mysqlard/files/patch-ab
 sed 's/^X//' >mysqlard/files/patch-ab << 'END-of-mysqlard/files/patch-ab'
 X--- src/mysqlar.monthly.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlar.monthly.sh	Tue Aug  1 11:10:54 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #
 X #  $Id: mysqlar.monthly.sh 35 2004-03-10 15:48:41Z dewitge $
 X #	
 END-of-mysqlard/files/patch-ab
 echo x - mysqlard/files/patch-af
 sed 's/^X//' >mysqlard/files/patch-af << 'END-of-mysqlard/files/patch-af'
 X--- src/mysqlar.php.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlar.php.sh	Tue Aug  1 11:13:32 2006
 X@@ -15,7 +15,7 @@
 X  * and has only usage permissions, no grants on any databases or tables.
 X  */
 X   $sqlhost = "localhost";
 X-  $sqluser = "";
 X+  $sqluser = "mysqlar";
 X   $sqlpassword = "";
 X
 X /* sort a matrix using column as key */
 END-of-mysqlard/files/patch-af
 echo x - mysqlard/files/patch-ag
 sed 's/^X//' >mysqlard/files/patch-ag << 'END-of-mysqlard/files/patch-ag'
 X--- src/mysqlar_graph.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlar_graph.sh	Tue Aug  1 12:53:48 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #
 X #  $Id: mysqlar_graph.sh 40 2006-01-20 20:26:11Z dewitge $
 X #	
 END-of-mysqlard/files/patch-ag
 echo x - mysqlard/files/patch-ae
 sed 's/^X//' >mysqlard/files/patch-ae << 'END-of-mysqlard/files/patch-ae'
 X--- src/mysqlar.daily.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlar.daily.sh	Tue Aug  1 11:10:47 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #
 X #  $Id: mysqlar.daily.sh 35 2004-03-10 15:48:41Z dewitge $
 X #	
 END-of-mysqlard/files/patch-ae
 echo x - mysqlard/files/patch-ad
 sed 's/^X//' >mysqlard/files/patch-ad << 'END-of-mysqlard/files/patch-ad'
 X--- src/mysqlard.cnf.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlard.cnf.sh	Tue Aug  1 11:11:22 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #  $Id: mysqlard.cnf.sh 40 2006-01-20 20:26:11Z dewitge $
 X #	
 X #  MySQL Activity Report
 END-of-mysqlard/files/patch-ad
 echo x - mysqlard/files/patch-ac
 sed 's/^X//' >mysqlard/files/patch-ac << 'END-of-mysqlard/files/patch-ac'
 X--- src/mysqlar.weekly.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlar.weekly.sh	Tue Aug  1 11:11:09 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #
 X #  $Id: mysqlar.weekly.sh 35 2004-03-10 15:48:41Z dewitge $
 X #	
 END-of-mysqlard/files/patch-ac
 echo x - mysqlard/files/patch-aa
 sed 's/^X//' >mysqlard/files/patch-aa << 'END-of-mysqlard/files/patch-aa'
 X--- src/mysqlard.server.sh.orig	Tue Aug  1 11:23:19 2006
 X+++ src/mysqlard.server.sh	Tue Aug  1 11:11:29 2006
 X@@ -1,4 +1,4 @@
 X-#!/bin/bash
 X+#!/usr/local/bin/bash
 X #
 X #  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
 X #	
 END-of-mysqlard/files/patch-aa
 echo x - mysqlard/pkg-message
 sed 's/^X//' >mysqlard/pkg-message << 'END-of-mysqlard/pkg-message'
 X
 X1) Add the 'mysqlar' user with USAGE privileges to your mysql server:
 X$ mysql -u root -p mysql
 Xmysql> GRANT USAGE ON *.* TO mysqlar@localhost;
 Xmysql> FLUSH PRIVILEGES;
 X
 X2) Add the mysqlard crontab to root's crontab, replace ${PREFIX} with
 the path to mysqlar_graph:
 X*/5 * * * * hourly=1 daily=1 weekly=1 monthly=1
 ${PREFIX}/bin/mysqlar_graph > /dev/null
 X
 X3) Add a line line this to your apache's httpd.conf:
 X
 XAlias /mysqlar/ /usr/local/www/mysqlard/
 X<Directory "/usr/local/www/mysqlard">
 X  Options Indexes FollowSymLinks MultiViews ExecCGI
 X  AllowOverride All
 X  Order allow,deny
 X  Allow from all
 X  DirectoryIndex mysqlar.php
 X</Directory>
 X
 END-of-mysqlard/pkg-message
 exit
Responsible-Changed-From-To: freebsd-ports-bugs->alepulver 
Responsible-Changed-By: alepulver 
Responsible-Changed-When: Wed Oct 4 00:25:43 UTC 2006 
Responsible-Changed-Why:  
Take PR. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=101217 
State-Changed-From-To: open->closed 
State-Changed-By: alepulver 
State-Changed-When: Wed Oct 4 19:59:50 UTC 2006 
State-Changed-Why:  
New port added with a few modifications, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=101217 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/101217: commit references a PR
Date: Wed,  4 Oct 2006 20:01:15 +0000 (UTC)

 alepulver    2006-10-04 20:00:40 UTC
 
   FreeBSD ports repository
 
   Modified files:
     databases            Makefile 
   Added files:
     databases/mysqlard   Makefile distinfo pkg-descr pkg-plist 
     databases/mysqlard/files mysqlard.sh.in patch-aa patch-ab 
                              patch-ac patch-ad patch-ae patch-af 
                              patch-ag pkg-message.in 
   Log:
   The MySQL Activity Report package is a tool to help MySQL database
   administrators to collect several database parameters and variables.
   These collected values can be used for server monitoring or
   performance tuning purposes.
   
   WWW: http://gert.sos.be/en/projects/mysqlar/
   
   PR:             ports/101217
   Submitted by:   Greg Albrecht <gregoryba at gmail.com>
   
   Revision  Changes    Path
   1.548     +1 -0      ports/databases/Makefile
   1.1       +40 -0     ports/databases/mysqlard/Makefile (new)
   1.1       +3 -0      ports/databases/mysqlard/distinfo (new)
   1.1       +184 -0    ports/databases/mysqlard/files/mysqlard.sh.in (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-aa (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-ab (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-ac (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-ad (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-ae (new)
   1.1       +11 -0     ports/databases/mysqlard/files/patch-af (new)
   1.1       +8 -0      ports/databases/mysqlard/files/patch-ag (new)
   1.1       +25 -0     ports/databases/mysqlard/files/pkg-message.in (new)
   1.1       +6 -0      ports/databases/mysqlard/pkg-descr (new)
   1.1       +15 -0     ports/databases/mysqlard/pkg-plist (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/101217: commit references a PR
Date: Wed,  4 Oct 2006 20:06:20 +0000 (UTC)

 alepulver    2006-10-04 20:03:37 UTC
 
   FreeBSD doc repository (ports committer)
 
   Modified files:
     en_US.ISO8859-1/articles/contributors contrib.additional.sgml 
   Log:
   Add Greg Albrecht for databases/mysqlard.
   
   PR:             ports/101217
   Submitted by:   Greg Albrecht <gregoryba@gmail.com>
   
   Revision  Changes    Path
   1.618     +5 -0      doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: "Greg Albrecht" <gregoryba@gmail.com>
To: bug-followup@FreeBSD.org, gregoryba@gmail.com
Cc: verm@darkbeer.org, acardenas@bsd.org.pe, gurdiga@gmail.com
Subject: Re: ports/101217: new port: databases/mysqlard A tool to collect and
Date: Tue, 21 Nov 2006 15:18:16 -0800

 ------=_Part_56008_14734709.1164151096191
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 here's an updated version that fixes the following bugs:
 
 1) missing '\' in mysqlard.sh startup script, submitted by: Amar
 Takhar <verm@darkbeer.org> and Jose Alonso Cardenas Marquez
 <acardenas@bsd.org.pe>
 
 2) fixed date format, submitted by: Vlad GURDIGA <gurdiga@gmail.com>
 
 3) fixed bash dependency, submitted by: Vlad GURDIGA <gurdiga@gmail.com>
 
 4) fixed mysql startup dependency, submitted by: Vlad GURDIGA
 <gurdiga@gmail.com>
 
 known bugs:
 
 1) mysqlar-1.0.0 configure script does not honor '--with-mysql'
 configure option. submitted by: Amar Takhar <verm@darkbeer.org>
  unfortunately it looks like this is a bug in the distfile, will
 submit a bug report to the program author.
 
 
 thanks to everybody for your help!
 
 -g
 
 -- 
 Greg Albrecht (gregoryba@gmail.com)
 The Letter G - http://theletterg.org
 
 ------=_Part_56008_14734709.1164151096191
 Content-Type: application/x-shar; name=mysqlard-new.shar
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_eusxh8z9
 Content-Disposition: attachment; filename="mysqlard-new.shar"
 
 IyBUaGlzIGlzIGEgc2hlbGwgYXJjaGl2ZS4gIFNhdmUgaXQgaW4gYSBmaWxlLCByZW1vdmUgYW55
 dGhpbmcgYmVmb3JlCiMgdGhpcyBsaW5lLCBhbmQgdGhlbiB1bnBhY2sgaXQgYnkgZW50ZXJpbmcg
 InNoIGZpbGUiLiAgTm90ZSwgaXQgbWF5CiMgY3JlYXRlIGRpcmVjdG9yaWVzOyBmaWxlcyBhbmQg
 ZGlyZWN0b3JpZXMgd2lsbCBiZSBvd25lZCBieSB5b3UgYW5kCiMgaGF2ZSBkZWZhdWx0IHBlcm1p
 c3Npb25zLgojCiMgVGhpcyBhcmNoaXZlIGNvbnRhaW5zOgojCiMJbXlzcWxhcmQKIwlteXNxbGFy
 ZC9maWxlcwojCW15c3FsYXJkL2ZpbGVzL215c3FsYXJkLnNoLmluCiMJbXlzcWxhcmQvZmlsZXMv
 cGF0Y2gtYWEKIwlteXNxbGFyZC9maWxlcy9wYXRjaC1hYgojCW15c3FsYXJkL2ZpbGVzL3BhdGNo
 LWFjCiMJbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWQKIwlteXNxbGFyZC9maWxlcy9wYXRjaC1hZQoj
 CW15c3FsYXJkL2ZpbGVzL3BhdGNoLWFmCiMJbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWcKIwlteXNx
 bGFyZC9maWxlcy9wa2ctbWVzc2FnZS5pbgojCW15c3FsYXJkL01ha2VmaWxlCiMJbXlzcWxhcmQv
 ZGlzdGluZm8KIwlteXNxbGFyZC9wa2ctZGVzY3IKIwlteXNxbGFyZC9wa2ctcGxpc3QKIwplY2hv
 IGMgLSBteXNxbGFyZApta2RpciAtcCBteXNxbGFyZCA+IC9kZXYvbnVsbCAyPiYxCmVjaG8gYyAt
 IG15c3FsYXJkL2ZpbGVzCm1rZGlyIC1wIG15c3FsYXJkL2ZpbGVzID4gL2Rldi9udWxsIDI+JjEK
 ZWNobyB4IC0gbXlzcWxhcmQvZmlsZXMvbXlzcWxhcmQuc2guaW4Kc2VkICdzL15YLy8nID5teXNx
 bGFyZC9maWxlcy9teXNxbGFyZC5zaC5pbiA8PCAnRU5ELW9mLW15c3FsYXJkL2ZpbGVzL215c3Fs
 YXJkLnNoLmluJwpYIyEvdXNyL2xvY2FsL2Jpbi9iYXNoClgjClgjICAkSWQ6IG15c3FsYXJkLnNl
 cnZlci5zaCA0MCAyMDA2LTAxLTIwIDIwOjI2OjExWiBkZXdpdGdlICQKWCMJClgjICBNeVNRTCBB
 Y3Rpdml0eSBSZXBvcnQKWCMgIG15c3FsYXJkIFN0YXJ0IHNjcmlwdCBmb3IgdGhlIE15U1FMIEFj
 dGl2aXR5IFJlcG9ydCBEYWVtb24KWCMKWCMgIENvcHlyaWdodCAyMDA0IEdlcnQgRGV3aXQgPGdl
 cnQuZGV3aXRAc29zLmJlPgpYIwpYIyBjaGtjb25maWc6IC0gNzkgMTEKWCMgZGVzY3JpcHRpb246
 IE15U1FMIEFjdGl2aXR5IFJlcG9ydCBEYWVtb24KWCMgcHJvY2Vzc25hbWU6IG15c3FsYXJkClgj
 IGNvbmZpZzogJSVQUkVGSVglJS9ldGMvbXlzcWxhcmQuY25mClgjIHBpZGZpbGU6IC92YXIvcnVu
 L215c3FsYXJkLnBpZApYIyB2LS0gZnJlZWJzZCAgfCAgcmVkaGF0PyAtLV4KWCMgUFJPVklERTog
 bXlzcWxhcmQKWCMgUkVRVUlSRTogbXlzcWwKWCMgS0VZV09SRDogc2h1dGRvd24KWApYLiAlJVJD
 X1NVQlIlJQpYClhuYW1lPSJteXNxbGFyZCIKWHJjdmFyPWBzZXQgcmN2YXJgClhjb21tYW5kPSIv
 dXNyL2xvY2FsL3NiaW4vbXlzcWxhcmQiClhzdGFydF9wcmVjbWQ9IiR7bmFtZX1fcHJlc3RhcnQi
 ClgKWG15c3FsYXJkX3ByZWNtZCgpClh7ClggIGlmICEgY2hlY2t5ZXNubyBteXNxbF9lbmFibGUg
 fHwgISBjaGVja3llc25vIG15c3FsNDBfZW5hYmxlIHx8ICEgY2hlY2t5ZXNubyBteXNxbDQxX2Vu
 YWJsZSBcClggICAgISBjaGVja3llc25vIG15c3FsNTBfZW5hYmxlIHx8ICEgY2hlY2t5ZXNubyBt
 eXNxbDUxX2VuYWJsZTsgdGhlbgpYICAgIGZvcmNlX2RlcGVuZCBteXNxbCB8fCByZXR1cm4gMQpY
 ICBmaQpYICByZXR1cm4gMApYfQpYClhsb2FkX3JjX2NvbmZpZyAkbmFtZQpYClgjIFNvdXJjZSB0
 aGUgY29uZmlnIHNjcmlwdApYaWYgW1sgIiRkYXRhZGlyIiA9PSAiIiBdXSA7IHRoZW4KWAllY2hv
 IExvYWRpbmcgZGVmYXVsdHNldHRpbmdzClgJLiAlJVBSRUZJWCUlL2V0Yy9teXNxbGFyZC5jbmYK
 WGZpClgKWCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpYIyBPcHRpb25zLCBjaGFuZ2UgdGhlbSBpbiAlJVBSRUZJ
 WCUlL2V0Yy9teXNxbGFyZC5jbmYgb3IgeW91IGNhbiBvdmVycmlkZQpYIyB0aGVtIGhlcmUsIGJ1
 dCB0aGF0J3Mgbm90IHJlY29tbWVuZGVkLiBSZWFkIHRoZSBjb21tZW50cyBpbgpYIyAlJVBSRUZJ
 WCUlL2V0Yy9teXNxbGFyZC5jbmYgaWYgeW91IHdhbnQgdG8ga25vdyB3aGF0IHlvdSdyZSBjaGFu
 Z2luZy4KWApYc3RlcD0ke3N0ZXA6PSI2MCJ9ClhtaW5zYW1wbGVzPSR7bWluc2FtcGxlczo9Ijcy
 MCJ9ClhkYXRhZGlyPSR7ZGF0YWRpcjo9IiUlUFJFRklYJSUvd3d3L215c3FsYXJkIn0KWHBpZGZp
 bGU9L3Zhci9ydW4vbXlzcWxhcmQucGlkClhSUkRUT09MPSR7UlJEVE9PTDo9IiUlUFJFRklYJSUv
 YmluL3JyZHRvb2wifQpYTVlTUUxBUkQ9JHtNWVNRTEFSRDo9IiUlUFJFRklYJSUvc2Jpbi9teXNx
 bGFyZCJ9ClhNWVNRTFVTRVI9JHtNWVNRTFVTRVI6PSJteXNxbGFyIn0KWE1ZU1FMSE9TVD0ke01Z
 U1FMSE9TVDo9IiJ9ClgjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKWApYIyBkb24ndCBjaGFuZ2UgYW55dGhpbmcg
 YmVsb3cgdGhpcyBsaW5lLCBidXQgaGVjaywgSSBjYW4ndCBzdG9wIHlvdSA7LSkKWGNvbmZpbGU9
 JHtjb25maWxlOj0iJHtkYXRhZGlyfS9jb25uZWN0aW9ucy5ycmQifQpYdGFiZmlsZT0ke3RhYmZp
 bGU6PSIke2RhdGFkaXJ9L3RhYmxlX2NhY2hlLnJyZCJ9ClhrZXlmaWxlPSR7a2V5ZmlsZTo9IiR7
 ZGF0YWRpcn0va2V5X2NhY2hlLnJyZCJ9ClhxdWVyeWZpbGU9JHtxdWVyeWZpbGU6PSIke2RhdGFk
 aXJ9L3F1ZXJpZXMucnJkIn0KWHNsYXZlZmlsZT0ke3NsYXZlZmlsZTo9IiR7ZGF0YWRpcn0vc2xh
 dmUucnJkIn0KWApYc2xhdmVvcHQ9ClhpZiBbWyAiJHNsYXZlIiAhPSAiIiBdXTsgdGhlbgpYICBz
 bGF2ZW9wdD0tTApYZmkKWApYaWYgW1sgIiRNWVNRTEhPU1QiICE9ICIiIF1dIDsgdGhlbgpYICBN
 WVNRTEhPU1Q9LS1ob3N0PSRNWVNRTEhPU1QKWGZpClgKWCMgZnVuY3Rpb25zClhhdmdzYW1wcyAo
 KSB7ClggIGF2Zz0kKCgkMSAvICQyKSkKWCAgaWYgWyAke2F2Z30gLWx0IDEgXQpYICB0aGVuClgg
 ICAgYXZnPTEKWCAgZmkKWCAgZWNobyAke2F2Z30KWH0KWGFyY2hpdmVzICgpIHsKWCAgYXJjaD0k
 KCgkMSAvICQyKSkKWCAgaWYgW1sgJCgoJDIgKiAke2FyY2h9ICogJDMpKSAtbHQgJDQgXV0KWCAg
 dGhlbgpYICAgIGFyY2g9JCgoJHthcmNofSArIDEpKQpYICBmaQpYICBlY2hvICR7YXJjaH0KWH0K
 WApYIyBjYWxjdWxhdGVkIHZhbHVlcwpYaGVhcnRiZWF0PSQoKCR7c3RlcH0gKiAyKSkKWGhvdXJz
 YW1wcz0kKCgzNjAwIC8gJHtzdGVwfSkpClhob3VyYXZncz0kKGF2Z3NhbXBzICR7aG91cnNhbXBz
 fSAke21pbnNhbXBsZXN9KQpYaG91cmFyY2hpdmVzPSQoYXJjaGl2ZXMgJHtob3Vyc2FtcHN9ICR7
 aG91cmF2Z3N9ICR7c3RlcH0gMzYwMCkKWGRheXNhbXBzPSQoKDg2NDAwIC8gJHtzdGVwfSkpClhk
 YXlhdmdzPSQoYXZnc2FtcHMgJHtkYXlzYW1wc30gJHttaW5zYW1wbGVzfSkKWGRheWFyY2hpdmVz
 PSQoYXJjaGl2ZXMgJHtkYXlzYW1wc30gJHtkYXlhdmdzfSAke3N0ZXB9IDg2NDAwKQpYd2Vla3Nh
 bXBzPSQoKDYwNDgwMCAvICR7c3RlcH0pKQpYd2Vla2F2Z3M9JChhdmdzYW1wcyAke3dlZWtzYW1w
 c30gJHttaW5zYW1wbGVzfSkKWHdlZWthcmNoaXZlcz0kKGFyY2hpdmVzICR7d2Vla3NhbXBzfSAk
 e3dlZWthdmdzfSAke3N0ZXB9IDYwNDgwMCkKWG1vbnRoc2FtcHM9JCgoMjY3ODQwMCAvICR7c3Rl
 cH0pKQpYbW9udGhhdmdzPSQoYXZnc2FtcHMgJHttb250aHNhbXBzfSAke21pbnNhbXBsZXN9KQpY
 bW9udGhhcmNoaXZlcz0kKGFyY2hpdmVzICR7bW9udGhzYW1wc30gJHttb250aGF2Z3N9ICR7c3Rl
 cH0gMjY3ODQwMCkKWHllYXJzYW1wcz0kKCgzMTYyMjQwMCAvICR7c3RlcH0pKQpYeWVhcmF2Z3M9
 JChhdmdzYW1wcyAke3llYXJzYW1wc30gJHttaW5zYW1wbGVzfSkKWHllYXJhcmNoaXZlcz0kKGFy
 Y2hpdmVzICR7eWVhcnNhbXBzfSAke3llYXJhdmdzfSAke3N0ZXB9IDMxNjIyNDAwKQpYClgjIGNh
 bGN1bGF0ZWQgUlJBJ3MKWGhvdXJycmE9IlJSQTpBVkVSQUdFOjAuNToke2hvdXJhdmdzfToke2hv
 dXJhcmNoaXZlc30iClhkYXlycmE9IlJSQTpBVkVSQUdFOjAuNToke2RheWF2Z3N9OiR7ZGF5YXJj
 aGl2ZXN9IgpYd2Vla3JyYT0iUlJBOkFWRVJBR0U6MC41OiR7d2Vla2F2Z3N9OiR7d2Vla2FyY2hp
 dmVzfSIKWG1vbnRocnJhPSJSUkE6QVZFUkFHRTowLjU6JHttb250aGF2Z3N9OiR7bW9udGhhcmNo
 aXZlc30iClh5ZWFycnJhPSJSUkE6QVZFUkFHRTowLjU6JHt5ZWFyYXZnc306JHt5ZWFyYXJjaGl2
 ZXN9IgpYYWxscnJhcz0iJHtob3VycnJhfSAke2RheXJyYX0gJHt3ZWVrcnJhfSAke21vbnRocnJh
 fSAke3llYXJycmF9IgpYClhpbml0cnJkICgpIHsKWGlmIFsgISAtZiAke2NvbmZpbGV9IF0KWHRo
 ZW4KWCAgJHtSUkRUT09MfSBjcmVhdGUgJHtjb25maWxlfSAtLXN0ZXAgJHtzdGVwfSBcClggIERT
 OnRocmVhZHNfY29ubmVjdGVkOkdBVUdFOiR7aGVhcnRiZWF0fTowOlUgXApYICBEUzptYXhfY29u
 bmVjdGlvbnM6R0FVR0U6JHtoZWFydGJlYXR9OjA6VSBcClggICR7YWxscnJhc30KWGZpClgKWGlm
 IFsgISAtZiAke3RhYmZpbGV9IF0KWHRoZW4KWCAgJHtSUkRUT09MfSBjcmVhdGUgJHt0YWJmaWxl
 fSAtLXN0ZXAgJHtzdGVwfSBcClggIERTOm9wZW5fdGFibGVzOkdBVUdFOiR7aGVhcnRiZWF0fTow
 OlUgXApYICBEUzp0YWJsZV9jYWNoZTpHQVVHRToke2hlYXJ0YmVhdH06MDpVIFwKWCAgRFM6Y3Jl
 YXRlZF90bXBfdGFibGVzOkNPVU5URVI6JHtoZWFydGJlYXR9OjA6VSBcClggIERTOmNyZWF0ZWRf
 dG1wX2Rpc2tfdDpDT1VOVEVSOiR7aGVhcnRiZWF0fTowOlUgXApYICAke2FsbHJyYXN9ClhmaQpY
 ClhpZiBbICEgLWYgJHtrZXlmaWxlfSBdClh0aGVuClggICR7UlJEVE9PTH0gY3JlYXRlICR7a2V5
 ZmlsZX0gLS1zdGVwICR7c3RlcH0gXApYICBEUzprZXlfcmVhZHM6Q09VTlRFUjoke2hlYXJ0YmVh
 dH06MDpVIFwKWCAgRFM6a2V5X3JlYWRfcmVxdWVzdHM6Q09VTlRFUjoke2hlYXJ0YmVhdH06MDpV
 IFwKWCAgRFM6a2V5X2J1ZmZlcl9zaXplOkdBVUdFOiR7aGVhcnRiZWF0fTowOlUgXApYICBEUzpr
 ZXlfYmxvY2tzX3VzZWQ6R0FVR0U6JHtoZWFydGJlYXR9OjA6VSBcClggIERTOnNlbGVjdF9mdWxs
 X2pvaW46Q09VTlRFUjoke2hlYXJ0YmVhdH06MDpVIFwKWCAgRFM6c2VsZWN0X3JhbmdlX2NoZWNr
 OkNPVU5URVI6JHtoZWFydGJlYXR9OjA6VSBcClggIERTOmhhbmRsZXJfcmVhZF9rZXk6Q09VTlRF
 Ujoke2hlYXJ0YmVhdH06MDpVIFwKWCAgRFM6aGFuZGxlcl9yZWFkX3JuZDpDT1VOVEVSOiR7aGVh
 cnRiZWF0fTowOlUgXApYICBEUzpzbG93X3F1ZXJpZXM6Q09VTlRFUjoke2hlYXJ0YmVhdH06MDpV
 IFwKWCAgJHthbGxycmFzfQpYZmkKWApYaWYgWyAhIC1mICR7cXVlcnlmaWxlfSBdClh0aGVuClgg
 ICR7UlJEVE9PTH0gY3JlYXRlICR7cXVlcnlmaWxlfSAtLXN0ZXAgJHtzdGVwfSBcClggIERTOnF1
 ZXN0aW9uczpDT1VOVEVSOiR7aGVhcnRiZWF0fTowOlUgXApYICBEUzpjb21fc2VsZWN0OkNPVU5U
 RVI6JHtoZWFydGJlYXR9OjA6VSBcClggIERTOmNvbV9pbnNlcnQ6Q09VTlRFUjoke2hlYXJ0YmVh
 dH06MDpVIFwKWCAgRFM6Y29tX3VwZGF0ZTpDT1VOVEVSOiR7aGVhcnRiZWF0fTowOlUgXApYICBE
 Uzpjb21fZGVsZXRlOkNPVU5URVI6JHtoZWFydGJlYXR9OjA6VSBcClggICR7YWxscnJhc30KWGZp
 ClgKWGlmIFsgISAtZiAke3NsYXZlZmlsZX0gXQpYdGhlbgpYICAke1JSRFRPT0x9IGNyZWF0ZSAk
 e3NsYXZlZmlsZX0gLS1zdGVwICR7c3RlcH0gXApYICBEUzpyZWFkX21hc3Rlcl9sb2dfcG9zOkNP
 VU5URVI6JHtoZWFydGJlYXR9OjA6VSBcClggIERTOmV4ZWNfbWFzdGVyX2xvZ19wb3M6Q09VTlRF
 Ujoke2hlYXJ0YmVhdH06MDpVIFwKWCAgJHthbGxycmFzfQpYZmkKWH0KWApYc3RhdHVzKCkgewpY
 aWYgWyAtZiAkcGlkZmlsZSBdClh0aGVuClggIGVjaG8gJDAgaXMgcnVubmluZy4gUElEIGBjYXQg
 JHtwaWRmaWxlfWAKWGVsc2UKWCAgZWNobyAkMCBpcyBub3QgcnVubmluZy4KWGZpClgKWH0KWApY
 Y2FzZSAiJDEiIGluClgJc3RhcnQpClgJCWluaXRycmQKWAkJJHtNWVNRTEFSRH0gLS1zdGVwPSR7
 c3RlcH0gLS1kYXRhZGlyPSR7ZGF0YWRpcn0gLS11c2VyPSR7TVlTUUxVU0VSfSBcClggICAgICAg
 ICAgICAgICAgICRNWVNRTEhPU1QgLS1waWRmaWxlPSR7cGlkZmlsZX0gJHtzbGF2ZW9wdH0KWAk7
 OwpYCXN0b3ApClgJCWtpbGwgYGNhdCAke3BpZGZpbGV9YApYCQlybSAtZiAke3BpZGZpbGV9ClgJ
 OzsKWAlpbml0cnJkKQpYCQlpbml0cnJkClgJOzsKWAlzdGF0dXMpClgJCXN0YXR1cwpYCTs7ClgJ
 KikKWAkJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xpbml0cnJkfSIKWAkJZXhp
 dCAxClhlc2FjClgKWGV4aXQgJD8KRU5ELW9mLW15c3FsYXJkL2ZpbGVzL215c3FsYXJkLnNoLmlu
 CmVjaG8geCAtIG15c3FsYXJkL2ZpbGVzL3BhdGNoLWFhCnNlZCAncy9eWC8vJyA+bXlzcWxhcmQv
 ZmlsZXMvcGF0Y2gtYWEgPDwgJ0VORC1vZi1teXNxbGFyZC9maWxlcy9wYXRjaC1hYScKWC0tLSBz
 cmMvbXlzcWxhcmQuc2VydmVyLnNoLm9yaWcJVHVlIEF1ZyAgMSAxMToyMzoxOSAyMDA2ClgrKysg
 c3JjL215c3FsYXJkLnNlcnZlci5zaAlUdWUgQXVnICAxIDExOjExOjI5IDIwMDYKWEBAIC0xLDQg
 KzEsNCBAQApYLSMhL2Jpbi9iYXNoClgrIyEvdXNyL2xvY2FsL2Jpbi9iYXNoClggIwpYICMgICRJ
 ZDogbXlzcWxhcmQuc2VydmVyLnNoIDQwIDIwMDYtMDEtMjAgMjA6MjY6MTFaIGRld2l0Z2UgJApY
 ICMJCkVORC1vZi1teXNxbGFyZC9maWxlcy9wYXRjaC1hYQplY2hvIHggLSBteXNxbGFyZC9maWxl
 cy9wYXRjaC1hYgpzZWQgJ3MvXlgvLycgPm15c3FsYXJkL2ZpbGVzL3BhdGNoLWFiIDw8ICdFTkQt
 b2YtbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWInClgtLS0gc3JjL215c3FsYXIubW9udGhseS5zaC5v
 cmlnCVR1ZSBBdWcgIDEgMTE6MjM6MTkgMjAwNgpYKysrIHNyYy9teXNxbGFyLm1vbnRobHkuc2gJ
 VHVlIEF1ZyAgMSAxMToxMDo1NCAyMDA2ClhAQCAtMSw0ICsxLDQgQEAKWC0jIS9iaW4vYmFzaApY
 KyMhL3Vzci9sb2NhbC9iaW4vYmFzaApYICMKWCAjICAkSWQ6IG15c3FsYXIubW9udGhseS5zaCAz
 NSAyMDA0LTAzLTEwIDE1OjQ4OjQxWiBkZXdpdGdlICQKWCAjCQpFTkQtb2YtbXlzcWxhcmQvZmls
 ZXMvcGF0Y2gtYWIKZWNobyB4IC0gbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWMKc2VkICdzL15YLy8n
 ID5teXNxbGFyZC9maWxlcy9wYXRjaC1hYyA8PCAnRU5ELW9mLW15c3FsYXJkL2ZpbGVzL3BhdGNo
 LWFjJwpYLS0tIHNyYy9teXNxbGFyLndlZWtseS5zaC5vcmlnCVR1ZSBBdWcgIDEgMTE6MjM6MTkg
 MjAwNgpYKysrIHNyYy9teXNxbGFyLndlZWtseS5zaAlUdWUgQXVnICAxIDExOjExOjA5IDIwMDYK
 WEBAIC0xLDQgKzEsNCBAQApYLSMhL2Jpbi9iYXNoClgrIyEvdXNyL2xvY2FsL2Jpbi9iYXNoClgg
 IwpYICMgICRJZDogbXlzcWxhci53ZWVrbHkuc2ggMzUgMjAwNC0wMy0xMCAxNTo0ODo0MVogZGV3
 aXRnZSAkClggIwkKRU5ELW9mLW15c3FsYXJkL2ZpbGVzL3BhdGNoLWFjCmVjaG8geCAtIG15c3Fs
 YXJkL2ZpbGVzL3BhdGNoLWFkCnNlZCAncy9eWC8vJyA+bXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWQg
 PDwgJ0VORC1vZi1teXNxbGFyZC9maWxlcy9wYXRjaC1hZCcKWC0tLSBzcmMvbXlzcWxhcmQuY25m
 LnNoLm9yaWcJVHVlIEF1ZyAgMSAxMToyMzoxOSAyMDA2ClgrKysgc3JjL215c3FsYXJkLmNuZi5z
 aAlUdWUgQXVnICAxIDExOjExOjIyIDIwMDYKWEBAIC0xLDQgKzEsNCBAQApYLSMhL2Jpbi9iYXNo
 ClgrIyEvdXNyL2xvY2FsL2Jpbi9iYXNoClggIyAgJElkOiBteXNxbGFyZC5jbmYuc2ggNDAgMjAw
 Ni0wMS0yMCAyMDoyNjoxMVogZGV3aXRnZSAkClggIwkKWCAjICBNeVNRTCBBY3Rpdml0eSBSZXBv
 cnQKRU5ELW9mLW15c3FsYXJkL2ZpbGVzL3BhdGNoLWFkCmVjaG8geCAtIG15c3FsYXJkL2ZpbGVz
 L3BhdGNoLWFlCnNlZCAncy9eWC8vJyA+bXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWUgPDwgJ0VORC1v
 Zi1teXNxbGFyZC9maWxlcy9wYXRjaC1hZScKWC0tLSBzcmMvbXlzcWxhci5kYWlseS5zaC5vcmln
 CVR1ZSBBdWcgIDEgMTE6MjM6MTkgMjAwNgpYKysrIHNyYy9teXNxbGFyLmRhaWx5LnNoCVR1ZSBB
 dWcgIDEgMTE6MTA6NDcgMjAwNgpYQEAgLTEsNCArMSw0IEBAClgtIyEvYmluL2Jhc2gKWCsjIS91
 c3IvbG9jYWwvYmluL2Jhc2gKWCAjClggIyAgJElkOiBteXNxbGFyLmRhaWx5LnNoIDM1IDIwMDQt
 MDMtMTAgMTU6NDg6NDFaIGRld2l0Z2UgJApYICMJCkVORC1vZi1teXNxbGFyZC9maWxlcy9wYXRj
 aC1hZQplY2hvIHggLSBteXNxbGFyZC9maWxlcy9wYXRjaC1hZgpzZWQgJ3MvXlgvLycgPm15c3Fs
 YXJkL2ZpbGVzL3BhdGNoLWFmIDw8ICdFTkQtb2YtbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWYnClgt
 LS0gc3JjL215c3FsYXIucGhwLnNoLm9yaWcJVHVlIEF1ZyAgMSAxMToyMzoxOSAyMDA2ClgrKysg
 c3JjL215c3FsYXIucGhwLnNoCVR1ZSBBdWcgIDEgMTE6MTM6MzIgMjAwNgpYQEAgLTE1LDcgKzE1
 LDcgQEAKWCAgKiBhbmQgaGFzIG9ubHkgdXNhZ2UgcGVybWlzc2lvbnMsIG5vIGdyYW50cyBvbiBh
 bnkgZGF0YWJhc2VzIG9yIHRhYmxlcy4KWCAgKi8KWCAgICRzcWxob3N0ID0gImxvY2FsaG9zdCI7
 ClgtICAkc3FsdXNlciA9ICIiOwpYKyAgJHNxbHVzZXIgPSAibXlzcWxhciI7ClggICAkc3FscGFz
 c3dvcmQgPSAiIjsKWApYIC8qIHNvcnQgYSBtYXRyaXggdXNpbmcgY29sdW1uIGFzIGtleSAqLwpF
 TkQtb2YtbXlzcWxhcmQvZmlsZXMvcGF0Y2gtYWYKZWNobyB4IC0gbXlzcWxhcmQvZmlsZXMvcGF0
 Y2gtYWcKc2VkICdzL15YLy8nID5teXNxbGFyZC9maWxlcy9wYXRjaC1hZyA8PCAnRU5ELW9mLW15
 c3FsYXJkL2ZpbGVzL3BhdGNoLWFnJwpYLS0tIHNyYy9teXNxbGFyX2dyYXBoLnNoLm9yaWcJVHVl
 IEF1ZyAgMSAxMToyMzoxOSAyMDA2ClgrKysgc3JjL215c3FsYXJfZ3JhcGguc2gJVHVlIE5vdiAy
 MSAxNDozMzo0MCAyMDA2ClhAQCAtMSw0ICsxLDQgQEAKWC0jIS9iaW4vYmFzaApYKyMhL3Vzci9s
 b2NhbC9iaW4vYmFzaApYICMKWCAjICAkSWQ6IG15c3FsYXJfZ3JhcGguc2ggNDAgMjAwNi0wMS0y
 MCAyMDoyNjoxMVogZGV3aXRnZSAkClggIwkKWEBAIC02MiwxNyArNjIsMTcgQEAKWCAgICAgaW1n
 ZGlyPSR7YXJjaGl2ZWRpcn0KWCAgIGZpClggICBob3VyX2RhdGU9JHtzdGFydH0KWC0gIGhvdXJf
 c3RhcnQ9JChkYXRlIC1kIiR7c3RhcnR9IiAiKyVzIikKWCsgIGhvdXJfc3RhcnQ9JChkYXRlIC1q
 ZiAiJVktJW0tJWQgJUg6JU0iICIke3N0YXJ0fSIgIislcyIpClggICBob3VyX2VuZD0kKCgke2hv
 dXJfc3RhcnR9ICsgMzYwMCkpClgtICBkYXlfZGF0ZT0kKGRhdGUgLWQiJHtzdGFydH0iICIrJUEg
 JUYiKQpYKyAgZGF5X2RhdGU9JChkYXRlIC1qZiAiJVktJW0tJWQgJUg6JU0iICIke3N0YXJ0fSIg
 IislQSAlRiIpClggICBkYXlfc3RhcnQ9JHtob3VyX3N0YXJ0fQpYICAgZGF5X2VuZD0kKCgke2Rh
 eV9zdGFydH0gKyAzNjAwICogMjQpKQpYLSAgd2Vla19kYXRlPSQoZGF0ZSAtZCIke3N0YXJ0fSIg
 Iit3ZWVrIG5yLiAlViAlWSIpClgrICB3ZWVrX2RhdGU9JChkYXRlIC1qZiAiJVktJW0tJWQgJUg6
 JU0iICIke3N0YXJ0fSIgIit3ZWVrIG5yLiAlViAlWSIpClggICB3ZWVrX3N0YXJ0PSR7aG91cl9z
 dGFydH0KWCAgIHdlZWtfZW5kPSQoKCR7d2Vla19zdGFydH0gKyAzNjAwICogMjQgKiA3KSkKWCAj
 IGZpbmQgZmlyc3QgYW5kIGxhc3QgZGF5IG9mIHRoZSBtb250aApYLSAgeWVhcj0kKGRhdGUgLWQi
 JHtzdGFydH0iICIrJVkiKQpYLSAgbW9udGg9JChkYXRlIC1kIiR7c3RhcnR9IiAiKyVtIikKWCsg
 IHllYXI9JChkYXRlIC1qZiAiJVktJW0tJWQgJUg6JU0iICIke3N0YXJ0fSIgIislWSIpClgrICBt
 b250aD0kKGRhdGUgLWpmICIlWS0lbS0lZCAlSDolTSIgIiR7c3RhcnR9IiAiKyVtIikKWCAgIGlm
 IFsgJHttb250aH0gLWd0IDExIF0KWCAgIHRoZW4KWCAgICAgbmV4dG1vbnRoPTAxClhAQCAtODEs
 MTMgKzgxLDEzIEBAClggICAgIG5leHRtb250aD0kKCgxMCMke21vbnRofSArIDEpKQpYICAgICBu
 ZXh0eWVhcj0ke3llYXJ9ClggICBmaQpYLSAgbW9udGhfZGF0ZT0kKGRhdGUgLWQiJHtzdGFydH0i
 ICIrJUIgJVkiKQpYLSAgbW9udGhfc3RhcnQ9JChkYXRlIC1kIiR7eWVhcn0tJHttb250aH0tMDEi
 ICIrJXMiKQpYLSAgbW9udGhfZW5kPSQoZGF0ZSAtZCIke25leHR5ZWFyfS0ke25leHRtb250aH0t
 MDEiICIrJXMiKQpYLSAgeWVhcl9kYXRlPSQoZGF0ZSAtZCIke3N0YXJ0fSIgIislWSIpClgtICB5
 ZWFyX3N0YXJ0PSQoZGF0ZSAtZCIke3llYXJ9LTAxLTAxIiAiKyVzIikKWCsgIG1vbnRoX2RhdGU9
 JChkYXRlIC1qZiAiJVktJW0tJWQgJUg6JU0iICIke3N0YXJ0fSIgIislQiAlWSIpClgrICBtb250
 aF9zdGFydD0kKGRhdGUgLWpmICIlWS0lTS0lZCIgIiR7eWVhcn0tJHttb250aH0tMDEiICIrJXMi
 KQpYKyAgbW9udGhfZW5kPSQoZGF0ZSAtamYgIiVZLSVNLSVkIiAiJHtuZXh0eWVhcn0tJHtuZXh0
 bW9udGh9LTAxIiAiKyVzIikKWCsgIHllYXJfZGF0ZT0kKGRhdGUgLWpmICIlWS0lbS0lZCAlSDol
 TSIgIiR7c3RhcnR9IiAiKyVZIikKWCsgIHllYXJfc3RhcnQ9JChkYXRlIC1qZiAiJVktJU0tJWQi
 ICIke3llYXJ9LTAxLTAxIiAiKyVzIikKWCAgIG5leHR5ZWFyPSQoKCR7eWVhcn0gKyAxKSkKWC0g
 IHllYXJfZW5kPSQoZGF0ZSAtZCIke25leHR5ZWFyfS0wMS0wMSIgIislcyIpClgrICB5ZWFyX2Vu
 ZD0kKGRhdGUgLWpmICIlWS0lTS0lZCIgIiR7bmV4dHllYXJ9LTAxLTAxIiAiKyVzIikKWCBlbHNl
 ClggICBob3VyX2RhdGU9JChkYXRlICsiJUYgJVIiKQpYICAgaG91cl9lbmQ9JChkYXRlICslcykK
 RU5ELW9mLW15c3FsYXJkL2ZpbGVzL3BhdGNoLWFnCmVjaG8geCAtIG15c3FsYXJkL2ZpbGVzL3Br
 Zy1tZXNzYWdlLmluCnNlZCAncy9eWC8vJyA+bXlzcWxhcmQvZmlsZXMvcGtnLW1lc3NhZ2UuaW4g
 PDwgJ0VORC1vZi1teXNxbGFyZC9maWxlcy9wa2ctbWVzc2FnZS5pbicKWD09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PQpYClgxKSBBZGQgdGhlICdteXNxbGFyJyB1c2VyIHdpdGggVVNBR0UgcHJpdmlsZWdl
 cyB0byB5b3VyIG15c3FsIHNlcnZlcjoKWApYJCBteXNxbCAtdSByb290IC1wIG15c3FsClhteXNx
 bD4gR1JBTlQgVVNBR0UgT04gKi4qIFRPIG15c3FsYXJAbG9jYWxob3N0OwpYbXlzcWw+IEZMVVNI
 IFBSSVZJTEVHRVM7ClgKWDIpIEFkZCB0aGUgbXlzcWxhcmQgY3JvbnRhYiB0byByb290J3MgY3Jv
 bnRhYjoKWApYKi81ICogKiAqICogaG91cmx5PTEgZGFpbHk9MSB3ZWVrbHk9MSBtb250aGx5PTEg
 XApYJSVQUkVGSVglJS9iaW4vbXlzcWxhcl9ncmFwaCA+IC9kZXYvbnVsbApYClgzKSBBZGQgYSBs
 aW5lIGxpa2UgdGhpcyB0byB5b3VyIGFwYWNoZSdzIGh0dHBkLmNvbmY6ClgKWEFsaWFzIC9teXNx
 bGFyLyAlJVBSRUZJWCUlL3d3dy9teXNxbGFyZC8KWDxEaXJlY3RvcnkgIiUlUFJFRklYJSUvd3d3
 L215c3FsYXJkIj4KWCAgT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzIE11bHRpVmlld3Mg
 RXhlY0NHSQpYICBBbGxvd092ZXJyaWRlIEFsbApYICBPcmRlciBhbGxvdyxkZW55ClggIEFsbG93
 IGZyb20gYWxsClggIERpcmVjdG9yeUluZGV4IG15c3FsYXIucGhwClg8L0RpcmVjdG9yeT4KWApY
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09CkVORC1vZi1teXNxbGFyZC9maWxlcy9wa2ctbWVzc2FnZS5p
 bgplY2hvIHggLSBteXNxbGFyZC9NYWtlZmlsZQpzZWQgJ3MvXlgvLycgPm15c3FsYXJkL01ha2Vm
 aWxlIDw8ICdFTkQtb2YtbXlzcWxhcmQvTWFrZWZpbGUnClgjIE5ldyBwb3J0cyBjb2xsZWN0aW9u
 IG1ha2VmaWxlIGZvcjoJbXlzcWxhcmQKWCMgRGF0ZSBjcmVhdGVkOgkJCQkzMSBKdWx5IDIwMDYK
 WCMgV2hvbToJCQkJCUdyZWcgQWxicmVjaHQgPGdyZWdvcnliYUBnbWFpbC5jb20+ClgjClgjICRG
 cmVlQlNEOiBwb3J0cy9kYXRhYmFzZXMvbXlzcWxhcmQvTWFrZWZpbGUsdiAxLjEgMjAwNi8xMC8w
 NCAyMDowMDo0MCBhbGVwdWx2ZXIgRXhwICQKWCMKWApYUE9SVE5BTUU9CW15c3FsYXJkClhQT1JU
 VkVSU0lPTj0JMS4wLjAKWENBVEVHT1JJRVM9CWRhdGFiYXNlcyB3d3cKWE1BU1RFUl9TSVRFUz0J
 aHR0cDovL2dlcnQuc29zLmJlL2Rvd25sb2Fkcy9teXNxbGFyLwpYClhNQUlOVEFJTkVSPQlncmVn
 b3J5YmFAZ21haWwuY29tClhDT01NRU5UPQlBIHRvb2wgdG8gY29sbGVjdCBhbmQgZ3JhcGggZGF0
 YWJhc2Ugc3RhdGlzdGljcyBmcm9tIG15c3FsClgKWEJVSUxEX0RFUEVORFM9CXJyZHRvb2w6JHtQ
 T1JUU0RJUn0vbmV0L3JyZHRvb2wgXApYICAgICAgICAgICAgICAgIGJhc2g6JHtQT1JUU0RJUn0v
 c2hlbGxzL2Jhc2ggClhSVU5fREVQRU5EUzo9CSR7QlVJTERfREVQRU5EU30KWApYVVNFX0FQQUNI
 RT0JMS4zKwpYVVNFX0dFVE9QVF9MT05HPXllcwpYVVNFX01ZU1FMPQl5ZXMKWApYTVlTUUxBUkRf
 RElSPz0JJHtQUkVGSVh9L3d3dy9teXNxbGFyZApYClhVU0VfUkNfU1VCUj0JbXlzcWxhcmQuc2gK
 WApYTUFOMT0JCW15c3FsYXJfZ3JhcGguMQpYTUFOOD0JCW15c3FsYXJkLjgKWApYR05VX0NPTkZJ
 R1VSRT0JeWVzClhDT05GSUdVUkVfVEFSR0VUPQktLWJ1aWxkPSR7QVJDSH0tcG9ydGJsZC1mcmVl
 YnNkJHtPU1JFTH0KWENPTkZJR1VSRV9BUkdTPQktLXdpdGgtcnJkPSIke0xPQ0FMQkFTRX0iIC0t
 ZGF0YWRpcj0iJHtQUkVGSVh9L3d3dyIgXApYCQktLXN5c2NvbmZkaXI9IiR7UFJFRklYfS9ldGMi
 ClgKWFNVQl9GSUxFUz0JcGtnLW1lc3NhZ2UKWApYcG9zdC1pbnN0YWxsOgpYCUAke0NQfSAvdXNy
 L2xvY2FsL3d3dy9teXNxbGFyZC9teXNxbGFyZC5jbmYgJHtQUkVGSVh9L2V0YwpYCUAke0VDSE9f
 Q01EfTsgJHtDQVR9ICR7UEtHTUVTU0FHRX07ICR7RUNIT19DTUR9ClgKWC5pbmNsdWRlIDxic2Qu
 cG9ydC5taz4KRU5ELW9mLW15c3FsYXJkL01ha2VmaWxlCmVjaG8geCAtIG15c3FsYXJkL2Rpc3Rp
 bmZvCnNlZCAncy9eWC8vJyA+bXlzcWxhcmQvZGlzdGluZm8gPDwgJ0VORC1vZi1teXNxbGFyZC9k
 aXN0aW5mbycKWE1ENSAobXlzcWxhcmQtMS4wLjAudGFyLmd6KSA9IDY5M2VmNmYzNmNhMjMyMTMx
 YjIyZGI3MDYzY2FlOTQwClhTSEEyNTYgKG15c3FsYXJkLTEuMC4wLnRhci5neikgPSAwN2YzMzMx
 MTBjOGZiYjAxNzRhNTM0NTcwODg0NDcxMTM5YjAwYzk2OTUwZjU2YTU1ZmRiYmQ0NjgzYWVmN2Y0
 ClhTSVpFIChteXNxbGFyZC0xLjAuMC50YXIuZ3opID0gMTA5NjU2CkVORC1vZi1teXNxbGFyZC9k
 aXN0aW5mbwplY2hvIHggLSBteXNxbGFyZC9wa2ctZGVzY3IKc2VkICdzL15YLy8nID5teXNxbGFy
 ZC9wa2ctZGVzY3IgPDwgJ0VORC1vZi1teXNxbGFyZC9wa2ctZGVzY3InClhUaGUgTXlTUUwgQWN0
 aXZpdHkgUmVwb3J0IHBhY2thZ2UgaXMgYSB0b29sIHRvIGhlbHAgTXlTUUwgZGF0YWJhc2UKWGFk
 bWluaXN0cmF0b3JzIHRvIGNvbGxlY3Qgc2V2ZXJhbCBkYXRhYmFzZSBwYXJhbWV0ZXJzIGFuZCB2
 YXJpYWJsZXMuClhUaGVzZSBjb2xsZWN0ZWQgdmFsdWVzIGNhbiBiZSB1c2VkIGZvciBzZXJ2ZXIg
 bW9uaXRvcmluZyBvcgpYcGVyZm9ybWFuY2UgdHVuaW5nIHB1cnBvc2VzLgpYClhXV1c6IGh0dHA6
 Ly9nZXJ0LnNvcy5iZS9lbi9wcm9qZWN0cy9teXNxbGFyLwpFTkQtb2YtbXlzcWxhcmQvcGtnLWRl
 c2NyCmVjaG8geCAtIG15c3FsYXJkL3BrZy1wbGlzdApzZWQgJ3MvXlgvLycgPm15c3FsYXJkL3Br
 Zy1wbGlzdCA8PCAnRU5ELW9mLW15c3FsYXJkL3BrZy1wbGlzdCcKWEB1bmV4ZWMgaWYgY21wIC1z
 ICVEL2V0Yy9teXNxbGFyZC5jbmYgJUQvd3d3L215c3FsYXJkL215c3FsYXJkLmNuZjsgdGhlbiBy
 bSAtZiAlRC9ldGMvbXlzcWxhcmQuY25mOyBmaQpYQGV4ZWMgWyAtZiAlRC9ldGMvbXlzcWxhcmQu
 Y25mIF0gfHwgY3AgJUQvd3d3L215c3FsYXJkL215c3FsYXJkLmNuZiAlRC9ldGMKWGJpbi9teXNx
 bGFyX2dyYXBoClhzYmluL215c3FsYXJkClh3d3cvbXlzcWxhcmQvbXlzcWwuZ2lmClh3d3cvbXlz
 cWxhcmQvbXlzcWxhci5kYWlseQpYd3d3L215c3FsYXJkL215c3FsYXIubW9udGhseQpYd3d3L215
 c3FsYXJkL215c3FsYXIucGhwClh3d3cvbXlzcWxhcmQvbXlzcWxhci53ZWVrbHkKWHd3dy9teXNx
 bGFyZC9teXNxbGFyZC5jbmYKWHd3dy9teXNxbGFyZC9teXNxbGFyZC5zZXJ2ZXIKWHd3dy9teXNx
 bGFyZC9ycmR0b29sLmdpZgpYd3d3L215c3FsYXJkL3Nvcy5naWYKWHd3dy9teXNxbGFyZC9zdHls
 ZS5jc3MKWEBkaXJybSB3d3cvbXlzcWxhcmQKRU5ELW9mLW15c3FsYXJkL3BrZy1wbGlzdApleGl0
 Cgo=
 ------=_Part_56008_14734709.1164151096191--

From: Amar Takhar <verm@darkbeer.org>
To: Greg Albrecht <gregoryba@gmail.com>
Cc: bug-followup@FreeBSD.org, acardenas@bsd.org.pe, gurdiga@gmail.com
Subject: Re: ports/101217: new port: databases/mysqlard A tool to collect and
Date: Tue, 21 Nov 2006 18:02:52 -0600

 On 2006-11-21 15:18 -0800, Greg Albrecht wrote:
 
 > 1) mysqlar-1.0.0 configure script does not honor '--with-mysql'
 > configure option. submitted by: Amar Takhar <verm@darkbeer.org>
 > unfortunately it looks like this is a bug in the distfile, will
 > submit a bug report to the program author.
 
 No, that's not the problem, the problem is:
 
 CONFIGURE_ARGS= --with-rrd="${LOCALBASE}" --datadir="${PREFIX}/www" \
         --sysconfdir="${PREFIX}/etc"
 
 That should be CONFIGURE_ARGS +=
 
 I set CONFIGURE_ARGS += --with-mysql=blah but since there is no += in the port 
 it overwrote my env setting.  Sorry I wasn't more clear in my report.
 
 
 Amar.
>Unformatted:
 graph database statistics from mysql
