bindep, pacman, and PyPI release

Jakob Lykke Andersen jlandersen at imada.sdu.dk
Sun Dec 13 10:43:35 UTC 2020


Dear developers,

I'm trying to use bindep on Arch but hitting a problem with the output 
handling. It seems that 'pacman -Q' may output warning lines if you have 
a file with the same name as the package. E.g.,:
$ mkdir cmake
$ pacman -Q cmake
error: package 'cmake' was not found
warning: 'cmake' is a file, you might want to use -p/--file.

The current detection assumes the "was not found" is the last part of 
the output. Applying the patch below seems to fix it.

After applying this patch, or whichever change you deem reasonable to 
fix the issue, it would be great if you could make a new release on PyPI.

Thanks,
Jakob


diff --git a/bindep/depends.py b/bindep/depends.py
index bb9553f..cacc863 100644
--- a/bindep/depends.py
+++ b/bindep/depends.py
@@ -558,7 +558,8 @@ class Pacman(Platform):
stderr=subprocess.STDOUT).decode(getpreferredencoding(False))
          except subprocess.CalledProcessError as e:
              eoutput = e.output.decode(getpreferredencoding(False))
-            if e.returncode == 1 and eoutput.strip().endswith('was not 
found'):
+            s = "error: package '{}' was not found".format(pkg_name)
+            if e.returncode == 1 and s in eoutput:
                  return None
              raise
          # output looks like



More information about the openstack-discuss mailing list