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();
|
my $hostname = get_hostname();
|
||||||
return undef unless defined $hostname;
|
return undef unless defined $hostname;
|
||||||
|
print "hostname: $hostname\n";
|
||||||
my $ipconfig = Win32::IPConfig->new($hostname);
|
my $ipconfig = Win32::IPConfig->new($hostname);
|
||||||
return undef unless defined $ipconfig;
|
return undef unless defined $ipconfig;
|
||||||
my $found;
|
my $found;
|
||||||
foreach my $adapter ($ipconfig->get_adapters()) {
|
foreach my $adapter ($ipconfig->get_adapters()) {
|
||||||
|
my $name = $adapter->get_name();
|
||||||
my $domain = $adapter->get_domain();
|
my $domain = $adapter->get_domain();
|
||||||
next unless defined $domain;
|
next unless defined $name and defined $domain;
|
||||||
|
next unless $name =~ /^Ethernet/o;
|
||||||
$found = $domain;
|
$found = $domain;
|
||||||
last;
|
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;
|
return $found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2726,8 +2739,23 @@ sub get_patch_vars ($$$$$)
|
||||||
my $patchdir = substitute_variables($vars, $$patchdef{'source-directory'}, 1, $basedir, 'pkg');
|
my $patchdir = substitute_variables($vars, $$patchdef{'source-directory'}, 1, $basedir, 'pkg');
|
||||||
$$vars{patchdir} = $patchdir;
|
$$vars{patchdir} = $patchdir;
|
||||||
$$vars{patch} = $kb;
|
$$vars{patch} = $kb;
|
||||||
my $number = $kb =~ /^(\d+)/o ? $1 : $kb;
|
my $kbnum = $kb;
|
||||||
my $extra = $kb =~ /^\d+([^0-9].*)$/o ? '-'.$1 : '';
|
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{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_win_version().'-';
|
||||||
|
@ -2841,7 +2869,8 @@ sub assess_patch ($$$$$$$$$)
|
||||||
my $pkgname = $$vars{pkgname};
|
my $pkgname = $$vars{pkgname};
|
||||||
my $patches = $$db{Patches};
|
my $patches = $$db{Patches};
|
||||||
my $pkgs = $$db{Pkgs};
|
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;
|
my $foundpkg = defined $pkgname ? $$pkgs{$pkgname} : undef;
|
||||||
if (defined $foundpkg) {
|
if (defined $foundpkg) {
|
||||||
my $foundforpkgs = $$foundpkg{Packages};
|
my $foundforpkgs = $$foundpkg{Packages};
|
||||||
|
|
Loading…
Reference in a new issue