summaryrefslogtreecommitdiff
path: root/rt/tools
diff options
context:
space:
mode:
Diffstat (limited to 'rt/tools')
-rw-r--r--rt/tools/cpan2rpm299
-rw-r--r--rt/tools/initdb216
-rwxr-xr-xrt/tools/insertdata618
-rw-r--r--rt/tools/testdeps115
4 files changed, 0 insertions, 1248 deletions
diff --git a/rt/tools/cpan2rpm b/rt/tools/cpan2rpm
deleted file mode 100644
index 9b54cb9..0000000
--- a/rt/tools/cpan2rpm
+++ /dev/null
@@ -1,299 +0,0 @@
-#!/usr/bin/perl -w
-
-
-# Take a perl tarball and make a specfile for it. Now with bundles.
-#
-# Copyright 2000,2001 Simon Wilkinson. All rights reserved.
-#
-# 10/18/2001 - <jesse@bestpractical.com>
-# Added resolution of prereq_pm modules
-#
-# This program is free software; you can redistribute it
-# and/or modify it under the same terms as Perl itself.
-#
-
-use strict;
-
-use CPAN;
-use POSIX;
-use Sys::Hostname;
-use File::Basename;
-use Getopt::Long;
-
-use vars qw ($DEBUG $ARCH $builddir $seen @report);
-
-$ARCH = 'i386';
-
-$DEBUG = 0;
-# Icky globals
-
-my $release;
-my $package;
-
-$seen = {};
-
-
-sub usage
-{
- print STDERR <<EOM;
-
-Usage: cpan2rpm [--release <release>] [--builddir <rpm build dir>] <Perl::Module>
-
-Where:
-<release> is the release number of the RPM you wish to produce
-<Perl::Module> is the name of the module to build
-EOM
- exit(1);
-}
-
-
-my $ret=GetOptions("release" => \$release,
- "builddir=s" => \$builddir);
-
-$package=$ARGV[0];
-usage() if !$package;
-$release=1 if !$release;
-
-
-$builddir=ExtractRpmMacro($ENV{HOME}."/.rpmmacros","_topdir") if !$builddir;
-$builddir=ExtractRpmMacro("/etc/rpm/macros","_topdir") if !$builddir;
-$builddir=getcwd() if !$builddir;
-
-die "Build directory $builddir doesn't look like an RPM build root\n"
- if ((! -d "$builddir/SPECS") || (! -d "$builddir/SOURCES"));
-
-process($package,$release);
-
-print join("\n",@report)."\n";
-
-sub process {
- my ($infile,$release)=@_;
-
-
-
-# Convert our installation list into an unbundled one
- unbundle($infile);
-
- print "Building $infile\n";
-
- cpan2rpm($infile,$builddir,$release);
-
-}
-
-# Given a Module, try to split it into its required components - this
-# currently only handles Bundles, but could also be extended to deal with
-# prereqs as well.
-
-sub unbundle {
- my ($item) = @_;
-
- if ($item=~/Bundle::/) {
- my $obj=CPAN::Shell->expand('Bundle',$item);
-
- foreach my $kid ($obj->contains) {
- process($kid,$release);
- }
- }
-}
-
-
-sub cpan2rpm($$$) {
- my ($infile,$builddir,$release) = @_;
-
- my $ret;
-
- my $obj=CPAN::Shell->expand('Module',$infile);
-
- print "CPAN tells us the following about $infile:\n",$obj->as_string if ($DEBUG);
-
- $ret=fetch_source($obj,$builddir);
- $ret=build_specfile($obj,$builddir,$release) if !$ret;
-
- return $ret;
-}
-
-# FIXME: Some error handling in the function below wouldn't go amiss ...
-sub fetch_source {
- my ($obj,$builddir)=@_;
-
- # Minor Sanity checks
- my $id=$obj->{ID};
-
- return "Error: No file for $id\n"
- if $obj->cpan_file eq "N/A";
- return "Error: $id says 'Contact Author'\n"
- if $obj->cpan_file =~ /^Contact Author/;
- return "Error: $id is contained within Perl itself!\n"
- if ($obj->cpan_file =~/perl-5\.\d?\.\d?\.tar\.gz/xo);
-
- # We do this so we can take advantage of CPAN's object caching. This is
- # pinched from the CPAN::Distribution::get method, which we can't use
- # directly, as it untars the package as well - which we let RPM do.
-
- my $dist = $CPAN::META->instance('CPAN::Distribution',$obj->cpan_file);
-
-
- my($local_wanted) =
- MM->catfile($CPAN::Config->{keep_source_where},
- "authors",
- "id",
- split("/",$dist->{ID})
- );
-
- my $local_file = CPAN::FTP->localize("authors/id/$dist->{ID}", $local_wanted);
-
- $dist->{localfile} = $local_file;
-
- $dist->verifyMD5 if ($CPAN::META->has_inst('MD5'));
-
-
- # Find all the prereqs for this distribution, then build em.
- # TODO this should be somewhere else
-
- $dist->make;
- build_prereqs( $dist->prereq_pm());
-
-
-
- my $infile=basename($obj->cpan_file);
-
- File::Copy::copy($local_file,"$builddir/SOURCES/$infile");
-
- return undef;
-}
-
-
-sub build_prereqs($) {
- my ($prereqs) = @_;
-
- foreach my $prereq (keys %{$prereqs}) {
- process ($prereq, $release);
- }
-}
-sub build_specfile($$$) {
- my ($obj,$builddir,$release) = @_;
-
- my $source=basename($obj->cpan_file);
-
- # don't go through dependencies on something we've already dealt with
- return() if ($seen->{$source});
- $seen->{$source} = 1;
-
-my ($name,$version)=($source=~/(.*)-(.*)\.tar\.gz/);
- return "Couldn't get a name for $source\n" if !$name;
- return "Couldn't get a version for $source\n" if !$version;
-
- my $summary="$name module for perl";
- my $description=$obj->{description};
- $description= $summary if !$description;
-
- open(SPEC, ">$builddir/SPECS/perl-$name.spec")
- or die "Couldn't open perl-$name.spec for writing.";
- print SPEC <<EOF;
-
-Summary: $summary
-Name: perl-$name
-Version: $version
-Release: $release
-Copyright: distributable
-Group: Applications/CPAN
-Source0: $source
-Url: http://www.cpan.org
-BuildRoot: /var/tmp/perl-${name}-buildroot/
-Requires: perl
-
-%description
-This is a perl module, autogenerated by cpan2rpm. The original package's
-description was:
-
-$description
-
-%prep
-%setup -q -n $name-%{version}
-
-%build
-CFLAGS="\$RPM_OPT_FLAGS" perl Makefile.PL
-make
-
-%clean
-rm -rf \$RPM_BUILD_ROOT
-
-%install
-rm -rf \$RPM_BUILD_ROOT
-eval `perl '-V:installarchlib'`
-mkdir -p \$RPM_BUILD_ROOT/\$installarchlib
-make PREFIX=\$RPM_BUILD_ROOT/usr install
-/usr/lib/rpm/brp-compress
-find \$RPM_BUILD_ROOT/usr -type f -print | sed "s\@^\$RPM_BUILD_ROOT\@\@g" | grep -v perllocal.pod > $name-$version-filelist
-
-%files -f ${name}-${version}-filelist
-%defattr(-,root,root)
-
-%changelog
-EOF
- print SPEC "* ",POSIX::strftime("%a %b %d %Y",localtime()), " ",$ENV{USER}," <",$ENV{USER},"\@",hostname(),">\n";
- print SPEC "- Spec file automatically generated by cpan2rpm\n";
-
- close(SPEC);
-
- system("rpm -ba $builddir/SPECS/perl-$name.spec >/dev/null") == 0
- or push (@report, "RPM of $source failed with : $!\n");
-
- system("rpm -Uvh $builddir/RPMS/$ARCH/perl-$name-$version-$release.$ARCH.rpm") == 0
- or warn "RPM of $source could not be installed: $!\n";
-
- push (@report, "Built perl-$name-$version-$release.$ARCH.rpm");
-}
-
-sub ExtractRpmMacro {
- my ($file,$macro) = @_;
-
- my $handle=new IO::File;
-
- if (!$handle->open($file)) {
- return undef;
- }
-
- while(<$handle>) {
- if (/\%$macro (.*)/) {
- return $1;
- }
- }
-
- return undef;
-}
-
-=head1 NAME
-
-cpan2rpm - fetch and convert CPAN packages to RPMs
-
-=head1 SYNOPSIS
-
-cpan2rpm --release <release> <package>
-
-=head1 DESCRIPTION
-
-cpan2rpm provides a quick way of creating RPM packages from perl modules
-published on CPAN. It interfaces with the perl CPAN module to fetch the
-file from the selected mirror, and then creates a spec file from the
-information in CPAN, and invokes RPM on that spec file.
-
-Files are created in the users RPM build root.
-
-=head1 OPTIONS
-
-=over 4
-
-=item release
-
-Sets the release number of the created RPMs.
-
-=back
-
-=head1 SEE ALSO
-
-rpm(1)
-
-=head1 AUTHOR
-
-Simon Wilkinson <sxw@sxw.org.uk>
diff --git a/rt/tools/initdb b/rt/tools/initdb
deleted file mode 100644
index ffb1ae3..0000000
--- a/rt/tools/initdb
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/usr/bin/perl -w
-# $Header: /home/cvs/cvsroot/freeside/rt/tools/Attic/initdb,v 1.1 2002-08-12 06:17:08 ivan Exp $
-
-use strict;
-use vars qw($PROMPT $SCHEMA_FILE $SCHEMA_DIR
- $ACTION $DEBUG $DB_TYPE $DB_HOME
- $DB_HOST $DB_PORT $DB_DBA $DB_DATABASE $DB_DBA_PASSWORD);
-
-use DBI;
-use DBIx::DataSource qw( create_database drop_database );
-
-
-$|=1; #unbuffer that output.
-
-$DEBUG=0;
-$PROMPT = 1; #by default, should at least *ask* before nuking databases
-$SCHEMA_DIR ="etc";
-$SCHEMA_FILE = "$SCHEMA_DIR/schema.pm"; #hmm
-
-($DB_TYPE, $DB_HOME, $DB_HOST, $DB_PORT, $DB_DBA, $DB_DATABASE, $ACTION) = @ARGV;
-
-
-if ($DEBUG) {
- print_config_params();
-}
-my $dsn = "dbi:$DB_TYPE:";
-
-if (($DB_TYPE eq 'Pg') or ($DB_TYPE eq 'mysql')) {
- $dsn .= "dbname=$DB_DATABASE";
- if ($DB_HOST) {
- $dsn .= ";host=$DB_HOST";
- }
- if ($DB_PORT) {
- $dsn .= ";port=$DB_PORT";
- }
-}
-elsif ($DB_TYPE eq 'Oracle') {
- $dsn .= "$DB_DATABASE";
-}
-
-
-if ($ACTION eq 'create') {
- unless ($DB_TYPE eq 'Oracle') {
- print "Now creating a database for RT.\n";
- prompt_for_dba_password();
- create_db();
- }
-}
-elsif ($ACTION eq 'drop' ) {
- unless ($DB_TYPE eq 'Oracle') {
- print "Now dropping the RT2 database.\n";
- prompt_for_dba_password();
- drop_db();
- }
-}
-elsif ($ACTION eq 'insert' ) {
- print "Now populating database schema.\n";
- prompt_for_dba_password();
- insert_schema();
-}
-elsif ($ACTION eq 'generate') {
- prompt_for_dba_password();
- generate_schema();
-}
-else {
- print STDERR '$ACTION unspecified. Makefile error. It was '.$ACTION ;
- exit(-1);
-}
-
-
-# {{{ sub prompt_for_dba_password
-
-sub prompt_for_dba_password {
- print "Enter the $DB_TYPE password for $DB_DBA: ";
-
- system "stty -echo";
- $DB_DBA_PASSWORD = scalar(<STDIN>); #keep off commandline
- system "stty echo";
- chomp $DB_DBA_PASSWORD;
-
-}
-# }}}
-
-# {{{ sub print_config_params
-sub print_config_params {
- print <<END;
-Database creation parameters:
-
-DB_TYPE = $DB_TYPE
-DB_HOME = $DB_HOME
-DB_HOST = $DB_HOST
-DB_DBA = $DB_DBA
-DB_DBA_PASSWORD = <hidden>
-DB_DATABASE = $DB_DATABASE
-END
-}
-# }}}
-
-# {{{ sub drop_db
-sub drop_db {
-
- if ( $PROMPT ) {
- print <<END;
-
-About to drop $DB_TYPE database $DB_DATABASE.
-WARNING: This will erase all data in $DB_DATABASE.
-If you have an existing RT 2.x installation, this will destroy all your data.
-i
-END
- exit unless _yesno();
-
- }
-
-
- print "\nDropping $DB_TYPE database $DB_DATABASE.\n";
- drop_database( $dsn, $DB_DBA, $DB_DBA_PASSWORD )
- or warn $DBIx::DataSource::errstr;
-
-
-}
-# }}}
-
-# {{{ sub generate_schema
-sub generate_schema {
- my @schema = generate_schema_from_hash();
- print "Generating schema for $DB_TYPE...";
-
- system('mv', "$SCHEMA_DIR/schema.$DB_TYPE", "$SCHEMA_DIR/schema.$DB_TYPE.bak")
- if (-f "$SCHEMA_DIR/schema.$DB_TYPE");
- open(SCHEMA, ">$SCHEMA_DIR/schema.$DB_TYPE");
- foreach my $line (@schema) {
- print SCHEMA "$line;\n";
- }
- close(SCHEMA);
- print "done.\n";
-}
-# }}}
-
-# {{{ sub insert_schema
-sub insert_schema {
- my (@schema);
- print "\nCreating database schema.\n";
-
- my $dbh = DBI->connect( $dsn, $DB_DBA, $DB_DBA_PASSWORD ) or die $DBI::errstr;
-
- if ( -f "$SCHEMA_DIR/schema.$DB_TYPE") {
- open (SCHEMA, "<$SCHEMA_DIR/schema.$DB_TYPE");
- my $statement = "";
- foreach my $line (<SCHEMA>) {
- $statement .= $line;
- if ($line =~ /;$/) {
- $statement =~ s/;$//g;
- push @schema, $statement;
- $statement = "";
- }
- }
- }
-
- else {
- @schema = generate_schema_from_hash();
- }
-
- foreach my $statement (@schema) {
- print STDERR $statement if $DEBUG;
- my $sth = $dbh->prepare($statement) or die $dbh->errstr;
- unless ($sth->execute) {
- print STDERR "Problem with statement:\n $statement\n";
- die $sth->errstr;
- }
- }
-
-
- $dbh->disconnect;
- print "schema sucessfully inserted\n";
-
-}
-# }}}
-
-# {{{ sub generate_schema_from_hash
-sub generate_schema_from_hash {
- my (@schema);
-
- require DBIx::DBSchema;
- my $schema_href = do "$SCHEMA_FILE" or die $@ || $!;
- my $schema = DBIx::DBSchema->pretty_read($schema_href);
-
-
- foreach my $statement ( $schema->sql($dsn, $DB_DBA, $DB_DBA_PASSWORD ) ) {
- print STDERR $statement if $DEBUG;
- chomp $statement;
- push @schema, $statement;
-
- }
- return (@schema);
-
-}
-# }}}
-
-# {{{ sub create_db
-sub create_db {
-
- print "\nCreating $DB_TYPE database $DB_DATABASE.\n";
- create_database( $dsn, $DB_DBA, $DB_DBA_PASSWORD )
- or die $DBIx::DataSource::errstr;
-
-}
-# }}}
-
-# {{{ sub _yesno
-sub _yesno {
- print "Proceed [y/N]:";
- my $x = scalar(<STDIN>);
- $x =~ /^y/i;
-}
-
-# }}}
diff --git a/rt/tools/insertdata b/rt/tools/insertdata
deleted file mode 100755
index b3e76e6..0000000
--- a/rt/tools/insertdata
+++ /dev/null
@@ -1,618 +0,0 @@
-#!/usr/bin/perl -w
-#
-# $Header: /home/cvs/cvsroot/freeside/rt/tools/Attic/insertdata,v 1.1 2002-08-12 06:17:08 ivan Exp $
-# RT is (c) 1996-2002 Jesse Vincent (jesse@bestpractical.com);
-
-package RT;
-use strict;
-use vars qw($VERSION $Handle $Nobody $SystemUser $item);
-
-use lib "!!RT_LIB_PATH!!";
-use lib "!!RT_ETC_PATH!!";
-
-#This drags in RT's config.pm
-use config;
-use Carp;
-
-use RT::Handle;
-use RT::User;
-use RT::CurrentUser;
-
-#
-my $LastVersion = shift || undef;
-my $LastMinorVersion = undef;
-
-#connect to the db
-$RT::Handle = new RT::Handle($RT::DatabaseType);
-$RT::Handle->Connect();
-
-#Put together a current user object so we can create a User object
-my $CurrentUser = new RT::CurrentUser();
-
-if ($LastVersion) {
- if ( $LastVersion =~ /^2.0.(\d+)$/ ) {
- $LastMinorVersion = $1;
- print "Looking for new objects to add to the database"
- . " since $LastVersion\n\n";
- }
- else {
- print "This tool does not support upgrades from development releases "
- . "or non 2.0.x versions";
- }
-}
-else { # this is a virgin install
- print "Checking for existing system user...";
- my $test_user = RT::User->new($CurrentUser);
- $test_user->Load('RT_System');
- if ( $test_user->id ) {
- print "Found!\n\nYou appear to have already run insertdata.\n"
- . "Exiting, so as not to clobber your existing data. To ERASE your\n"
- . "RT database and start over, type 'make dropdb; make install' in\n"
- . "the RT installation directory. If you just meant to upgrade the\n"
- . "content of your database, rerun this program as: \n",
- " $0 <version>\n"
- . "where <version> is the last RELEASED version of RT you installed\n"
- . "for example, if you're upgrading from 2.0.4, you'd type:\n"
- . " $0 2.0.4\n";
- exit(-1);
-
- }
- else {
- print "not found. This appears to be a new installation";
- }
-
- print "Creating system user...";
- my $RT_System = new RT::User($CurrentUser);
-
- my ( $val, $msg ) = $RT_System->_BootstrapCreate(
- Name => 'RT_System',
- RealName => 'The RT System itself',
- Comments =>
-'Do not delete or modify this user. It is integral to RT\'s internal database structures',
- Privileged => '2',
- Creator => '1'
- );
-
- if ($val) {
- print "done.\n";
- }
- else {
- print "$msg\n";
- exit(1);
- }
-
-}
-
-#now that we bootstrapped that little bit, we can use the standard RT cli
-# helpers to do what we need
-
-use RT::Interface::CLI qw(CleanEnv LoadConfig DBConnect
- GetCurrentUser GetMessageContent);
-
-#Clean out all the nasties from the environment
-CleanEnv();
-
-#Load etc/config.pm and drop privs
-LoadConfig();
-
-#Connect to the database and get RT::SystemUser and RT::Nobody loaded
-DBConnect();
-
-$CurrentUser->LoadByName('RT_System');
-
-# {{{ Users
-
-my @users;
-
-unless ($LastVersion) {
- @users = (
- {
- Name => 'Nobody',
- RealName => 'Nobody in particular',
- Comments => 'Do not delete or modify this user. It is integral '
- . 'to RT\'s internal data structures',
- Privileged => '2',
- },
-
- {
- Name => 'root',
- Gecos => 'root',
- RealName => 'Enoch Root',
- Password => 'password',
- EmailAddress => "root\@localhost",
- Comments => 'SuperUser',
- Privileged => '1',
- }
- );
-}
-
-# }}}
-
-# {{{ Groups
-
-my @groups;
-unless ($LastVersion) {
- @groups = (
- {
- Name => 'Everyone',
- Description => 'Pseudogroup for internal use',
- Pseudo => '1',
- },
- {
- Name => 'Owner',
- Description => 'Pseudogroup for internal use',
- Pseudo => '1',
- },
- {
- Name => 'Requestor',
- Description => 'Pseudogroup for internal use',
- Pseudo => '1',
- },
- {
- Name => 'Cc',
- Description => 'Pseudogroup for internal use',
- Pseudo => '1',
- },
- {
- Name => 'AdminCc',
- Description => 'Pseudogroup for internal use',
- Pseudo => '1',
- },
- );
-}
-
-# }}}
-
-# {{{ ACL
-my @acl;
-
-unless ($LastVersion) {
- @acl = ( #TODO: make this actually take the serial # granted to root.
- {
- PrincipalId => '1',
- PrincipalType => 'User',
- RightName => 'SuperUser',
- RightScope => 'System',
- RightAppliesTo => '0'
- },
- {
- PrincipalId => '2',
- PrincipalType => 'User',
- RightName => 'SuperUser',
- RightScope => 'System',
- RightAppliesTo => '0'
- },
-
- {
- PrincipalId => '3',
- PrincipalType => 'User',
- RightName => 'SuperUser',
- RightScope => 'System',
- RightAppliesTo => '0'
- }
-
- );
-}
-
-# }}}
-
-# {{{ Queues
-
-my @queues;
-unless ($LastVersion) {
- @queues = (
- {
- Name => 'general',
- Description => 'The default queue',
- CorrespondAddress => "rt\@localhost",
- CommentAddress => "rt-comment\@localhost"
- }
- );
-}
-
-# }}}
-
-# {{{ ScripActions
-
-my @ScripActions;
-
-unless ($LastVersion) {
- @ScripActions = (
-
- {
- Name => 'AutoreplyToRequestors',
- Description =>
-'Always sends a message to the requestors independent of message sender',
- ExecModule => 'Autoreply',
- Argument => 'Requestor'
- },
- {
- Name => 'NotifyRequestors',
- Description => 'Sends a message to the requestors',
- ExecModule => 'Notify',
- Argument => 'Requestor'
- },
- {
- Name => 'NotifyOwnerAsComment',
- Description => 'Sends mail to the owner',
- ExecModule => 'NotifyAsComment',
- Argument => 'Owner'
- },
- {
- Name => 'NotifyOwner',
- Description => 'Sends mail to the owner',
- ExecModule => 'Notify',
- Argument => 'Owner'
- },
- {
- Name => 'NotifyAdminCcsAsComment',
- Description => 'Sends mail to the administrative Ccs as a comment',
- ExecModule => 'NotifyAsComment',
- Argument => 'AdminCc'
- },
- {
- Name => 'NotifyAdminCcs',
- Description => 'Sends mail to the administrative Ccs',
- ExecModule => 'Notify',
- Argument => 'AdminCc'
- },
-
- {
- Name => 'NotifyRequestorsAndCcsAsComment',
- Description => 'Send mail to requestors and Ccs as a comment',
- ExecModule => 'NotifyAsComment',
- Argument => 'Requestor,Cc'
- },
-
- {
- Name => 'NotifyRequestorsAndCcs',
- Description => 'Send mail to requestors and Ccs',
- ExecModule => 'Notify',
- Argument => 'Requestor,Cc'
- },
-
- {
- Name => 'NotifyAllWatchersAsComment',
- Description => 'Send mail to all watchers',
- ExecModule => 'NotifyAsComment',
- Argument => 'All'
- },
- {
- Name => 'NotifyAllWatchers',
- Description => 'Send mail to all watchers',
- ExecModule => 'Notify',
- Argument => 'All'
- },
- );
-}
-
-if ( $LastMinorVersion < 12 ) {
- push (
- @ScripActions,
- {
- Name => 'NotifyOtherRecipientsAsComment',
- Description => 'Sends mail to explicitly listed Ccs and Bccs',
- ExecModule => 'NotifyAsComment',
- Argument => 'OtherRecipients'
- },
- {
- Name => 'NotifyOtherRecipients',
- Description => 'Sends mail to explicitly listed Ccs and Bccs',
- ExecModule => 'Notify',
- Argument => 'OtherRecipients'
- },
- );
-}
-
-# }}}
-
-# {{{ ScripConditions
-
-my @ScripConditions;
-unless ($LastVersion) {
- @ScripConditions = (
- {
- Name => 'OnCreate',
- Description => 'When a ticket is created',
- ApplicableTransTypes => 'Create',
- ExecModule => 'AnyTransaction',
- },
-
- {
- Name => 'OnTransaction',
- Description => 'When anything happens',
- ApplicableTransTypes => 'Any',
- ExecModule => 'AnyTransaction',
- },
- {
-
- Name => 'OnCorrespond',
- Description => 'Whenever correspondence comes in',
- ApplicableTransTypes => 'Correspond',
- ExecModule => 'AnyTransaction',
- },
-
- {
-
- Name => 'OnComment',
- Description => 'Whenever comments come in',
- ApplicableTransTypes => 'Comment',
- ExecModule => 'AnyTransaction'
- },
- {
-
- Name => 'OnStatus',
- Description => 'Whenever a ticket\'s status changes',
- ApplicableTransTypes => 'Status',
- ExecModule => 'AnyTransaction',
-
- },
- {
- Name => 'OnResolve',
- Description => 'Whenever a ticket is resolved.',
- ApplicableTransTypes => 'Status',
- ExecModule => 'StatusChange',
- Argument => 'resolved'
-
- },
-
- );
-}
-
-# }}}
-
-# {{{ Templates
-my @templates;
-
-unless ($LastVersion) {
- @templates = (
- {
- Queue => '0',
- Name => 'Autoreply',
- Description => 'Default Autoresponse Template',
- Content => 'Subject: AutoReply: {$Ticket->Subject}
-
-
-Greetings,
-
-This message has been automatically generated in response to the
-creation of a trouble ticket regarding:
- "{$Ticket->Subject()}",
-a summary of which appears below.
-
-There is no need to reply to this message right now. Your ticket has been
-assigned an ID of [{$rtname} #{$Ticket->id()}].
-
-Please include the string:
-
- [{$rtname} #{$Ticket->id}]
-
-in the subject line of all future correspondence about this issue. To do so,
-you may reply to this message.
-
- Thank you,
- {$Ticket->QueueObj->CorrespondAddress()}
-
--------------------------------------------------------------------------
-{$Transaction->Content()}
-'
- },
-
- {
-
- # id => 2,
- Queue => '0',
- Name => 'Transaction',
- Description => 'Default transaction template',
- Content => '
-
-
-{$Transaction->CreatedAsString}: Request {$Ticket->id} was acted upon.
-Transaction: {$Transaction->Description}
- Queue: {$Ticket->QueueObj->Name}
- Subject: {$Transaction->Subject || $Ticket->Subject || "(No subject given)"}
- Owner: {$Ticket->OwnerObj->Name}
- Requestors: {$Ticket->Requestors->EmailsAsString()}
- Status: {$Ticket->Status}
- Ticket <URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} >
--------------------------------------------------------------------------
-{$Transaction->Content()}'
- },
-
- {
-
- Queue => '0',
- Name => 'AdminCorrespondence',
- Description => 'Default admin correspondence template',
- Content => '
-
-
-<URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} >
-
-{$Transaction->Content()}'
- },
-
- {
- Queue => '0',
- Name => 'Correspondence',
- Description => 'Default correspondence template',
- Content => '
-
-{$Transaction->Content()}'
- },
-
- {
- Queue => '0',
- Name => 'AdminComment',
- Description => 'Default admin comment template',
- Content =>
-'Subject: [Comment] {my $s=($Transaction->Subject||$Ticket->Subject); $s =~ s/\\[Comment\\]//g; $comment =~ s/^Re//i; $s;}
-
-
-{$RT::WebURL}Ticket/Display.html?id={$Ticket->id}
-This is a comment. It is not sent to the Requestor(s):
-
-{$Transaction->Content()}
-'
- },
-
- {
- Queue => '0',
- Name => 'StatusChange',
- Description => 'Ticket status changed',
- Content => 'Subject: Status Changed to: {$Transaction->NewValue}
-
-
-{$RT::WebURL}Ticket/Display.html?id={$Ticket->id}
-
-{$Transaction->Content()}
-'
- },
-
- {
-
- Queue => '0',
- Name => 'Resolved',
- Description => 'Ticket Resolved',
- Content => 'Subject: Ticket Resolved
-
-According to our records, your request has been resolved. If you have any
-further questions or concerns, please respond to this message.
-'
- }
- );
-}
-
-# }}}
-
-# {{{ Scrips;
-
-my @scrips;
-unless ($LastVersion) {
- @scrips = (
- { Queue => 0,
- ScripCondition => 'OnCreate',
- ScripAction => 'AutoreplyToRequestors',
- Template => 'Autoreply'
- },
- { Queue => 0,
- ScripCondition => 'OnCreate',
- ScripAction => 'NotifyAdminCcs',
- Template => 'Transaction',
- },
- { Queue => 0,
- ScripCondition => 'OnCorrespond',
- ScripAction => 'NotifyAllWatchers',
- Template => 'Correspondence',
- },
- { Queue => 0,
- ScripCondition => 'OnComment',
- ScripAction => 'NotifyAdminCcsAsComment',
- Template => 'AdminComment',
- },
- )
-}
-if ( $LastMinorVersion < 12 ) {
- push (
- @scrips,
- { Queue => 0,
- ScripCondition => 'OnComment',
- ScripAction => 'NotifyOtherRecipientsAsComment',
- Template => 'Correspondence',
- },
- { Queue => 0,
- ScripCondition => 'OnCorrespond',
- ScripAction => 'NotifyOtherRecipients',
- Template => 'Correspondence',
- },
- );
-}
-# }}}
-
-print "Creating ACL...";
-use RT::ACE;
-for $item (@acl) {
- my $new_entry = new RT::ACE($CurrentUser);
-
- #Using an internal function. this should never be used outside of the bootstrap script
- my $return = $new_entry->_BootstrapRight(%$item);
- print $return. ".";
-}
-print "done.\n";
-
-print "Creating users...";
-use RT::User;
-foreach $item (@users) {
- my $new_entry = new RT::User($CurrentUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return. ".";
-}
-print "done.\n";
-
-print "Creating groups...";
-use RT::Group;
-foreach $item (@groups) {
- my $new_entry = new RT::Group($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
-}
-print "done.\n";
-
-print "Creating queues...";
-use RT::Queue;
-for $item (@queues) {
- my $new_entry = new RT::Queue($CurrentUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return. ".";
-}
-
-print "done.\n";
-print "Creating ScripActions...";
-
-use RT::ScripAction;
-for $item (@ScripActions) {
- my $new_entry = new RT::ScripAction($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
-}
-
-print "done.\n";
-print "Creating ScripConditions...";
-
-use RT::ScripCondition;
-for $item (@ScripConditions) {
- my $new_entry = new RT::ScripCondition($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
-}
-
-print "done.\n";
-
-print "Creating templates...";
-
-use RT::Template;
-for $item (@templates) {
- my $new_entry = new RT::Template($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
-}
-print "done.\n";
-
-print "Creating Scrips...";
-
-use RT::Scrip;
-for $item (@scrips) {
- my $new_entry = RT::Scrip->new($CurrentUser);
- my ($return,$msg) = $new_entry->Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return.".";
-
-}
-print "done.\n";
-
-$RT::Handle->Disconnect();
-
-1;
-
diff --git a/rt/tools/testdeps b/rt/tools/testdeps
deleted file mode 100644
index ddc3381..0000000
--- a/rt/tools/testdeps
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/perl -w
-
-# $Header: /home/cvs/cvsroot/freeside/rt/tools/Attic/testdeps,v 1.1 2002-08-12 06:17:08 ivan Exp $
-
-# Copyright 2000 Jesse Vincent <jesse@fsck.com>
-# Distributed under the GNU General Public License
-#
-
-#
-# This is just a basic script that checks to make sure that all
-# the modules needed by RT before you can install it.
-#
-
-use strict;
-
-use vars qw($mode $dbd $module @modules);
-
-$mode = shift || print_help();
-$dbd = shift || print_help();
-
-@modules = qw(
-Digest::MD5
-Storable
-DBI 1.18
-DBIx::DataSource 0.02
-DBIx::SearchBuilder 0.48
-HTML::Entities
-MLDBM
-Net::Domain
-Net::SMTP
-Params::Validate 0.02
-HTML::Mason 1.02
-CGI::Cookie 1.20
-Apache::Cookie
-Apache::Session 1.53
-Date::Parse
-Date::Format
-MIME::Entity 5.108
-Mail::Mailer 1.20
-Getopt::Long 2.24
-Tie::IxHash
-Text::Wrapper
-Text::Template
-File::Spec 0.8
-Errno
-FreezeThaw
-File::Temp
-Log::Dispatch 1.6
-);
-
-
-if ($dbd =~ /mysql/i) {
- push @modules, ('DBD::mysql','2.0416');
-}
-elsif ($dbd =~ /oracle/i) {
- push @modules, ('DBD::Oracle','');
-}
-elsif ($dbd =~ /pg/i) {
- push @modules, ('DBD::Pg','');
-}
-use CPAN;
-
-while ($module= shift @modules) {
- my $version = "";
- $version = " ". shift (@modules) . " " if ($modules[0] =~ /^([\d\.]*)$/);
- print "Checking for $module$version";
- eval "use $module$version" ;
- if ($@) {
- &resolve_dependency($module, $version)
- }
- else {
- print "...found\n";
- }
-}
-
-sub print_help {
-print <<EOF;
-
-$0 FLAG DBTYPE
-
-
-$0 is a tool for RT that will tell you if you've got all
-the modules RT depends on properly installed.
-
-Flags: (only one flag is valid for a given run)
-
--quiet will check to see if we've got everything we need
- and will exit with a return code of (1) if we don't.
-
--warn will tell you what isn't properly installed
-
--fix will use CPAN to magically make everything better
-
-DBTYPE is one of:
- oracle, pg, mysql
-
-EOF
-
-exit(0);
-}
-
-sub resolve_dependency {
- my $module = shift;
- my $version = shift;
- print "....$module$version not installed.";
- if ($mode =~ /-f/) {
- $module = "DBD::mysql::Install" if ($module =~ /DBD::mysql/);
-
- print "Installing with CPAN...";
- CPAN::install($module);
- }
- print "\n";
- exit(1) if ($mode =~ /-q/);
-}
-