--- 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;
}