Closed ghost closed 4 years ago
What purpose does this serve?
Thanks for pointing out the problematic package relationships. I understand the change from chromium
to ungoogled-chromium
(which fixes our package relationships to be more like that of the original packages), but I think we need to more carefully consider the semantics here. There are two loopholes that come to mind:
ungoogled-chromium-sandbox
is probably not compatible with chromium
, so we need to add chromium
to Breaks
. This can arise if the user is switching between chromium
and ungoogled-chromium
.ungoogled-chromium
to chromium
, but you have a Replaces
for chromium-sandbox
that would make the dependency resolver fail because of the behavior in section 7.6.2 of the Debian Policy Manual. Simply removing the entry in Replaces
is not quite correct because of the behavior documented in section 7.6.1 of the Policy Manual. Instead, I think we should remove chromium-sandbox
from Replaces
AND add it to Conflicts
(Conflicts is documented in section 7.4)I am by no means a packaging expert, so please let us know if there are any holes in my logic.
@braewoods, if the relationships section for the packages is incorrect, this can cause a problem for the users.
Take this example: An older version of ungoogled-chromium is used while a newer version of ungoogled-chromium-sandbox is also installed. This would not be supported but due to the relationship specification of the package, this problem would not be detected and ungoogled-chromium-sandbox would (probably) not function.
This is a rare case but something to keep in mind nonetheless. It is vital to get the relationships of packages right, as it may result in a mess.
@Eloston, I appreciate the thought you have put into this, however if what you’re saying is correct, should we apply this idea to the other packages as well? (e.g ungoogled-chromium-common)
should we apply this idea to the other packages as well? (e.g ungoogled-chromium-common)
Yeah, the same situation should apply to common, sandbox, and driver.
Okay I have updated the changes - please review this pull request. @Eloston
Changed the Breaks and Replaces section for ungoogled-chromium-sandbox