Hi Laszlo,

Thanks for you detailed clarification. 

This patch will not be pushed to edk2 master and Ubuntu user need to install 
python3-distutils package via "sudo apt-get install python3-distutils" to 
resolve this issue.

Thanks,
Bob

-----Original Message-----
From: Laszlo Ersek [mailto:ler...@redhat.com] 
Sent: Thursday, February 14, 2019 11:32 PM
To: Feng, Bob C <bob.c.f...@intel.com>
Cc: Gao, Liming <liming....@intel.com>; Bi, Dandan <dandan...@intel.com>; 
Carsey, Jaben <jaben.car...@intel.com>; edk2-devel@lists.01.org
Subject: Re: [edk2] [Patch 0/3] BaseTools: Implement splitquoted function

Hi Bob,

On 02/14/19 03:51, Feng, Bob C wrote:
> Hi Laszlo, Liming, Jaben and Dandan,
>
> I found this is a Ubuntu18 bug. Refer to
> https://bugs.launchpad.net/ubuntu/+source/fdroidserver/+bug/1762183

That Ubuntu bug is *related*, but it's not a bug that matters for us.

The bug above is about another package; it is called "fdroidserver". The 
"fdroidserver" package has a hard runtime dependency on the python 
"distutils.util" module.

Package management systems on Linux distributions track inter-package 
dependencies. That is, if the meta-data on the "fdroidserver" package 
explicitly lists the "python3-distutils" package as a dependency, then the 
package management system will automatically install in "python3-distutils" 
when the user requests "fdroidserver".

However, if the meta-data on the "fdroidserver" package are incorrect (buggy), 
then the package management system will have no clue. And, if the 
"python3-distutils" package is not already installed for some other reason, 
then the user will get an installation or runtime error, when they try to 
install or run "fdroidserver".

So, to be clear, the bug report you reference describes a *similar* situation 
to ours (a missing dependency), but it's not the same case.
The bug you refer to is in the "fdroidserver" package, and they fixed it in 
Ubuntu by updating / correcting the meta-data on the "fdroidserver"
package. The "python3-distutils" package, or other parts of the OS, were not 
touched.

> And Ubuntu fixed this bug via a Ubuntu18.04.1 update package which was 
> published on 2018-08-09. Refer to
> https://launchpad.net/ubuntu/+source/fdroidserver/1.0.9-1~18.04.1

The link you provide confirms what I wrote above. It is a changelog for the 
"fdroidserver" package, and the relevant entry says "fix missing Python 
distutils dependency".

> While the latest Ubuntu 18.04 release
> (ubuntu-18.04.1-desktop-amd64.iso)  on 
> http://releases.ubuntu.com/18.04/ was published on 2018-07-25.  So 
> there is no distutils.util library on Ubuntu18.04 default 
> installation.

No, this statement can't be correct. I'm pretty sure that the 
"python3-distutils" package *was* available when Ubuntu 18.04 -- not
18.04.1 -- was originally released.

I've just downloaded

  http://old-releases.ubuntu.com/releases/bionic/ubuntu-18.04-desktop-amd64.iso

While the package is not on the ISO, a whole lot of *other* packages are also 
not there -- for example I can't see any python at all. So I'm thinking that 
python3-distutils was only available from the network.

But, I'm pretty sure python3-distutils *was* available from the network, when 
18.04 was originally released.

What was indeed broken in the original Ubuntu 18.04 release was the meta-data 
on the "fdroidserver" package.

> But I think it's clear that distutils.util is not *3rd party* python 
> library.

I agree; and that is what matters.

> I have tried that the command "sudo apt upgrade"  can't fix this bug

This "apt" command would only be relevant if you had the *old* fdroidserver 
package installed (with the missing dependency in its meta-data). Then, "apt" 
would install the *new* fdroidserver package for you, and it would also act on 
the now-visible "python3-distutils"
dependency. Thus, "apt" would automatically install in python3-distutils, as a 
dependency.

For installing "python3-distutils" *in itself*, the above "apt" command is 
totally useless.

> while the command "sudo apt-get install python3-distutils" works.

Yes, it does, because here you are specifically requesting the 
python3-distutils package.

And that's what matters. Ubuntu users simply need to install python3-distutils 
manually, from their official package repositories, if they want to use 
BaseTools (as part of the upstream edk2 git repo).

So I think this edk2 patch set is not necessary, after all.

Thanks,
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to