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

Re: Bug#862338: libsmbclient is not multi-arch co-installable due to samba-libs->python-talloc

Control: tags -1 - patch

On Mon, Nov 01, 2021 at 10:53:13PM +0000, Vasyl Gello wrote:
> I encountered the same issue trying to cross-build Kodi. Johannes advised me to try
> splitting Python libraries from samba-libs in [1] and I quickly crafted the first
> draft of the change (see attached debdiff). It solved my issue and the issue
> reported in this bug:

Thank you for working on this. Unfortunately, it's not quite ready yet.
Please keep in mind that the reason for this bug being open for so long
most likely is that it is a difficult problem. At least I have stayed
away from it for that reason.

Your patch moves files between packages. At the very least that requires
Breaks and Replaces relations. Without them, it will fail piuparts and
receive an rc bug from Andreas Beckmann at best or get angry users at

Then Andrew Bartlett pointed out that other packages may depend on that
functionality via samba-libs. Of course those need to have their Depends
updated and we need another pile of Breaks here. Figuring out what is
broken is a difficult aspect. An incomplete approach would be running
every single autopkgtest of every single transitive reverse dependency.
Unfortunately, there is lots of them and it only gives you a lower bound
of what is broken, but you'd really want an upper bound.

And finally, there is a process issue. For moving things around, the
usual process is:

1. Prepare
  * Move files from package A to package B.
  * Let B declare Breaks + Replaces on A.
  * Have A depend on B.
2. Transition
  * Update all packages that require the moved functionality to depend
    on B instead of or in addition to A.
3. Cleanup
  * Drop dependency of A on B.
  * Add Breaks to all pre-updated packages to A.

Usually, you miss something in step 2, so you proceed to step 3 after
having found the big chunk and later redo step three a few times after
finding the remainders.

So really, this problem is worth solving. It affects a lot of packages.
But if it was simple to solve, we'd already have done it. Expect to
spend at least a week on this and a bigger chunk of CPU days.


Reply to: