Fix package handling in Windows 10 build 1904x.
This commit is contained in:
parent
444efeabeb
commit
cf0c12aae2
37
pkgtool.pm
37
pkgtool.pm
|
@ -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};
|
||||
|
|
Loading…
Reference in a new issue