Luke Shumaker wrote :
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)
agreed 100%
So, the remaining question is: What should the syntax in blacklist.txt
look like
obviously it would have an extra field (i'm calling it CONFLICT) that
allows for only 2 options. their meanings could be specified in a
number of equivalent ways, so i'm not deeply worried about those.
syntax-wise though, because CONFLICT is _necessary_ only in the
context of libre-replacement, it's easy to imagine something like the
following:
1.
original-package:[libre-replacement:CONFLICT]:[ref]:[id]:short-description
however the variable-length format could complicate things too
much for programs parsing blacklist.txt, such as libreblacklist.
2. this could be avoided by explicitly distinguishing
[libre-replacement<SEPARATOR>CONFLICT] from top-level fields:
original-package:[libre-replacement+CONFLICT]:[ref]:[id]:short-description
3. finally, we can always keep CONFLICT and libre-replacement each on
its own top-level field...
original-package:[libre-replacement]:[CONFLICT]:[ref]:[id]:short-description
...and be prepared to deal with errors like:
flashplugin::ALREADY_CONFLICTED:::nonfree package with no
replacement
and [what] programs will need updated to deal with it?
libreblacklist is the elephant in the room. ideally all other programs
would restrict themselves to this interface. your-freedom & co. still
_need_ to parse blacklist.txt directly nonetheless:
conflicts=($(
< blacklist-${_gitver}.txt \
libreblacklist normalize |
cut -d: -f1,2 |
sed -n 's/:$//p' |
sort -u
))
i can't think of any other after you changed dbscripts to use
libreblacklist.
by the way, libreblacklist should be advertised more prominently on
the wiki to average users. it's much more elegant and discoverable
than blacklist.git. also, would you accept a patch to add a
get-ref/get-url function? have you noticed that get-reason doesn't
quite do what it says?:
$ libreblacklist |& grep get-reason
get-reason Prints only the reason field of the blacklist line(s)
$ libreblacklist cat | libreblacklist get-reason | tail -n 1
parabola:1457:[semifree] recommends unfree projects from same author
--
Isaac David
GPG: 38D33EF29A7691134357648733466E12EC7BA943
Tox:
0C730E0156E96E6193A1445D413557FF5F277BA969A4EA20AC9352889D3B390E77651E816F0C
_______________________________________________
Dev mailing list
[email protected]
https://lists.parabola.nu/mailman/listinfo/dev