[Dev] [RFC] blacklist/your-freedom conflicts/replaces stragegy
Luke Shumaker
lukeshu at lukeshu.com
Sat Sep 16 15:18:39 GMT 2017
Hi all,
In blacklist.txt, the first 2 columns are
arch-package:parabola-replacement:...
If parabola-replacement != "", then your-freedom *doesn't*
conflicts=(arch-package), because it assumes that parabola-replacement
replaces=(arch-package)
provides=(arch-package)
conflicts=(arch-package)
And if your-freedom conflicts=(arch-package), then it would also
conflict with Parabola's replacement, because of the provides=().
This isn't quite right all the time. For example, if a user wants to
install firefox and iceweasel side-by-side, the conflict should be
happening with your-freedom->firefox, not iceweasel->firefox. Another
example is if a user wants to install linux and linux-libre
side-by-side.
What we need is a way of specifying in blacklist.txt whether
parabola-replacement provides=/conflicts=(arch-package), or if it just
replaces=() it.
That is, when a Parabola package replaces an arch-package, it should
have 2 options:
- Choice 1
replaces=(arch-package)
provides=(arch-package)
conflicts=(arch-package)
- Choice 2
replaces=(arch-package)
blacklist.txt need to know which it chooses, and if the Parabola
package chooses choice 1 (which it currently assumes), then
your-freedom needs to *not* conflict=(arch-package), but if the
Parabola package chooses choice 2 (the new option), your-freedom needs
*to* conflict=(arch-package).
This provides more satisfactory resolution to
https://labs.parabola.nu/issues/750 [1]
So, the remaining question is: What should the syntax in blacklist.txt
look like, and programs will need updated to deal with it?
--
Happy hacking,
~ Luke Shumaker
[1]: "Anonymous" there is of course Emulatorman. I'm mildly miffed
that they deleted their accounts when leaving, instead of just
locking them.
More information about the Dev
mailing list