← Back to team overview

apport-hackers team mailing list archive

Re: [Merge] lp:~brian-murray/apport/speedier-sandboxes into lp:apport

 

Now the inline comments - thanks LP.

Diff comments:

> 
> === modified file 'backends/packaging-apt-dpkg.py'
> --- backends/packaging-apt-dpkg.py	2017-08-25 18:59:03 +0000
> +++ backends/packaging-apt-dpkg.py	2018-01-04 00:41:07 +0000
> @@ -884,12 +884,20 @@
>                      conflicts += apt.apt_pkg.parse_depends(candidate.record['Conflicts'])
>                  if 'Replaces' in candidate.record:
>                      conflicts += apt.apt_pkg.parse_depends(candidate.record['Replaces'])
> +
>                  for conflict in conflicts:
> +                    if conflict[0][0] == candidate.package.name:
> +                        continue

As we discussed on irc this is due to gdb and apt doesn't complain about the conflict so we are changing apport to behave more like apt.

>                      # apt_pkg.parse_depends needs to handle the or operator,
>                      # but as policy states it is invalid to use that in
>                      # Replaces/Depends, we can safely choose the first value
>                      # here.
>                      conflict = conflict[0]
> +                    # if the conflicting package isn't installed in the
> +                    # sandbox or in the list of packages to install its not a
> +                    # concern.
> +                    if conflict[0] not in packages and conflict[0] not in pkg_versions:
> +                        continue

I put in a print line when packages are removed from pkg_versions (line 914) and see the following during a retrace:

Extracting downloaded debs...
deleting libpam-modules because of libpam-mkhomedir
deleting perl-base because of libfile-path-perl
Get:1 http://192.168.10.7/ubuntu xenial/main amd64 libpam-modules amd64 1.1.8-3.2ubuntu2 [244 kB]
Fetched 244 kB in 0s (0 B/s)

So libpam-modules is reinstalled on every retrace in the gdb sandbox even though libpam-mkhomedir is not installed in the gdb sandbox.

>                      if cache.is_virtual_package(conflict[0]):
>                          try:
>                              providers = virtual_mapping[conflict[0]]


-- 
https://code.launchpad.net/~brian-murray/apport/speedier-sandboxes/+merge/335681
Your team Apport upstream developers is requested to review the proposed merge of lp:~brian-murray/apport/speedier-sandboxes into lp:apport.


References