patches/system-tools-backends-07-time.diff
changeset 12148 f6e9b52b2417
parent 8612 b455d5fe1658
--- a/patches/system-tools-backends-07-time.diff	Wed Apr 16 16:51:52 2008 +0000
+++ b/patches/system-tools-backends-07-time.diff	Thu Apr 17 10:52:08 2008 +0000
@@ -1,6 +1,6 @@
---- system-tools-backends-1.4.2/time-conf.in.orig	2006-11-19 19:54:17.350540000 +0800
-+++ system-tools-backends-1.4.2/time-conf.in	2006-11-20 19:26:08.371733000 +0800
-@@ -67,6 +67,7 @@ $version = "@VERSION@";
+--- system-tools-backends-1.4.2.orig/time-conf.in	2006-01-02 23:47:30.000000000 +0800
++++ system-tools-backends-1.4.2/time-conf.in	2008-04-17 14:21:37.441179000 +0800
+@@ -67,6 +67,7 @@
                "mandrake-7.1", "mandrake-7.2", "mandrake-9.0", "mandrake-9.1", "mandrake-9.2",
                "mandrake-10.0", "mandrake-10.1",
                "debian-2.2", "debian-3.0", "debian-sarge",
@@ -8,7 +8,7 @@
                "suse-7.0", "suse-9.0", "suse-9.1", "turbolinux-7.0",
                "slackware-8.0.0", "slackware-8.1", "slackware-9.0.0", "slackware-9.1.0", "slackware-10.0.0", "slackware-10.1.0", "slackware-10.2.0",
                "gentoo", "vlos-1.2", "pld-1.0", "pld-1.1", "pld-1.99", "fedora-1", "fedora-2", "fedora-3", "rpath",
-@@ -79,6 +80,7 @@ $description =<<"end_of_description;";
+@@ -79,6 +80,7 @@
  end_of_description;
  
  $progress_max = 365;
@@ -16,7 +16,7 @@
  
  
  # --- XML parsing --- #
-@@ -123,6 +125,8 @@ sub xml_parse_time
+@@ -123,6 +125,8 @@
      if    ($$tree[0] eq "local_time"){ $$hash{"local_time"} = &xml_parse_local_time ($$tree[1]); }
      elsif ($$tree[0] eq "timezone") { $$hash{"timezone"} = &gst_xml_get_word ($$tree[1]); }
      elsif ($$tree[0] eq "sync")     { $$hash{"sync"} = &xml_parse_sync ($$tree[1], $hash); }
@@ -25,7 +25,7 @@
  
      shift @$tree;
      shift @$tree;
-@@ -150,6 +154,23 @@ sub xml_parse_sync
+@@ -150,6 +154,23 @@
    return \@sync;
  }
  
@@ -49,7 +49,7 @@
  
  sub xml_parse_local_time
  {
-@@ -189,7 +210,8 @@ sub xml_print
+@@ -189,7 +210,8 @@
  
    &gst_xml_print_vspace ();
    &gst_xml_print_hash ($$h{"local_time"}, "local_time");
@@ -59,7 +59,7 @@
    
    &gst_xml_print_vspace ();
    &gst_xml_print_line ("<sync active='" . &gst_print_boolean_yesno ($$h{'sync_active'}) . "'>\n");
-@@ -213,7 +235,7 @@ sub xml_print
+@@ -213,7 +235,7 @@
  # Main operations
  
  sub get
@@ -68,7 +68,7 @@
    my $hash;
  
    $hash = &conf_get ();
-@@ -225,8 +247,9 @@ sub get
+@@ -225,8 +247,9 @@
  
  sub set
  {
@@ -79,7 +79,7 @@
    $hash = &xml_parse ();
  
    &conf_set ($hash);
-@@ -277,6 +300,28 @@ sub time_get_local_time
+@@ -277,6 +300,28 @@
    return \%h;
  }
  
@@ -108,7 +108,7 @@
  sub time_get_rh62_zone
  {
    my ($local_time_file, $zoneinfo_dir) = @_;
-@@ -318,8 +363,8 @@ sub time_get_rh62_zone
+@@ -318,8 +363,8 @@
      $zone = "";
    }
    
@@ -118,7 +118,7 @@
  }
  
  sub conf_get
-@@ -342,7 +387,13 @@ sub time_change_date
+@@ -342,7 +387,13 @@
    my ($plat) = $$tool {"system"};
    my ($command);
  
@@ -132,7 +132,7 @@
      "Linux"   => "date %02d%02d%02d%02d%04d.%02d",
      "FreeBSD" => "date -f %%m%%d%%H%%M%%Y.%%S  %02d%02d%02d%02d%04d.%02d"
    };
-@@ -356,6 +407,33 @@ sub time_change_date
+@@ -356,6 +407,52 @@
  
    return &gst_file_run ($command);
  }
@@ -163,10 +163,29 @@
 +  }
 +  &gst_report_leave();
 +}
++
++sub time_set_sync_period
++{
++  my ($service, $active) = @_;
++  my ($plat) = $$tool{"system"};
++
++  &gst_report_enter();
++
++  if ( $plat eq "SunOS" ) {
++    $ntp_service_was_active = &gst_service_smf_get_status( $service );
++    if ( $active && $ntp_service_was_active )
++    {
++    	&gst_file_run( "svcadm restart $service" );
++    } else {
++	&gst_service_smf_set_status( $service, $active );
++    }  
++  }
++  &gst_report_leave();
++}
  
  sub time_set_local_time
  {
-@@ -378,6 +456,49 @@ sub time_set_local_time
+@@ -378,6 +475,49 @@
    return 0;
  }
  
@@ -216,7 +235,7 @@
  sub time_set_archlinux_zone
  {
  	my ($localtime, $zonebase, $timezone) =@_;
-@@ -442,7 +563,10 @@ sub time_set_rh62_zone
+@@ -442,7 +582,10 @@
  
  sub time_sync_hw_from_sys
  {
@@ -228,7 +247,7 @@
    return 0;
  }
  
-@@ -560,6 +684,10 @@ sub conf_get_parse_table
+@@ -560,6 +703,10 @@
     "debian-3.0"      => "debian-3.0",
     "debian-sarge"    => "debian-3.0",
  
@@ -239,7 +258,7 @@
     "suse-7.0"        => "suse-7.0",
     "suse-9.0"        => "suse-9.0",
     "suse-9.1"        => "suse-9.0",
-@@ -758,7 +886,24 @@ sub conf_get_parse_table
+@@ -758,7 +905,24 @@
            [ "ntpinstalled", \&gst_service_rcng_installed, [ "ntpd", "openntpd" ]],
            ]
          },
@@ -265,7 +284,7 @@
         "freebsd-5" =>
         {
           fn =>
-@@ -813,6 +958,10 @@ sub conf_get_replace_table
+@@ -813,6 +977,10 @@
     "debian-3.0"      => "debian-3.0",
     "debian-sarge"    => "debian-3.0",
  
@@ -276,7 +295,7 @@
     "suse-7.0"        => "suse-7.0",
     "suse-9.0"        => "suse-9.0",
     "suse-9.1"        => "suse-9.0",
-@@ -859,6 +1008,7 @@ sub conf_get_replace_table
+@@ -859,6 +1027,7 @@
               [
                [ "timezone",    \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "local_time",  \&time_set_local_time ],
@@ -284,7 +303,7 @@
                [ "sync",        \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
                [ "sync_active", \&gst_service_sysv_set_status, 90, "xntpd", "%sync_active%" ],
                ]
-@@ -876,6 +1026,7 @@ sub conf_get_replace_table
+@@ -876,6 +1045,7 @@
               [
                [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "local_time",   \&time_set_local_time ],
@@ -292,7 +311,7 @@
                [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
                [ "sync_active",  \&gst_service_sysv_set_status, 90, "ntpd", "%sync_active%" ],
                ]
-@@ -893,6 +1044,7 @@ sub conf_get_replace_table
+@@ -893,6 +1063,7 @@
               [
                [ "timezone",    \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "local_time",  \&time_set_local_time ],
@@ -300,7 +319,7 @@
                [ "sync",        \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
                [ "sync_active", \&gst_service_sysv_set_status, 23, "ntp", "%sync_active%" ],
                ]
-@@ -912,6 +1064,7 @@ sub conf_get_replace_table
+@@ -912,6 +1083,7 @@
                [ "timezone",    \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "timezone",    \&gst_replace_line_first, TIMEZONE ],
                [ "local_time",  \&time_set_local_time ],
@@ -308,7 +327,7 @@
                [ "sync",        \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
                [ "sync_active", \&gst_service_sysv_set_status, 23, "ntp-server", "%sync_active%" ],
                ]
-@@ -929,6 +1082,7 @@ sub conf_get_replace_table
+@@ -929,6 +1101,7 @@
               [
                [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "local_time",   \&time_set_local_time ],
@@ -316,7 +335,7 @@
                [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
                [ "sync_active",  \&gst_service_sysv_set_status, 90, "xntpd", "%sync_active%" ],
                ]
-@@ -946,6 +1100,7 @@ sub conf_get_replace_table
+@@ -946,6 +1119,7 @@
           [
            [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
            [ "local_time",   \&time_set_local_time ],
@@ -324,7 +343,7 @@
            [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
            [ "sync_active",  \&gst_service_suse_set_status, "xntpd" ],
           ]
-@@ -963,6 +1118,7 @@ sub conf_get_replace_table
+@@ -963,6 +1137,7 @@
               [
                [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
                [ "local_time",   \&gst_replace_join_all, NTP_CONF, "server", "[ \t]+" ],
@@ -332,7 +351,7 @@
                [ "sync_active",  \&gst_service_sysv_set_status, 90, "ntpd", "%sync_active%" ],
                ]
          },
-@@ -979,6 +1135,7 @@ sub conf_get_replace_table
+@@ -979,6 +1154,7 @@
           [
            [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
            [ "local_time",   \&time_set_local_time ],
@@ -340,7 +359,7 @@
            [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
            [ "sync_active",  \&gst_service_gentoo_set_status, "ntpd", 1, "%sync_active%" ],
            ]
-@@ -996,10 +1153,49 @@ sub conf_get_replace_table
+@@ -996,10 +1172,49 @@
           [
            [ "timezone",     \&time_set_archlinux_zone, [LOCAL_TIME, ZONEINFO] ],
            [ "local_time",   \&time_set_local_time ],
@@ -364,7 +383,7 @@
 +          [ "local_time",   \&time_set_local_time ],
 +          [ "sync_now",     \&time_set_sync_now ],
 +          [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
-+          [ "sync_active",  \&gst_service_smf_set_status, "network/ntp", "%sync_active%" ],
++          [ "sync_active",  \&time_set_sync_peroid, "network/ntp", "%sync_active%" ],
 +          ]
 +        },
 +
@@ -383,14 +402,14 @@
 +          [ "sync_now",     \&time_set_sync_now ],
 +          [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
 +          [ "profiledb",    \&write_profiledb ], #zhua
-+          [ "sync_active",  \&gst_service_smf_set_status, "network/ntp", "%sync_active%" ],
++          [ "sync_active",  \&time_set_sync_period, "network/ntp", "%sync_active%" ],
 +          ]
 +        },
 +
         
         "freebsd-5" =>
         {
-@@ -1013,6 +1209,7 @@ sub conf_get_replace_table
+@@ -1013,6 +1228,7 @@
           [
            [ "timezone",     \&time_set_rh62_zone, [LOCAL_TIME, ZONEINFO] ],
            [ "local_time",   \&time_set_local_time ],
@@ -398,7 +417,7 @@
            [ "sync",         \&time_replace_ntp_servers, NTP_CONF, "server", "[ \t]+" ],
            [ "sync_active",  \&gst_service_rcng_set_status, "ntpd", "%sync_active%" ],
            ]
-@@ -1026,3 +1223,140 @@ sub conf_get_replace_table
+@@ -1026,3 +1242,140 @@
    return undef;
  }