[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#887629: libc6: bad upgrade path: libexpat1 unpacked and python3 called before libc6 unpacked



On 2018-01-18 21:45, Aurelien Jarno wrote:
>>>> [...]
>>>>   Preparing to unpack .../3-libglib2.0-dev_2.54.3-1_i386.deb ...
>>>>   /usr/bin/python3: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /lib/i386-linux-gnu/libexpat.so.1)
>>>>   dpkg: warning: subprocess old pre-removal script returned error exit status 1
>>>>   dpkg: trying script from the new package instead ...
>>>>   dpkg: error processing archive /tmp/apt-dpkg-install-wfemKS/3-libglib2.0-dev_2.54.3-1_i386.deb (--unpack):
>>>>    there is no script in the new version of the package - giving up
>>>>   /usr/bin/python3: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /lib/i386-linux-gnu/libexpat.so.1)
>>>
>>> This failure is normal given libexpat1 requires the new libc which has
>>> not been unpacked yet.
>>
>> Yeah, well, it needs to Pre-Depend on it then I guess, if it's being used
>> in preinst actions. The thing is that Depends only after postinst ordering,
>> not unpack ordering.
> 
> Well it's not the preinst script, but the prerm script. The problem is
> unpacking libexpat1 before libc6 breaks libexpat1 and not usable
> anymore.

This particular case could be fixed by adding an empty dummy prerm to
libglib2.0-dev s.t. the script from the new package exists and does not
fail. But that wouldn't work if it would still use python ...


Andreas


Reply to: