Can I get Pasaffe on Fedora?

Asked by Paul Ouellette

It's very nice and lightweight!

Question information

Language:
English Edit question
Status:
Answered
For:
Pasaffe Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Marc Deslauriers (mdeslaur) said :
#1

I don't think anyone has packaged Pasaffe on Fedora yet. It would be great if someone did though!

Revision history for this message
Michael Collins (michael-collins) said :
#2

I just rebuilt a rpm as I updated to Fedora 32.

I did the following:

$ sudo dnf install rpmdevtools
$ wget https://launchpad.net/pasaffe/trunk/0.56/+download/pasaffe-0.56.tar.gz
$ tar xvzf pasaffe-0.56.tar.gz
$ cd pasaffe-0.56
$ python setup.py bdist_rpm
$ find dist/*.rpm
dist/pasaffe-0.56-1.noarch.rpm
dist/pasaffe-0.56-1.src.rpm
$ sudo dnf install dist/pasaffe-0.56-1.src.rpm

If others would like an rpm package for fedora I'm happy to help figure out build details either on launchpad or somewhere else.

(If no one else wants it then at least next time I hit this issue I'll find this note from myself)

Revision history for this message
Michael Collins (michael-collins) said :
#3

The above needed one additional fix for Fedora 333 as `ElementTree.getiterator()` has been removed.

The below quick (& dirty) patch worked for me.

```
$ diff /usr/lib/python3.9/site-packages/pasaffe_lib/Builder.py ~/Scratch/pasaffe-0.56/pasaffe_lib/Builder.py
86,87c86
< #ele_widgets = tree.getiterator("object")
< ele_widgets = tree.iter("object")
---
> ele_widgets = tree.getiterator("object")
109,110c108
< #ele_signals = tree.getiterator("signal")
< ele_signals = tree.iter("signal")
---
> ele_signals = tree.getiterator("signal")
```

Revision history for this message
Marc Deslauriers (mdeslaur) said :
#4

Thanks for comment #3, I've fixed that in version 0.56,

Revision history for this message
Russ Wilson (russtwilson) said :
#5

Hi Marc and Michael,
I was unsuccessful getting pasaffe installed on Fedora 33. I'm trying to install 0.57-1. Your directions worked great until this point:

[russellwilson@localhost pasaffe-0.57]$ find dist/*.rpm
dist/pasaffe-0.57-1.noarch.rpm
dist/pasaffe-0.57-1.src.rpm
[russellwilson@localhost pasaffe-0.57]$ sudo dnf install dist/pasaffe-0.57-1.src.rpm
Last metadata expiration check: 0:16:45 ago on Sat 23 Jan 2021 04:43:45 PM PST.
Error: Will not install a source rpm package (pasaffe-0.57-1.src).

I'm new to Fedora and rpm so please forgive me if this question is basic.

Any suggestions?
Thank you in advance for your help!

Revision history for this message
Michael Collins (michael-collins) said :
#6

Hey Russ!

Apologies, I had a mistake in my instructions, you should install the .noarch.rpm, not the .src.rpm!

In your case:

$ sudo dnf install ./dist/pasaffe-0.57-1.noarch.rpm

Michael

Revision history for this message
Russ Wilson (russtwilson) said :
#7

Hi Michael!

Thank you so much for your quick reply. Yes, that did the trick. I should have just tried the other rpm first!

Install seemed to go well but the software won't launch for some reason...

Anything I need to do post install to get it to work?

Thanks again!

Russ

Revision history for this message
Russ Wilson (russtwilson) said :
#8

I did a fresh install on Fedora 33 but still not joy launching pasaffe after what appears to be a successful install.

Here's the message I receive:

[russ@localhost ~]$ pasaffe
Traceback (most recent call last):
  File "/usr/bin/pasaffe", line 45, in <module>
    import pasaffe
  File "/usr/lib/python3.9/site-packages/pasaffe/__init__.py", line 27, in <module>
    from pasaffe import PasaffeWindow # noqa: E402
  File "/usr/lib/python3.9/site-packages/pasaffe/PasaffeWindow.py", line 39, in <module>
    from pasaffe_lib.readdb import PassSafeFile # noqa: E402
  File "/usr/lib/python3.9/site-packages/pasaffe_lib/readdb.py", line 32, in <module>
    from unidecode import unidecode # noqa: E402
ModuleNotFoundError: No module named 'unidecode'

Have you seen this missing 'unidecode' error before?

Any help you can provide would be much appreciated!

Russ

Revision history for this message
Michael Collins (michael-collins) said :
#9

Hey Russ,

Try installing python3-unidecode - `sudo dnf install python3-unidecode`?

I'll try dig up notes when I first installed pasaffe to see if there are other dependencies.

Michael

`
[michael@x1 ~]$ python -c "import unidecode; print(unidecode.__path__)"
['/usr/lib/python3.9/site-packages/unidecode']
[michael@x1 ~]$ rpm -qf /usr/lib/python3.9/site-packages/unidecode
python3-unidecode-1.0.22-11.fc33.noarch
`

Revision history for this message
Michael Collins (michael-collins) said :
#10

Other requirements are documented in the README - https://bazaar.launchpad.net/~mdeslaur/pasaffe/trunk/view/head:/README#L7

If you need help with a specific fedora package to meet the dependency let me know and I'll check my local install.

Unfortunately I did this the "quick" way and didn't make any notes or set up a clean build environment, I just hacked enough to make it work for me.

Revision history for this message
Russ Wilson (russtwilson) said :
#11

The unidecode did it! Thank you so much, Michael! I really appreciate all of your help!

Clearly I have a long way to go in debugging errors in Linux, but being able to make Fedora my every day machine depends on being able to run my password manager of choice. Thank you! Thank you! Thank you!

Russ

Can you help with this problem?

Provide an answer of your own, or ask Paul Ouellette for more information if necessary.

To post a message you must log in.