[Dev] problems with replacements for blacklisted packages

Luke Shumaker lukeshu at lukeshu.com
Sat Dec 23 02:52:45 GMT 2017

On Fri, 22 Dec 2017 17:37:03 -0500,
Isaac David wrote:
> Luke Shumaker wrote :
> > I wrote a little pyalpm script for finding blacklist replacements (as
> > in the second column in blacklist.txt).
> cool. i'm eager to compare it against the one i wrote for
> libreblacklist using expac.[1][] i'm hoping that we will
> move forward with the idea sketched in [2][].
> from your observations it seems that yours is doing more than just
> finding replacements, like delving into pkgbase and splits, and
> checking for accompanying provides=().
> [1]: https://git.parabola.nu/packages/libretools.git/commit/?h=isacdaavid&id=313d1ee619363eca0b8b0742a2d58c9ce18877fd
> [2]: https://lists.parabola.nu/pipermail/dev/2017-October/005936.html


It works very similarly to your expac version.  The expac one looks at
pkgname, replaces, and provides; mine looks at pkgname and replaces
only, but if there are 0 pkgname/replaces matches, *then* it falls
back to looking at provides as "suggestions".

It has a very similar list of caveats to the expac one:

 - It shows all replacements (comma-separated), rather than just one.
   By grepping for comma, I identified packages with multiple
   replacements, which I consider to be an error.

 - It uses the repos on the system, configured in pacman.conf

 - Replacements are show as repo/pkgname, rather than just pkgname.
   By grepping for lines that don't contain "libre/" or
   "libre-multilib/", I identified packages that should be moved to
   [libre], as well as identifying variants of non-free packages from
   Arch that aren't blacklisted ("community/tensorflow-opt" showing up
   as a suggested replacement for tensorflow).

Happy hacking,
~ Luke Shumaker

More information about the Dev mailing list