As you may know, there is a great utility for storing passwords in encrypted form called pwmanager. The project seems discontinued now.
So, how to install it on Debian/Ubuntu?
Firstly be sure to install kdelibs-dev:
$ apt-get install kdelibs-dev
then grab the latest source archive from http://sourceforge.net/projects/passwordmanager/files/ (at the moment of writing it is pwmanager-1.2.4.tar.bz2)
Decompress it:
$ tar xvjf pwmanager-1.2.4.tar.bz2
Go into the newly created directory:
$ cd pwmanager-1.2.4
And run:
$ ./configure $ make $ make intall
Should work, but did not work for me. I got this kind of errors at compilation time:
base64.cpp: In constructor ‘Base64::Base64()’: base64.cpp:59: error: ‘exit’ was not declared in this scope binentrygen.cpp: In member function ‘void BinEntryGen::decode(const PwMDataItem&, QByteArray*, BinEntryGen::DataType*)’: binentrygen.cpp:36: error: ‘strtol’ was not declared in this scope compressbzip2.cpp: In member function ‘bool CompressBzip2::compress(std::string*)’: compressbzip2.cpp:36: error: ‘memcpy’ was not declared in this scope main.cpp: In member function ‘virtual int PwMApplication::newInstance()’: main.cpp:34: error: ‘EXIT_SUCCESS’ was not declared in this scope serializer.cpp: In member function ‘bool Serializer::extractEntry(const QDomNode&, PwMDataItem*)’: serializer.cpp:303: error: ‘strtol’ was not declared in this scope
To solve them, copy the next content into a file, say, /tmp/pwmanager.patch:
Only in pwmanager-1.2.4-patched/pwmanager: addentrywnd.cpp Only in pwmanager-1.2.4-patched/pwmanager: advcommedit.cpp diff -crB pwmanager-1.2.4/pwmanager/base64.cpp pwmanager-1.2.4-patched/pwmanager/base64.cpp *** pwmanager-1.2.4/pwmanager/base64.cpp 2005-11-06 03:16:51.000000000 +0200 --- pwmanager-1.2.4-patched/pwmanager/base64.cpp 2010-01-31 15:36:39.000000000 +0200 *************** *** 43,48 **** --- 43,49 ---- #include "base64.h" #include "pwmexception.h" + #include <stdlib.h> static const char prtcode[] = diff -crB pwmanager-1.2.4/pwmanager/binentrygen.cpp pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp *** pwmanager-1.2.4/pwmanager/binentrygen.cpp 2005-11-06 03:16:51.000000000 +0200 --- pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp 2010-01-31 15:36:39.000000000 +0200 *************** *** 12,17 **** --- 12,19 ---- #include "binentrygen.h" #include "base64.h" #include "pwmexception.h" + #include <cstring> + #include <cstdlib> void BinEntryGen::encode(const QByteArray &data, diff -crB pwmanager-1.2.4/pwmanager/compressbzip2.cpp pwmanager-1.2.4-patched/pwmanager/compressbzip2.cpp *** pwmanager-1.2.4/pwmanager/compressbzip2.cpp 2005-11-06 03:16:50.000000000 +0200 --- pwmanager-1.2.4-patched/pwmanager/compressbzip2.cpp 2010-01-31 15:36:39.000000000 +0200 *************** *** 10,16 **** ***************************************************************************/ #include "compressbzip2.h" ! #include <stdlib.h> #define BZ_NO_STDIO --- 10,16 ---- ***************************************************************************/ #include "compressbzip2.h" ! #include <string.h> #include <stdlib.h> #define BZ_NO_STDIO Only in pwmanager-1.2.4-patched/pwmanager: configwnd.cpp Only in pwmanager-1.2.4-patched/pwmanager: findwnd.cpp diff -crB pwmanager-1.2.4/pwmanager/main.cpp pwmanager-1.2.4-patched/pwmanager/main.cpp *** pwmanager-1.2.4/pwmanager/main.cpp 2005-11-06 03:16:51.000000000 +0200 --- pwmanager-1.2.4-patched/pwmanager/main.cpp 2010-01-31 15:36:39.000000000 +0200 *************** *** 13,18 **** --- 13,20 ---- #include <kaboutdata.h> #include <klocale.h> #include <kstandarddirs.h> + #include <cstdlib> + #include <cstring> #include "pwmexception.h" #include "pwminit.h" Only in pwmanager-1.2.4-patched/pwmanager: pwgenwnd.cpp diff -crB pwmanager-1.2.4/pwmanager/serializer.cpp pwmanager-1.2.4-patched/pwmanager/serializer.cpp *** pwmanager-1.2.4/pwmanager/serializer.cpp 2005-11-06 03:16:50.000000000 +0200 --- pwmanager-1.2.4-patched/pwmanager/serializer.cpp 2010-01-31 15:36:39.000000000 +0200 *************** *** 12,17 **** --- 12,19 ---- #include "serializer.h" #include "configuration.h" #include "pwmexception.h" + #include <cstring> + #include <cstdlib> /* enable/disable serializer debugging (0/1) */ Only in pwmanager-1.2.4-patched/pwmanager: subtbledit.cpp
Now repeat the steps with ./configure, make, make install.
That’s all.
Reclame
3 Comments
hello,
Today I was trying to install pwmanager because I used to use this program to store my passwords and I want to recover my passwords. 😛
But your patch doesn’t seem to work. When I apply it I get this error:
––––-
Hmm…patch: **** malformed patch at line 15: diff -crB pwmanager-1.2.4/pwmanager/binentrygen.cpp pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp
––––-
I don’t really see what’s going wrong. Can you help me with this? 🙂
Hi WernerL, I’m aware of the problem described.
Well, you just have to make suree that the file:
pwmanager-1.2.4/pwmanager/base64.cpp
contains this line:
#include
the file:
pwmanager-1.2.4/pwmanager/binentrygen.cpp
contains these lines:
#include
#include
the file:
pwmanager-1.2.4/pwmanager/compressbzip2.cpp
contains:
#include „compressbzip2.h”
#include
#include
#define BZ_NO_STDIO
the file:
pwmanager-1.2.4/pwmanager/main.cpp
contains:
#include
#include
and the file
pwmanager-1.2.4/pwmanager/serializer.cpp
contains:
#include
#include
Good luck.
shit, it didn’t post as I meant. Anyway, I hope you got the idea about how to interpret the patch file.