Index: /status
===================================================================
--- /status (revision 213)
+++ /status (revision 214)
@@ -1,3 +1,3 @@
-application     shepherd            0.3.11
+application     shepherd            0.3.12
 engine          dog                 0.3.2
 grabber         yahoo7widget        1.58
Index: /applications/shepherd
===================================================================
--- /applications/shepherd (revision 213)
+++ /applications/shepherd (revision 214)
@@ -3,5 +3,5 @@
 my $myprogname = 'shepherd';
 my $progname = 'shepherd';
-my $version = '0.3.11';
+my $version = '0.3.12';
 
 # tv_grab_au
@@ -80,5 +80,5 @@
 my $config_file =   "$CWD/$progname.conf";
 my $channels_file = "$CWD/channels.conf";
-my $log_file = "$CWD/$progname.log";
+my $log_file = "$progname.log";
 
 my $invoked = get_full_path($0);
@@ -278,6 +278,14 @@
     &log("Installed $proggy v$latestversion.\n") if ($debug);
 
+    $components->{$proggy}->{type} = $progtype;
+    $components->{$proggy}->{ver} = $latestversion;
+    $components->{$proggy}->{config} = $config;
+    $components->{$proggy}->{laststatus} = sprintf "updated to %s on %s", $latestversion, POSIX::strftime("%a%d%b%y",localtime(time));
+
     # if the update was for the main app, restart it
     if ($proggy eq $myprogname) {
+	$components->{$proggy}->{ready} = 1;
+	&write_config_file;
+
 	# special case for main app - we create a symlink also
 	unlink("$CWD/tv_grab_au","$CWD/shepherd");
@@ -292,10 +300,5 @@
     }
 
-    my $result = test_proggy($proggy, $progtype);
-
-    $components->{$proggy}->{type} = $progtype;
-    $components->{$proggy}->{ver} = $latestversion;
-    $components->{$proggy}->{ready} = $result;
-    $components->{$proggy}->{config} = $config;
+    $components->{$proggy}->{ready} = test_proggy($proggy, $progtype);
 
     # If this component was disabled automatically, re-enable it.
@@ -306,7 +309,4 @@
 	enable($proggy);
     }
-
-    $components->{$proggy}->{laststatus} = sprintf "updated to %s on %s, not run yet", $latestversion, POSIX::strftime("%a%d%b%y",localtime(time));
-
 }
 
@@ -520,10 +520,4 @@
 {
     return query_component_type('postprocessor');
-}
-
-sub is_app
-{
-    my $proggy = shift;
-    return ($proggy eq $myprogname ? 1 : 0);
 }
 
@@ -977,9 +971,9 @@
     print "Finished configuring.\n\n" .
           "Shepherd is installed into $CWD.\n\n";
-    
-    if ($invoked ne "$CWD/$myprogname")
+
+    if ($invoked ne get_full_path(query_filename('shepherd','application')))
     {
 	print "Warning: you invoked this program as $invoked.\n" .
-	    "In the future, it should be run as $CWD/$myprogname,\n" .
+	    "In the future, it should be run as ".query_filename('shepherd','application')."\n" .
 	    "to avoid constantly re-downloading the latest version.\n\n" .
 	    "MythTV users may wish to create the following symlink, by " .
