From: dms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Date: Thu, 14 Sep 2000 13:29:51 +0000 (+0000)
Subject: script merge, doc update
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c8f4e07183ca8f82059ca3e7e4cc2248b19ab1d9;p=infobot.git

script merge, doc update


git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk@101 c11ca15a-4712-0410-83d8-924469b57eb5
---

diff --git a/blootbot/scripts/setup_sql.pl b/blootbot/scripts/setup_sql.pl
new file mode 100755
index 0000000..f7c66e3
--- /dev/null
+++ b/blootbot/scripts/setup_sql.pl
@@ -0,0 +1,333 @@
+#!/usr/bin/perl
+# setup_tables: setup MYSQL/PGSQL side of things for blootbot.
+# written by the xk.
+###
+
+require "src/core.pl";
+require "src/logger.pl";
+require "src/modules.pl";
+require "src/Misc.pl";
+require "src/interface.pl";
+
+$bot_src_dir = "./src/";
+
+# read param stuff from blootbot.config.
+&loadConfig("files/blootbot.config");
+&loadDBModules();
+my $dbname = $param{'DBName'};
+my $query;
+
+if ($dbname eq "") {
+  print "error: appears that teh config file was not loaded properly.\n";
+  exit 1;
+}
+
+if ($param{'DBType'} =~ /mysql/i) {
+    use DBI;
+
+    print "Enter root information...\n";
+    # username.
+    print "Username: ";
+    chop (my $adminuser = <STDIN>);
+
+    # passwd.
+    system "stty -echo";
+    print "Password: ";
+    chop(my $adminpass = <STDIN>);
+    print "\n";
+    system "stty echo";
+
+    if ($adminuser eq "" or $adminpass eq "") {
+	&ERROR("error: adminuser || adminpass is NULL.");
+	exit 1;
+    }
+
+    # open the db.
+    &openDB($dbname, $adminuser, $adminpass);
+
+    # retrieve a list of db's from the server.
+    my %db;
+    foreach ($dbh->func('_ListTables')) {
+	$db{$_} = 1;
+    }
+
+    # Step 4.
+    print "Step 4: Creating the tables.\n";
+
+    # factoid db.
+    if (!exists $db{'factoids'}) {
+	print "  creating new table factoids...\n";
+
+	$query = "CREATE TABLE factoids (".
+		"factoid_key VARCHAR(64) NOT NULL,".
+
+		"requested_by VARCHAR(64),".
+		"requested_time INT,".
+		"requested_count SMALLINT UNSIGNED,".
+		"created_by VARCHAR(64),".
+		"created_time INT,".
+
+		"modified_by VARCHAR(192),".
+		"modified_time INT,".
+
+		"locked_by VARCHAR(64),".   
+		"locked_time INT,".
+
+		"factoid_value TEXT NOT NULL,".
+
+		"PRIMARY KEY (factoid_key)".
+	")";
+
+	&dbRaw("create(factoids)", $query);
+    }
+
+    # freshmeat.
+    if (!exists $db{'freshmeat'}) {
+	print "  creating new table freshmeat...\n";
+
+	$query = "CREATE TABLE freshmeat (".
+		"name VARCHAR(64) NOT NULL,".
+		"stable VARCHAR(32),".
+		"devel VARCHAR(32),".
+		"section VARCHAR(40),".
+		"license VARCHAR(32),".
+		"homepage VARCHAR(128),".
+		"download VARCHAR(128),".
+		"changelog VARCHAR(128),".
+		"deb VARCHAR(128),".
+		"rpm VARCHAR(128),".
+		"link CHAR(55),".
+		"oneliner VARCHAR(96) NOT NULL,".
+
+		"PRIMARY KEY (name)".
+	")";
+
+	&dbRaw("create(freshmeat)", $query);
+    }
+
+    # karma.
+    if (!exists $db{'karma'}) {
+	print "  creating new table karma...\n";
+
+	$query = "CREATE TABLE karma (".
+		"nick VARCHAR(20) NOT NULL,".
+		"karma SMALLINT UNSIGNED,".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(karma)", $query);
+    }
+
+    # rootwarn.
+    if (!exists $db{'rootwarn'}) {
+	print "  creating new table rootwarn...\n";
+
+	$query = "CREATE TABLE rootwarn (".
+		"nick VARCHAR(20) NOT NULL,".
+		"attempt SMALLINT UNSIGNED,".
+		"time INT NOT NULL,".
+		"host VARCHAR(80) NOT NULL,".
+		"channel VARCHAR(20) NOT NULL,".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(rootwarn)", $query);
+    }
+
+    # seen.
+    if (!exists $db{'seen'}) {
+	print "  creating new table seen...\n";
+
+	$query = "CREATE TABLE seen (".
+		"nick VARCHAR(20) NOT NULL,".
+		"time INT NOT NULL,".
+		"channel VARCHAR(20) NOT NULL,".
+		"host VARCHAR(80) NOT NULL,".
+		"messagecount SMALLINT UNSIGNED,".
+		"hehcount SMALLINT UNSIGNED,".
+		"message TINYTEXT NOT NULL,".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(seen)", $query);
+    }
+
+    ### USER SETUP.
+    &closeDB();
+    &openDB("mysql", $adminuser, $adminpass);
+
+    # Step 1.
+    &status("Step 1: Adding user information.");
+
+    # Step 2.
+    if (!&dbGet("user","user",$param{'SQLUser'},"user")) {
+	&status("  Adding user $param{'SQLUser'} $dbname/user table...");
+
+	$query = "INSERT INTO user VALUES ".
+		"('localhost', '$param{'SQLUser'}', ".
+		"password('$param{'SQLPass'}'), ";
+
+	$query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')";
+###	$query .= "'Y','Y','Y','Y','N','N','N','N','N','N')";
+
+	&dbRaw("create(user)", $query);
+    }
+
+    # Step 3. what's this for?
+    if (!&dbGet("db","db",$param{'SQLUser'},"db")) {
+	&status("  Adding 'db' entry");
+
+	$query = "INSERT INTO db VALUES ".
+		"('localhost', '$dbname', ".
+		"'$param{'SQLUser'}', ";
+
+	$query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')";
+###	$query .= "'Y','Y','Y','Y','Y','N')";
+
+	&dbRaw("create(db)", $query);
+    }
+
+    # grant.
+    &status("  Granting user access to table.");
+    $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'SQLUser'}";
+    &dbRaw("??", $query);
+
+    # flush.
+    &status("Flushing privileges...");
+    $query = "FLUSH PRIVILEGES";		# DOES NOT WORK on slink?
+    &dbRaw("mysql(flush)", $query);
+
+    # create database.
+    &status("Creating database $param{'DBName'}...");
+    $query = "CREATE DATABASE $param{'DBName'}";
+    &dbRaw("create(db $param{'DBName'})", $query);
+
+} elsif ($param{'DBType'} =~ /pgsql|postgres/i) {
+    if ($param{'DBType'} =~ /pgsql|postgres/i) { use Pg; } # for runtime.
+    my $dbh = Pg::connectdb("dbname=$dbname");
+
+    if (PGRES_CONNECTION_OK eq $conn->status) {
+	print "  opened mysql connection to $param{'mysqlHost'}\n";
+    } else {
+	print "  error: cannot connect to $param{'mysqlHost'}.\n";
+	print "  $conn->errorMessage\n";
+	exit 1;
+    }
+
+    # retrieve a list of db's from the server.
+    my %db;
+    foreach ($dbh->func('_ListTables')) {
+	$db{$_} = 1;
+    }
+
+    # Step 4.
+    print "Step 4: Creating the tables.\n";
+
+    # factoid db.
+    if (!exists $db{'factoids'}) {
+	print "  creating new table factoids...\n";
+
+	$query = "CREATE TABLE factoids (".
+		"factoid_key varying(64) NOT NULL,".
+
+		"requested_by varying(64),".
+		"requested_time numeric(11,0),".
+		"requested_count numeric(5,0),".
+		"created_by varying(64),".
+		"created_time numeric(11,0),".
+
+		"modified_by character varying(192),".
+		"modified_time numeric(11,0),".
+
+		"locked_by character varying(64),".
+		"locked_time numeric(11,0),".
+
+		"factoid_value text NOT NULL,".
+
+		"PRIMARY KEY (factoid_key)".
+	")";
+
+	&dbRaw("create(factoids)", $query);
+    }
+
+    # freshmeat.
+    if (!exists $db{'freshmeat'}) {
+	print "  creating new table freshmeat...\n";
+
+	$query = "CREATE TABLE freshmeat (".
+		"name charcter varying(64) NOT NULL,".
+		"stable character varying(32),".
+		"devel character varying(32),".
+		"section character varying(40),".
+		"license character varying(32),".
+		"homepage character varying(128),".
+		"download character varying(128),".
+		"changelog character varying(128),".
+		"deb character varying(128),".
+		"rpm character varying(128),".
+		"link character varying(55),".
+		"oneliner character varying(96) NOT NULL,".
+
+		"PRIMARY KEY (name)".
+	")";
+
+	&dbRaw("create(freshmeat)", $query);
+    }
+
+    # karma.
+    if (!exists $db{'karma'}) {
+	print "  creating new table karma...\n";
+
+	$query = "CREATE TABLE karma (".
+		"nick character varying(20) NOT NULL,".
+		"karma numeric(5,0),".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(karma)", $query);
+    }
+
+    # rootwarn.
+    if (!exists $db{'rootwarn'}) {
+	print "  creating new table rootwarn...\n";
+
+	$query = "CREATE TABLE rootwarn (".
+		"nick character varying(20) NOT NULL,".
+		"attempt numeric(5,0),".
+		"time numeric(11,0) NOT NULL,".
+		"host character varying(80) NOT NULL,".
+		"channel character varying(20) NOT NULL,".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(rootwarn)", $query);
+    }
+
+    # seen.
+    if (!exists $db{'seen'}) {
+	print "  creating new table seen...\n";
+
+	$query = "CREATE TABLE seen (".
+		"nick character varying(20) NOT NULL,".
+		"time numeric(11,0) NOT NULL,".
+		"channel character varying(20) NOT NULL,".
+		"host character varying(80) NOT NULL,".
+		"messagecount numeric(5,0),".
+		"hehcount numeric(5,0),".
+		"message text NOT NULL,".
+
+		"PRIMARY KEY (nick)".
+	")";
+
+	&dbRaw("create(seen)", $query);
+    }
+}
+
+print "Done.\n";
+
+&closeDB();
diff --git a/blootbot/scripts/setup_tables.pl b/blootbot/scripts/setup_tables.pl
deleted file mode 100755
index d2e7cca..0000000
--- a/blootbot/scripts/setup_tables.pl
+++ /dev/null
@@ -1,262 +0,0 @@
-#!/usr/bin/perl
-# setup_tables: setup MYSQL/PGSQL side of things for blootbot.
-# written by the xk.
-###
-
-require "src/core.pl";
-require "src/logger.pl";
-require "src/modules.pl";
-require "src/Misc.pl";
-
-$bot_src_dir = "./src/";
-
-# read param stuff from blootbot.config.
-&loadConfig("files/blootbot.config");
-&loadDBModules();
-my $dbname = $param{'DBName'};
-my $query;
-
-if ($dbname eq "") {
-  print "error: appears that teh config file was not loaded properly.\n";
-  exit 1;
-}
-
-if ($param{'DBType'} =~ /mysql/i) {
-    use DBI;
-    &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
-
-    # retrieve a list of db's from the server.
-    my %db;
-    foreach ($dbh->func('_ListTables')) {
-	$db{$_} = 1;
-    }
-
-    # Step 4.
-    print "Step 4: Creating the tables.\n";
-
-    # factoid db.
-    if (!exists $db{'factoids'}) {
-	print "  creating new table factoids...\n";
-
-	$query = "CREATE TABLE factoids (".
-		"factoid_key VARCHAR(64) NOT NULL,".
-
-		"requested_by VARCHAR(64),".
-		"requested_time INT,".
-		"requested_count SMALLINT UNSIGNED,".
-		"created_by VARCHAR(64),".
-		"created_time INT,".
-
-		"modified_by VARCHAR(192),".
-		"modified_time INT,".
-
-		"locked_by VARCHAR(64),".   
-		"locked_time INT,".
-
-		"factoid_value TEXT NOT NULL,".
-
-		"PRIMARY KEY (factoid_key)".
-	")";
-
-	&dbRaw("create(factoids)", $query);
-    }
-
-    # freshmeat.
-    if (!exists $db{'freshmeat'}) {
-	print "  creating new table freshmeat...\n";
-
-	$query = "CREATE TABLE freshmeat (".
-		"name VARCHAR(64) NOT NULL,".
-		"stable VARCHAR(32),".
-		"devel VARCHAR(32),".
-		"section VARCHAR(40),".
-		"license VARCHAR(32),".
-		"homepage VARCHAR(128),".
-		"download VARCHAR(128),".
-		"changelog VARCHAR(128),".
-		"deb VARCHAR(128),".
-		"rpm VARCHAR(128),".
-		"link CHAR(55),".
-		"oneliner VARCHAR(96) NOT NULL,".
-
-		"PRIMARY KEY (name)".
-	")";
-
-	&dbRaw("create(freshmeat)", $query);
-    }
-
-    # karma.
-    if (!exists $db{'karma'}) {
-	print "  creating new table karma...\n";
-
-	$query = "CREATE TABLE karma (".
-		"nick VARCHAR(20) NOT NULL,".
-		"karma SMALLINT UNSIGNED,".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(karma)", $query);
-    }
-
-    # rootwarn.
-    if (!exists $db{'rootwarn'}) {
-	print "  creating new table rootwarn...\n";
-
-	$query = "CREATE TABLE rootwarn (".
-		"nick VARCHAR(20) NOT NULL,".
-		"attempt SMALLINT UNSIGNED,".
-		"time INT NOT NULL,".
-		"host VARCHAR(80) NOT NULL,".
-		"channel VARCHAR(20) NOT NULL,".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(rootwarn)", $query);
-    }
-
-    # seen.
-    if (!exists $db{'seen'}) {
-	print "  creating new table seen...\n";
-
-	$query = "CREATE TABLE seen (".
-		"nick VARCHAR(20) NOT NULL,".
-		"time INT NOT NULL,".
-		"channel VARCHAR(20) NOT NULL,".
-		"host VARCHAR(80) NOT NULL,".
-		"messagecount SMALLINT UNSIGNED,".
-		"hehcount SMALLINT UNSIGNED,".
-		"message TINYTEXT NOT NULL,".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(seen)", $query);
-    }
-} elsif ($param{'DBType'} =~ /pgsql|postgres/i) {
-    if ($param{'DBType'} =~ /pgsql|postgres/i) { use Pg; } # for runtime.
-    my $dbh = Pg::connectdb("dbname=$dbname");
-
-    if (PGRES_CONNECTION_OK eq $conn->status) {
-	print "  opened mysql connection to $param{'mysqlHost'}\n";
-    } else {
-	print "  error: cannot connect to $param{'mysqlHost'}.\n";
-	print "  $conn->errorMessage\n";
-	exit 1;
-    }
-
-    # retrieve a list of db's from the server.
-    my %db;
-    foreach ($dbh->func('_ListTables')) {
-	$db{$_} = 1;
-    }
-
-    # Step 4.
-    print "Step 4: Creating the tables.\n";
-
-    # factoid db.
-    if (!exists $db{'factoids'}) {
-	print "  creating new table factoids...\n";
-
-	$query = "CREATE TABLE factoids (".
-		"factoid_key varying(64) NOT NULL,".
-
-		"requested_by varying(64),".
-		"requested_time numeric(11,0),".
-		"requested_count numeric(5,0),".
-		"created_by varying(64),".
-		"created_time numeric(11,0),".
-
-		"modified_by character varying(192),".
-		"modified_time numeric(11,0),".
-
-		"locked_by character varying(64),".
-		"locked_time numeric(11,0),".
-
-		"factoid_value text NOT NULL,".
-
-		"PRIMARY KEY (factoid_key)".
-	")";
-
-	&dbRaw("create(factoids)", $query);
-    }
-
-    # freshmeat.
-    if (!exists $db{'freshmeat'}) {
-	print "  creating new table freshmeat...\n";
-
-	$query = "CREATE TABLE freshmeat (".
-		"name charcter varying(64) NOT NULL,".
-		"stable character varying(32),".
-		"devel character varying(32),".
-		"section character varying(40),".
-		"license character varying(32),".
-		"homepage character varying(128),".
-		"download character varying(128),".
-		"changelog character varying(128),".
-		"deb character varying(128),".
-		"rpm character varying(128),".
-		"link character varying(55),".
-		"oneliner character varying(96) NOT NULL,".
-
-		"PRIMARY KEY (name)".
-	")";
-
-	&dbRaw("create(freshmeat)", $query);
-    }
-
-    # karma.
-    if (!exists $db{'karma'}) {
-	print "  creating new table karma...\n";
-
-	$query = "CREATE TABLE karma (".
-		"nick character varying(20) NOT NULL,".
-		"karma numeric(5,0),".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(karma)", $query);
-    }
-
-    # rootwarn.
-    if (!exists $db{'rootwarn'}) {
-	print "  creating new table rootwarn...\n";
-
-	$query = "CREATE TABLE rootwarn (".
-		"nick character varying(20) NOT NULL,".
-		"attempt numeric(5,0),".
-		"time numeric(11,0) NOT NULL,".
-		"host character varying(80) NOT NULL,".
-		"channel character varying(20) NOT NULL,".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(rootwarn)", $query);
-    }
-
-    # seen.
-    if (!exists $db{'seen'}) {
-	print "  creating new table seen...\n";
-
-	$query = "CREATE TABLE seen (".
-		"nick character varying(20) NOT NULL,".
-		"time numeric(11,0) NOT NULL,".
-		"channel character varying(20) NOT NULL,".
-		"host character varying(80) NOT NULL,".
-		"messagecount numeric(5,0),".
-		"hehcount numeric(5,0),".
-		"message text NOT NULL,".
-
-		"PRIMARY KEY (nick)".
-	")";
-
-	&dbRaw("create(seen)", $query);
-    }
-}
-
-&closeDB();
-
-print "Done.\n";
diff --git a/blootbot/scripts/setup_users.pl b/blootbot/scripts/setup_users.pl
deleted file mode 100755
index 9c1c200..0000000
--- a/blootbot/scripts/setup_users.pl
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/perl
-# setup_users: setup MYSQL/PGSQL side of things for blootbot.
-# written by the xk.
-###
-
-require "src/core.pl";
-require "src/Misc.pl";
-require "src/logger.pl";
-require "src/modules.pl";
-$bot_src_dir = "./src";
-
-&loadConfig("files/blootbot.config");
-&loadDBModules();
-
-my $dbname = $param{'DBName'};
-my $query;
-
-if ($dbname eq "") {
-  print "error: appears that teh config file was not loaded properly.\n";
-  exit 1;
-}
-
-if ($param{'DBType'} =~ /mysql/i) {
-
-    print "Enter root information...\n";
-    # username.
-    print "Username: ";
-    chop (my $adminuser = <STDIN>);
-
-    # passwd.
-    system "stty -echo";
-    print "Password: ";
-    chop(my $adminpass = <STDIN>);
-    print "\n";
-    system "stty echo";
-
-    if ($adminuser eq "" or $adminpass eq "") {
-	print "error: adminuser || adminpass is NULL.\n";
-	exit 1;
-    }
-
-    # Step 1.
-    print "Step 1: Adding user information.\n";
-
-    # open the db.
-    &openDB("mysql", $adminuser, $adminpass);
-
-    # Step 2.
-    if (!&dbGet("user","user",$param{'SQLUser'},"user")) {
-	print "  Adding user $param{'SQLUser'} $dbname/user table...\n";
-
-	$query = "INSERT INTO user VALUES ".
-		"('localhost', '$param{'SQLUser'}', ".
-		"password('$param{'SQLPass'}'), ";
-
-	$query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')";
-###	$query .= "'Y','Y','Y','Y','N','N','N','N','N','N')";
-
-	&dbRaw("create(user)", $query);
-    }
-
-    # Step 3. what's this for?
-    if (!&dbGet("db","db",$param{'SQLUser'},"db")) {
-	print "  Adding 'db' entry\n";
-
-	$query = "INSERT INTO db VALUES ".
-		"('localhost', '$dbname', ".
-		"'$param{'SQLUser'}', ";
-
-	$query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')";
-###	$query .= "'Y','Y','Y','Y','Y','N')";
-
-	&dbRaw("create(db)", $query);
-    }
-
-    # grant.
-    print "  Granting user access to table.\n";
-    $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'SQLUser'}";
-    &dbRaw("??", $query);
-
-    # flush.
-    print "Flushing privileges...\n";
-    $query = "FLUSH PRIVILEGES";		# DOES NOT WORK on slink?
-    &dbRaw("mysql(flush)", $query);
-
-    # create database.
-    print "Creating database $param{'DBName'}...\n";
-    $query = "CREATE DATABASE $param{'DBName'}";
-    &dbRaw("create(db $param{'DBName'})", $query);
-} elsif ($param{'DBType'} =~ /pg|postgres/i) {
-    use Pg;
-#    &openDB();
-
-    print "FIXME\n";
-}
-
-&closeDB();