diff options
Diffstat (limited to 'community/pwsafe')
-rw-r--r-- | community/pwsafe/PKGBUILD | 35 | ||||
-rw-r--r-- | community/pwsafe/pwsafe-XChangeProperty.patch | 20 |
2 files changed, 55 insertions, 0 deletions
diff --git a/community/pwsafe/PKGBUILD b/community/pwsafe/PKGBUILD new file mode 100644 index 000000000..2a4535a27 --- /dev/null +++ b/community/pwsafe/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 69267 2012-04-11 11:46:13Z lcarlier $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Vesa Kaihlavirta <vegai@iki.fi> + +pkgname=pwsafe +pkgver=0.2.0 +pkgrel=8 +pkgdesc="A commandline program for managing encrypted password databases" +arch=('i686' 'x86_64') +url="http://nsd.dyndns.org/pwsafe/" +license=('GPL') +depends=('openssl' 'libxmu' 'readline') +source=(${url}/releases/${pkgname}-${pkgver}.tar.gz + pwsafe-XChangeProperty.patch) +md5sums=('4bb36538a2772ecbf1a542bc7d4746c0' + 'cff6aee2e43f5fbe82e8cd7ccfefb099') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # Patch from fedora, fixes FS#28339 + patch -Np0 -i ../pwsafe-XChangeProperty.patch + + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + # Make pwsafe suid root so it can seed rng as a user + chmod +s ${pkgdir}/usr/bin/pwsafe +} diff --git a/community/pwsafe/pwsafe-XChangeProperty.patch b/community/pwsafe/pwsafe-XChangeProperty.patch new file mode 100644 index 000000000..6758a573d --- /dev/null +++ b/community/pwsafe/pwsafe-XChangeProperty.patch @@ -0,0 +1,20 @@ +Index: pwsafe.cpp +=================================================================== +RCS file: /cvsroot/pwsafe/pwsafe/pwsafe.cpp,v +retrieving revision 1.57 +diff -u -r1.57 pwsafe.cpp +--- pwsafe.cpp 12 Aug 2007 12:33:06 -0000 1.57 ++++ pwsafe.cpp 5 Jan 2011 22:16:43 -0000 +@@ -1820,10 +1820,10 @@ + if (xev.xselectionrequest.target == XA_TARGETS(xdisplay)) { + // tell them what we can supply + const Atom targets[] = { XA_TARGETS(xdisplay), XA_TIMESTAMP(xdisplay), XA_TEXT(xdisplay), XA_STRING }; +- XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_TARGETS(xdisplay), 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&targets), sizeof(targets)/sizeof(targets[0])); ++ XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_ATOM, 32, PropModeReplace, reinterpret_cast<const unsigned char*>(&targets), sizeof(targets)/sizeof(targets[0])); + } + else if (xev.xselectionrequest.target == XA_TIMESTAMP(xdisplay)) { +- XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_TIMESTAMP(xdisplay), 32, PropModeReplace, reinterpret_cast<const unsigned char*>(×tamp), 1); ++ XChangeProperty(xdisplay, xev.xselectionrequest.requestor, prop, XA_INTEGER, 32, PropModeReplace, reinterpret_cast<const unsigned char*>(×tamp), 1); + } + else if (xev.xselectionrequest.target == XA_TEXT(xdisplay) || + xev.xselectionrequest.target == XA_STRING) { |