You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repo has seen little activity over the last four to five years so I am not sure if it is still actively maintained. This is why I will suggest different solutions that
leave the code as is and instead focus on client side configuration or
make some tiny modifications in the python-qpass code.
To run a recursive search of all password entries contained in the password store python-qpass uses the following command:
find -type f -name '*.gpg' -print0
As no path argument is provided, this command will
default to the password store directory on Linux
fail on macOS.
The following potential fixes should all work. My personal preference is on 3.
Solution 1: Install GNU find, rearrange $PATH
Install GNU find via
brew install findutils
and follow the instructions provided in this Stack Overflow answer. You now have access to BSD find (via find) as well as GNU find (via gfind). If you have set up your $PATH variable correctly, all calls to find should now use GNU find.
Solution 2: Install GNU find, modify python-qpass to use GNU find instead
Install GNU find via
brew install findutils
and leave your $PATH as is. You now have access to BSD find (via find) as well as GNU find (via gfind). All you need to do is tell python-qpass to use gfind instead of find if you are on macOS.
Solution 3: Modify python-qpass to provide path argument
Provide the required path argument to find. This will fix the issue on macOS and will not have any effect on Linux (where the path argument is optional).
This repo has seen little activity over the last four to five years so I am not sure if it is still actively maintained. This is why I will suggest different solutions that
python-qpass
code.Background on the error
macOS ships with a different
find
command (BSD find
) than the one pre-installed on most Linux distributions (GNU find
). One key difference is thatGNU find
automatically defaults to the current directory when searching for files -BSD find
, on the other hand, requires a mandatory path argument.To run a recursive search of all password entries contained in the password store
python-qpass
uses the following command:find -type f -name '*.gpg' -print0
As no path argument is provided, this command will
The following potential fixes should all work. My personal preference is on 3.
Solution 1: Install
GNU find
, rearrange$PATH
Install
GNU find
viaand follow the instructions provided in this Stack Overflow answer. You now have access to
BSD find
(viafind
) as well asGNU find
(viagfind
). If you have set up your$PATH
variable correctly, all calls tofind
should now useGNU find
.Solution 2: Install
GNU find
, modifypython-qpass
to useGNU find
insteadInstall
GNU find
viaand leave your
$PATH
as is. You now have access toBSD find
(viafind
) as well asGNU find
(viagfind
). All you need to do is tellpython-qpass
to usegfind
instead offind
if you are on macOS.Change this line
python-qpass/qpass/__init__.py
Line 306 in 43ce447
to
Solution 3: Modify
python-qpass
to provide path argumentProvide the required path argument to
find
. This will fix the issue on macOS and will not have any effect on Linux (where the path argument is optional).Change this line
python-qpass/qpass/__init__.py
Line 306 in 43ce447
to
I am planning to submit a pull request containing this last solution.
The text was updated successfully, but these errors were encountered: