Handle Windows 11 version numbers.
This commit is contained in:
parent
898cb3c39a
commit
c34c3c70a5
19
logging.pm
19
logging.pm
|
@ -23,6 +23,7 @@ require Exporter;
|
||||||
set_current_pkg_name
|
set_current_pkg_name
|
||||||
get_win_major
|
get_win_major
|
||||||
get_win_version
|
get_win_version
|
||||||
|
get_real_win_version
|
||||||
get_default_vars
|
get_default_vars
|
||||||
set_datetime_vars
|
set_datetime_vars
|
||||||
compare_versions
|
compare_versions
|
||||||
|
@ -207,6 +208,15 @@ sub get_win_version ()
|
||||||
return $osmajor.'.'.$osminor;
|
return $osmajor.'.'.$osminor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub get_real_win_version ()
|
||||||
|
{
|
||||||
|
my ($osver, $osmajor, $osminor, $osbuild) = Win32::GetOSVersion();
|
||||||
|
|
||||||
|
$osmajor = 11 if $osmajor == 10 && $osbuild >= 20000;
|
||||||
|
|
||||||
|
return $osmajor.'.'.$osminor;
|
||||||
|
}
|
||||||
|
|
||||||
sub get_default_vars (;$)
|
sub get_default_vars (;$)
|
||||||
{
|
{
|
||||||
my ($config) = @_;
|
my ($config) = @_;
|
||||||
|
@ -229,15 +239,24 @@ sub get_default_vars (;$)
|
||||||
my ($osver, $osmajor, $osminor, $osbuild) = Win32::GetOSVersion();
|
my ($osver, $osmajor, $osminor, $osbuild) = Win32::GetOSVersion();
|
||||||
if ($osmajor == 5 && $osminor == 1) {
|
if ($osmajor == 5 && $osminor == 1) {
|
||||||
$$vars{os} = 'xp';
|
$$vars{os} = 'xp';
|
||||||
|
$$vars{osfixed} = 'xp';
|
||||||
}
|
}
|
||||||
elsif ($osmajor == 6 && $osminor == 1) {
|
elsif ($osmajor == 6 && $osminor == 1) {
|
||||||
$$vars{os} = '7';
|
$$vars{os} = '7';
|
||||||
|
$$vars{osfixed} = '7';
|
||||||
}
|
}
|
||||||
elsif ($osmajor == 10) {
|
elsif ($osmajor == 10) {
|
||||||
$$vars{os} = '10';
|
$$vars{os} = '10';
|
||||||
|
if (int($osbuild) < 20000) {
|
||||||
|
$$vars{osfixed} = '10';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$$vars{osfixed} = '11';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$$vars{os} = 'unknown';
|
$$vars{os} = 'unknown';
|
||||||
|
$$vars{osfixed} = 'unknown';
|
||||||
}
|
}
|
||||||
$$vars{osversion} = $osmajor.'.'.$osminor;
|
$$vars{osversion} = $osmajor.'.'.$osminor;
|
||||||
$$vars{osmajor} = $osmajor;
|
$$vars{osmajor} = $osmajor;
|
||||||
|
|
|
@ -2530,9 +2530,9 @@ sub scan_package_dirs ($$)
|
||||||
return undef unless defined $filename && defined $dirs;
|
return undef unless defined $filename && defined $dirs;
|
||||||
$maxdepth = 1 unless defined $maxdepth;
|
$maxdepth = 1 unless defined $maxdepth;
|
||||||
|
|
||||||
print_log('global', INFO, 'Scanning package directories');
|
|
||||||
|
|
||||||
my $vars = get_default_vars($config);
|
my $vars = get_default_vars($config);
|
||||||
|
print_log('global', INFO, 'OS version: %s.%s.%s OS major: %s OS major fixed: %s', $$vars{osmajor}, $$vars{osminor}, $$vars{osbuild}, $$vars{os}, $$vars{osfixed});
|
||||||
|
print_log('global', INFO, 'Scanning package directories');
|
||||||
foreach my $dir (@$dirs) {
|
foreach my $dir (@$dirs) {
|
||||||
my $scandir = substitute_variables($vars, $dir, 1, $basedir, 'global');
|
my $scandir = substitute_variables($vars, $dir, 1, $basedir, 'global');
|
||||||
my $error = scan_package_dir($config, $scandir, $maxdepth, $filename);
|
my $error = scan_package_dir($config, $scandir, $maxdepth, $filename);
|
||||||
|
@ -2806,7 +2806,7 @@ sub get_patch_vars ($$$$$)
|
||||||
$$vars{patchkbnum} = $kbnum;
|
$$vars{patchkbnum} = $kbnum;
|
||||||
$$vars{patchnum} = $number;
|
$$vars{patchnum} = $number;
|
||||||
$$vars{patchextra} = $extra;
|
$$vars{patchextra} = $extra;
|
||||||
$$vars{patchprefix} = defined $$patchdef{prefix} ? $$patchdef{prefix} : 'Windows'.get_win_version().'-';
|
$$vars{patchprefix} = defined $$patchdef{prefix} ? $$patchdef{prefix} : 'Windows'.get_real_win_version().'-';
|
||||||
$$vars{patchkbname} = defined $$patchdef{kbname} ? $$patchdef{kbname} : 'KB';
|
$$vars{patchkbname} = defined $$patchdef{kbname} ? $$patchdef{kbname} : 'KB';
|
||||||
$$vars{patchedition} = defined $$patchdef{edition} ? $$patchdef{edition} : '';
|
$$vars{patchedition} = defined $$patchdef{edition} ? $$patchdef{edition} : '';
|
||||||
$$vars{patcharch} = defined $$patchdef{arch} ? $$patchdef{arch} : '-'.$$vars{xarch};
|
$$vars{patcharch} = defined $$patchdef{arch} ? $$patchdef{arch} : '-'.$$vars{xarch};
|
||||||
|
|
Loading…
Reference in a new issue