summaryrefslogtreecommitdiff
path: root/ychat-0.7.4.1/scripts/makeyhttpd.pl
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
commit9cd3ccffd5372dfde3af478e3f832f18db4be3f1 (patch)
tree631c295a4a4a16b57502b847626763a279bf6df7 /ychat-0.7.4.1/scripts/makeyhttpd.pl
parent13aaf70af703748fe096e0664c305cd202637ad2 (diff)
tagging tags
Diffstat (limited to 'ychat-0.7.4.1/scripts/makeyhttpd.pl')
-rw-r--r--ychat-0.7.4.1/scripts/makeyhttpd.pl135
1 files changed, 135 insertions, 0 deletions
diff --git a/ychat-0.7.4.1/scripts/makeyhttpd.pl b/ychat-0.7.4.1/scripts/makeyhttpd.pl
new file mode 100644
index 0000000..101343a
--- /dev/null
+++ b/ychat-0.7.4.1/scripts/makeyhttpd.pl
@@ -0,0 +1,135 @@
+#!/usr/bin/perl
+
+# The yChat & yhttpd Project (2004, 2005)
+#
+# This scripts modifies the yChat sources to yhttpd sources.
+
+use strict;
+use scripts::modules::file;
+
+my @delete = (
+ 'ChangeLog',
+ 'g++.version',
+ 'TODO',
+ 'NEWS',
+ 'docs',
+ 'src/chat',
+ 'src/data',
+ 'src/irc',
+ 'src/contrib/crypt',
+ 'src/modl.h',
+ 'src/modl.cpp',
+ 'src/mods',
+ 'src/mods/commands',
+ 'src/mods/irc',
+ 'obj',
+ 'mods',
+ 'html',
+ 'log/rooms',
+ 'scripts/makeyhttpd.pl',
+ 'scripts/mergeconf.pl',
+ 'bin/ychat',
+ 'bin/ychat.old',
+);
+
+my @createdir = (
+ 'html'
+);
+
+my %substituate = (
+ 'ychat' => 'yhttpd',
+ 'yChat' => 'yhttpd',
+ 'YCHAT' => 'YHTTPD',
+ 'CHAT' => 'HTTPD',
+ '//>>' => ''
+);
+
+if ( -d "../yhttpd" ) {
+ print "Removing ../yhttpd\n";
+ system("rm -Rf ../yhttpd");
+}
+
+print "Creating new ../yhttpd\n";
+system("cp -Rp ../ychat ../yhttpd");
+
+chdir("../yhttpd");
+system("gmake clean");
+
+my @deletelines;
+foreach (@delete) {
+ next unless -d $_;
+ foreach (dopen($_)) {
+ next unless /\.h$/;
+ push @deletelines, $_;
+ }
+}
+
+print "Moving html templates\n";
+system("mv html/test.cgi .");
+system("mv html/demo.html .");
+system("mv html/style.css .");
+system("mv html/notfound.html .");
+
+print "Removing dirs and files\n->";
+foreach (@delete) {
+ next unless -f $_ || -d $_;
+ print " $_";
+ system("rm -Rf $_");
+}
+
+print "\nDeleting CVS directories\n";
+system("find . -name CVS | xargs rm -Rf");
+
+print "Creating new dirs\n->";
+foreach (@createdir) {
+ print " $_";
+ system("mkdir $_");
+}
+
+print "\nRenaming config file\n";
+system("mv etc/ychat.conf etc/yhttpd.conf");
+
+print "Moving html templates\n";
+system("mv demo.html html/index.html");
+system("mv test.cgi notfound.html style.css html");
+
+print "Removing marked lines of code\n->";
+&remove_marked_lines('.');
+
+sub remove_marked_lines {
+ my $dir = shift;
+ chdir($dir);
+ foreach (&dopen(".")) {
+ next if /^\.+$/;
+ print " $_";
+ if ( -f $_ ) {
+ my @newfile;
+ my $flag = 0;
+ foreach my $line (fopen($_)) {
+ $flag = 1 if $line =~ /\/\/<<\*/;
+ if ($flag == 0 && $line !~ /\/\/<</) {
+ foreach ( @deletelines ) {
+ if ($line =~ /$_/) {
+ $flag = 3;
+ last;
+ }
+ }
+ if ($flag != 3 ) {
+ map { $line =~ s/$_/$substituate{$_}/eg } keys %substituate;
+ push @newfile, $line;
+ } else {
+ $flag = 0;
+ }
+ }
+ $flag = 0 if $line =~ /\/\/\*>>/;
+ }
+ &fwrite($_, @newfile);
+ } elsif ( -d $_ ) {
+ &remove_marked_lines($_);
+ }
+ }
+ chdir('..');
+}
+
+print "\n";
+