summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.inspircd.inc16
-rwxr-xr-xconfigure13
2 files changed, 24 insertions, 5 deletions
diff --git a/.inspircd.inc b/.inspircd.inc
index d1ea383a3..cd3ffe6e3 100644
--- a/.inspircd.inc
+++ b/.inspircd.inc
@@ -15,11 +15,12 @@
# I HATE PERL.. kthxbye
# ---------------------------------------------------
-my $basepath = "@BASE_DIR@";
-my $confpath = "@CONFIG_DIR@/";
-my $binpath = "@BINARY_DIR@";
-my $libpath = "@LIBRARY_DIR@";
-my $executable = "@EXECUTABLE@";
+my $basepath = "@BASE_DIR@";
+my $confpath = "@CONFIG_DIR@/";
+my $binpath = "@BINARY_DIR@";
+my $libpath = "@LIBRARY_DIR@";
+my $executable = "@EXECUTABLE@";
+my $version = "@VERSION@";
my @filesparsed;
# Lets see what they want to do.. Set the variable (Cause i'm a lazy coder)
@@ -59,6 +60,11 @@ if ($arg eq "cron") {
exit();
}
+if ($arg eq "version") {
+ print "InspIRCd version: $version\n";
+ exit();
+}
+
if ($arg eq "restart") {
stop();
unlink($pidfile) if (-e $pidfile);
diff --git a/configure b/configure
index 28c1e9039..456a33525 100755
--- a/configure
+++ b/configure
@@ -1311,6 +1311,18 @@ EOF
opendir(DIRHANDLE, $this);
+ # Do this once here, and cache it in the .*.inc files,
+ # rather than attempting to read src/version.sh from
+ # compiled code -- we might not have the source to hand.
+ # Fix for bug#177 by Brain.
+
+ chomp(my $version = `sh ./src/version.sh`);
+ chomp(my $revision = getrevision());
+ $version = "$version(r$revision)";
+
+ # We can actually parse any file starting with . and ending with .inc,
+ # but right now we only parse .inspircd.inc to form './inspircd'
+
foreach $name (sort readdir(DIRHANDLE)) {
if ($name =~ /^\.(.+)\.inc$/) {
$file = $1;
@@ -1335,6 +1347,7 @@ EOF
$tmp =~ s/\@EXECUTABLE\@/$exe/;
$tmp =~ s/\@MAKEORDER\@/$config{MAKEORDER}/;
$tmp =~ s/\@STATICLIBS\@/$config{STATICLIBS}/;
+ $tmp =~ s/\@VERSION\@/$version/;
print "Writing \033[1;32m$file\033[0m\n";
open(FILEHANDLE, ">$file");