Fix package handling in Windows 10 build 1904x.

This commit is contained in:
László Valkó 2021-12-17 18:59:32 +01:00
parent 444efeabeb
commit cf0c12aae2

View file

@ -649,15 +649,28 @@ sub get_default_dnsdomain ()
{
my $hostname = get_hostname();
return undef unless defined $hostname;
print "hostname: $hostname\n";
my $ipconfig = Win32::IPConfig->new($hostname);
return undef unless defined $ipconfig;
my $found;
foreach my $adapter ($ipconfig->get_adapters()) {
my $name = $adapter->get_name();
my $domain = $adapter->get_domain();
next unless defined $domain;
next unless defined $name and defined $domain;
next unless $name =~ /^Ethernet/o;
$found = $domain;
last;
}
if (! defined $found) {
foreach my $adapter ($ipconfig->get_adapters()) {
my $name = $adapter->get_name();
my $desc = $adapter->get_description();
my $domain = $adapter->get_domain();
next unless defined $name and defined $domain;
$found = $domain;
last;
}
}
return $found;
}
@ -2726,8 +2739,23 @@ sub get_patch_vars ($$$$$)
my $patchdir = substitute_variables($vars, $$patchdef{'source-directory'}, 1, $basedir, 'pkg');
$$vars{patchdir} = $patchdir;
$$vars{patch} = $kb;
my $number = $kb =~ /^(\d+)/o ? $1 : $kb;
my $extra = $kb =~ /^\d+([^0-9].*)$/o ? '-'.$1 : '';
my $kbnum = $kb;
my $number;
my $extra;
if ($kb =~ /^([^\/]+)\/(.+)*$/o) {
$kbnum = $1;
$number = $2;
$extra = '';
}
elsif ($kb =~ /^(\d+)([^0-9].*)$/o) {
$number = $1;
$extra = '-'.$2;
}
else {
$number = $kb;
$extra = '';
}
$$vars{patchkbnum} = $kbnum;
$$vars{patchnum} = $number;
$$vars{patchextra} = $extra;
$$vars{patchprefix} = defined $$patchdef{prefix} ? $$patchdef{prefix} : 'Windows'.get_win_version().'-';
@ -2841,7 +2869,8 @@ sub assess_patch ($$$$$$$$$)
my $pkgname = $$vars{pkgname};
my $patches = $$db{Patches};
my $pkgs = $$db{Pkgs};
my $foundpatch = $$patches{$kb};
my $patchdbname = $kb =~ /^([^\/]+)\.*$/o ? $1 : $kb;
my $foundpatch = $$patches{$patchdbname};
my $foundpkg = defined $pkgname ? $$pkgs{$pkgname} : undef;
if (defined $foundpkg) {
my $foundforpkgs = $$foundpkg{Packages};