summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/btrfs-progs/PKGBUILD41
-rw-r--r--testing/btrfs-progs/initcpio-hook-btrfs7
-rw-r--r--testing/btrfs-progs/initcpio-install-btrfs15
-rw-r--r--testing/cryptsetup/PKGBUILD8
-rw-r--r--testing/cryptsetup/encrypt_hook17
-rw-r--r--testing/cryptsetup/encrypt_install17
-rw-r--r--testing/curl/PKGBUILD64
-rw-r--r--testing/curl/curlbuild.h9
-rw-r--r--testing/dmraid/PKGBUILD6
-rw-r--r--testing/dmraid/dmraid_install11
-rw-r--r--testing/mdadm/PKGBUILD8
-rw-r--r--testing/mdadm/mdadm_install70
-rw-r--r--testing/mdadm/mdadm_udev_install6
-rw-r--r--testing/pinentry/PKGBUILD40
-rw-r--r--testing/pinentry/pinentry.install20
-rw-r--r--testing/pinentry/qt4-pinentry-window.patch28
16 files changed, 301 insertions, 66 deletions
diff --git a/testing/btrfs-progs/PKGBUILD b/testing/btrfs-progs/PKGBUILD
new file mode 100644
index 000000000..9a0ccd998
--- /dev/null
+++ b/testing/btrfs-progs/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 159628 2012-05-26 00:01:32Z dreisner $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=btrfs-progs
+pkgver=0.19.20120328
+pkgrel=3
+pkgdesc="btrfs filesystem utilities"
+arch=(i686 x86_64)
+depends=('glibc' 'e2fsprogs')
+url="http://btrfs.wiki.kernel.org/"
+replaces=('btrfs-progs-unstable')
+conflicts=('btrfs-progs-unstable')
+provides=('btrfs-progs-unstable')
+license=('GPL2')
+source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz
+ initcpio-install-btrfs
+ initcpio-hook-btrfs)
+md5sums=('f4504e73cf9254779b78d5b2318ac570'
+ '3eae9bf1541e297fa72aa40ebf7320c6'
+ 'b09688a915a0ec8f40e2f5aacbabc9ad')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make CFLAGS="$CFLAGS"
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+ # fix manpage
+ mkdir -p $pkgdir/usr/share/
+ mv $pkgdir/usr/man $pkgdir/usr/share/man
+ mkdir -p ${pkgdir}/sbin
+ ln -sf /usr/bin/btrfs ${pkgdir}/sbin/btrfs
+
+ # install mkinitcpio hooks
+ install -Dm644 "$srcdir/initcpio-install-btrfs" \
+ "$pkgdir/usr/lib/initcpio/install/btrfs"
+ install -Dm644 "$srcdir/initcpio-hook-btrfs" \
+ "$pkgdir/usr/lib/initcpio/hooks/btrfs"
+}
diff --git a/testing/btrfs-progs/initcpio-hook-btrfs b/testing/btrfs-progs/initcpio-hook-btrfs
new file mode 100644
index 000000000..7965d0a8a
--- /dev/null
+++ b/testing/btrfs-progs/initcpio-hook-btrfs
@@ -0,0 +1,7 @@
+#!/usr/bin/ash
+
+run_hook() {
+ btrfs device scan
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/btrfs-progs/initcpio-install-btrfs b/testing/btrfs-progs/initcpio-install-btrfs
new file mode 100644
index 000000000..a70a324ed
--- /dev/null
+++ b/testing/btrfs-progs/initcpio-install-btrfs
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+build() {
+ add_all_modules btrfs
+ add_binary btrfs
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+This hook provides support for multi-device btrfs volumes.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/cryptsetup/PKGBUILD b/testing/cryptsetup/PKGBUILD
index e2292ebc6..4f2269db3 100644
--- a/testing/cryptsetup/PKGBUILD
+++ b/testing/cryptsetup/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 158938 2012-05-13 13:45:53Z thomas $
+# $Id: PKGBUILD 159622 2012-05-25 23:50:39Z dreisner $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=cryptsetup
pkgver=1.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt"
arch=(i686 x86_64)
license=('GPL')
@@ -17,8 +17,8 @@ source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
encrypt_install)
sha256sums=('1fe80d7b19d24b3f65d2e446decfed859e2c4d17fdf7c19289d82dc7cd60dfe7'
'4e6dbece8d1baad861479aca70d0cf30887420da9b5eab45d65d064c656893ed'
- 'e4c00e2da274bf4cab3f72a0de779790a11a946d36b83144e74d3791e230b262'
- 'cba1dc38ff6cc4d3740d0badfb2b151bb03d19e8e9fa497569ac2fb6f4196e0e')
+ 'e0cbcabb81233b4d465833dca0faf1e762dc3cb6611597a25fe24e5d7209f316'
+ 'cfe465bdad3d958bb2332a05e04f2e1e884422a5714dfd1a0a3b9b74bf7dc6ae')
build() {
cd "${srcdir}"/$pkgname-${pkgver}
diff --git a/testing/cryptsetup/encrypt_hook b/testing/cryptsetup/encrypt_hook
index 0f35782c6..372b7ba57 100644
--- a/testing/cryptsetup/encrypt_hook
+++ b/testing/cryptsetup/encrypt_hook
@@ -10,20 +10,21 @@ run_hook() {
IFS=: read ckdev ckarg1 ckarg2 <<EOF
$cryptkey
EOF
- if poll_device "${ckdev}" ${rootdelay}; then
+
+ if resolved=$(resolve_device "${ckdev}" ${rootdelay}); then
case ${ckarg1} in
*[!0-9]*)
# Use a file on the device
# ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
mkdir /ckey
- mount -r -t "$ckarg1" "$ckdev" /ckey
+ mount -r -t "$ckarg1" "$resolved" /ckey
dd if="/ckey/$ckarg2" of="$ckeyfile" >/dev/null 2>&1
umount /ckey
;;
*)
# Read raw data from the block device
# ckarg1 is numeric: ckarg1=offset, ckarg2=length
- dd if="$ckdev" of="$ckeyfile" bs=1 skip="$ckarg1" count="$ckarg2" >/dev/null 2>&1
+ dd if="$resolved" of="$ckeyfile" bs=1 skip="$ckarg1" count="$ckarg2" >/dev/null 2>&1
;;
esac
fi
@@ -58,13 +59,13 @@ EOF
esac
done
- if poll_device "${cryptdev}" ${rootdelay}; then
- if cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
+ if resolved=$(resolve_device "${cryptdev}" ${rootdelay}); then
+ if cryptsetup isLuks ${resolved} >/dev/null 2>&1; then
[ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
dopassphrase=1
# If keyfile exists, try to use that
if [ -f ${ckeyfile} ]; then
- if eval cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; then
+ if eval cryptsetup --key-file ${ckeyfile} luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then
dopassphrase=0
else
echo "Invalid keyfile. Reverting to passphrase."
@@ -76,7 +77,7 @@ EOF
echo "A password is required to access the ${cryptname} volume:"
#loop until we get a real password
- while ! eval cryptsetup luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; do
+ while ! eval cryptsetup luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do
sleep 2;
done
fi
@@ -96,7 +97,7 @@ EOF
err "Non-LUKS decryption not attempted..."
return 1
fi
- exe="cryptsetup create $cryptname $cryptdev $cryptargs"
+ exe="cryptsetup create $cryptname $resolved $cryptargs"
IFS=: read c_hash c_cipher c_keysize c_offset c_skip <<EOF
$crypto
EOF
diff --git a/testing/cryptsetup/encrypt_install b/testing/cryptsetup/encrypt_install
index 79d2f3e4b..38e5ddc57 100644
--- a/testing/cryptsetup/encrypt_install
+++ b/testing/cryptsetup/encrypt_install
@@ -1,13 +1,16 @@
#!/bin/bash
build() {
- if [ -z "${CRYPTO_MODULES}" ]; then
- MODULES=" dm-crypt $(all_modules "/crypto/")"
+ local mod
+
+ add_module dm-crypt
+ if [[ $CRYPTO_MODULES ]]; then
+ for mod in $CRYPTO_MODULES; do
+ add_module "$mod"
+ done
else
- MODULES=" dm-crypt $CRYPTO_MODULES"
+ add_all_modules '/crypto/'
fi
- FILES=""
- SCRIPT="encrypt"
add_binary "cryptsetup"
add_binary "dmsetup"
@@ -15,10 +18,12 @@ build() {
add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+
+ add_runscript
}
help() {
- cat <<HELPEOF
+ cat <<HELPEOF
This hook allows for an encrypted root device. Users should specify the device
to be unlocked using 'cryptdevice=device:dmname' on the kernel command line,
where 'device' is the path to the raw device, and 'dmname' is the name given to
diff --git a/testing/curl/PKGBUILD b/testing/curl/PKGBUILD
new file mode 100644
index 000000000..c709b306c
--- /dev/null
+++ b/testing/curl/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 159498 2012-05-25 14:33:21Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=curl
+pkgver=7.26.0
+pkgrel=1
+pkgdesc="An URL retrival utility and library"
+arch=('i686' 'x86_64')
+url="http://curl.haxx.se"
+license=('MIT')
+depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
+options=('!libtool')
+source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+ curlbuild.h)
+md5sums=('3fa4d5236f2a36ca5c3af6715e837691'
+ '61b594830d5acba3c99e4af0ba39a14e'
+ '751bd433ede935c8fae727377625a8ae')
+
+ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
+case $ptrsize in
+ 8) _curlbuild=curlbuild-64.h ;;
+ 4) _curlbuild=curlbuild-32.h ;;
+ *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
+ exit 1
+ ;;
+esac
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-dependency-tracking \
+ --disable-ldap \
+ --disable-ldaps \
+ --enable-ipv6 \
+ --enable-manual \
+ --enable-versioned-symbols \
+ --enable-threaded-resolver \
+ --without-libidn \
+ --with-random=/dev/urandom \
+ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # license
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ # devel
+ install -Dm644 docs/libcurl/libcurl.m4 "$pkgdir/usr/share/aclocal/libcurl.m4"
+ mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
+ install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
+}
diff --git a/testing/curl/curlbuild.h b/testing/curl/curlbuild.h
new file mode 100644
index 000000000..b48862696
--- /dev/null
+++ b/testing/curl/curlbuild.h
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "curlbuild-32.h"
+#elif __WORDSIZE == 64
+#include "curlbuild-64.h"
+#else
+#error "Unknown word size"
+#endif
diff --git a/testing/dmraid/PKGBUILD b/testing/dmraid/PKGBUILD
index 71dfb914b..a3c1db830 100644
--- a/testing/dmraid/PKGBUILD
+++ b/testing/dmraid/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 157738 2012-04-29 05:29:44Z dreisner $
+# $Id: PKGBUILD 159630 2012-05-26 00:03:09Z dreisner $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
#Contributor: Urs Wolfer <uwolfer @ fwo.ch>
pkgname=dmraid
pkgver=1.0.0.rc16.3
-pkgrel=4
+pkgrel=5
pkgdesc="Device mapper RAID interface"
url="http://people.redhat.com/~heinzm/sw/dmraid/"
conflicts=('mkinitcpio<0.7')
@@ -17,7 +17,7 @@ source=(#ftp://ftp.archlinux.org/other/dmraid/$pkgname-$pkgver.tar.bz2
dmraid_hook)
install=dmraid.install
md5sums=('819338fcef98e8e25819f0516722beeb'
- '832ed57a0f7ca6ba72adebcba2b17f87'
+ '2297d23cee1aef23ec6ad8d6d1870356'
'faec669dc85f87187b45b5d3968efe2c')
build() {
diff --git a/testing/dmraid/dmraid_install b/testing/dmraid/dmraid_install
index c48e6ceaf..d3238c1f7 100644
--- a/testing/dmraid/dmraid_install
+++ b/testing/dmraid/dmraid_install
@@ -1,17 +1,20 @@
#!/bin/bash
build() {
- MODULES=" dm-mod dm-mirror "
- BINARIES="dmraid dmsetup"
- SCRIPT="dmraid"
+ add_module 'dm-mod'
+ add_module 'dm-mirror'
+ add_binary 'dmraid'
+ add_binary 'dmsetup'
add_file "/usr/lib/udev/rules.d/10-dm.rules"
add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
+
+ add_runscript
}
help() {
- cat <<HELPEOF
+ cat <<HELPEOF
This hook loads the necessary modules for a dmraid root device.
HELPEOF
}
diff --git a/testing/mdadm/PKGBUILD b/testing/mdadm/PKGBUILD
index 7c389cc51..1043e191b 100644
--- a/testing/mdadm/PKGBUILD
+++ b/testing/mdadm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 159371 2012-05-22 19:21:43Z tpowa $
+# $Id: PKGBUILD 159624 2012-05-25 23:53:03Z dreisner $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=mdadm
pkgver=3.2.5
-pkgrel=1
+pkgrel=2
pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID"
arch=(i686 x86_64)
license=('GPL')
@@ -24,9 +24,9 @@ replaces=('raidtools')
md5sums=('83ba4a6249ae24677e915e44c9cfcc58'
'8333d405f550317c2bacd5510bf1cb60'
'00cbed931db4f15b6ce49e3e7d433966'
- '9b01e96b6c3c218fb61628c9281fe688'
+ '609d10888727710cb20db7ac3e096116'
'fbb5542d9bdf87441a11dd7e7a0a17f8'
- '2318b99701dba9b01a6891c62be7bc1c'
+ 'd1d8e9eb81ce9347de74f3c84a9db09e'
'aafb5f9ac8437a284cbf948b9b13b179'
'4ad87b74a4bc9a34621280abe0e0c3e4')
diff --git a/testing/mdadm/mdadm_install b/testing/mdadm/mdadm_install
index b53258676..cf6159e40 100644
--- a/testing/mdadm/mdadm_install
+++ b/testing/mdadm/mdadm_install
@@ -1,45 +1,45 @@
-# vim: set ft=sh:
-
-build()
-{
- MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") "
- BINARIES=""
- FILES=""
- SCRIPT="mdadm"
+#!/bin/bash
+
+build() {
+ add_checked_modules -f 'dm-' 'drivers/md/*'
+
# check if a custom mdadm.conf exists
if grep -q ^ARRAY /etc/mdadm.conf; then
echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays."
add_file "/etc/mdadm.conf"
fi
add_binary "/sbin/mdassemble"
+
+ add_runscript
}
-help ()
-{
-cat<<HELPEOF
- This hook loads the necessary modules for any raid root device,
- and assembles the raid device when run.
-
- If arrays are defined in /etc/mdadm.conf, the file will be used instead
- of command line assembling.
-
- Command Line Setup:
- - for raid arrays with persistent superblocks:
- md=<md device no.>,dev0,dev1,...,devn
- md=<md device no.>,uuid
- - for partitionable raid arrays with persistent superblocks:
- md=d<md device no.>,dev0,dev1,...,devn
- md=d<md device no.>,uuid
-
- Parameters:
- - <md device no.> = the number of the md device:
- 0 means md0, 1 means md1, ...
- - <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1
- or 0900878d:f95f6057:c39a36e9:55efa60a
- Examples:
- - md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1
- This will setup 2 md partitionable arrays.
- - md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1
- This will setup 2 md arrays with persistent superblocks.
+help() {
+ cat <<HELPEOF
+This hook loads the necessary modules for any raid root device,
+and assembles the raid device when run.
+
+If arrays are defined in /etc/mdadm.conf, the file will be used instead
+of command line assembling.
+
+Command Line Setup:
+- for raid arrays with persistent superblocks:
+ md=<md device no.>,dev0,dev1,...,devn
+ md=<md device no.>,uuid
+- for partitionable raid arrays with persistent superblocks:
+ md=d<md device no.>,dev0,dev1,...,devn
+ md=d<md device no.>,uuid
+
+Parameters:
+- <md device no.> = the number of the md device:
+ 0 means md0, 1 means md1, ...
+- <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1
+ or 0900878d:f95f6057:c39a36e9:55efa60a
+Examples:
+- md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1
+ This will setup 2 md partitionable arrays.
+- md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1
+ This will setup 2 md arrays with persistent superblocks.
HELPEOF
}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/mdadm/mdadm_udev_install b/testing/mdadm/mdadm_udev_install
index be653fc74..f6f5de4ad 100644
--- a/testing/mdadm/mdadm_udev_install
+++ b/testing/mdadm/mdadm_udev_install
@@ -1,7 +1,7 @@
#!/bin/bash
build() {
- MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-")"
+ add_checked_modules -f 'dm-' 'drivers/md/*'
# check if a custom mdadm.conf exists
if grep -qw ^ARRAY "$BASEDIR/etc/mdadm.conf"; then
@@ -15,7 +15,9 @@ build() {
help() {
cat <<HELPEOF
- This hook loads raid arrays with udev.
+This hook loads the necessary modules for a RAID array and uses incremental
+assembly via udev at runtime to create the devices. This hook with NOT work
+without the udev hook included on the image.
HELPEOF
}
diff --git a/testing/pinentry/PKGBUILD b/testing/pinentry/PKGBUILD
new file mode 100644
index 000000000..f94d9342d
--- /dev/null
+++ b/testing/pinentry/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 159496 2012-05-25 12:44:10Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=pinentry
+pkgver=0.8.1
+pkgrel=4
+pkgdesc="a collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnupg.org/aegypten2"
+depends=('ncurses' 'libcap>=2.16')
+makedepends=('gtk2' 'qt')
+optdepends=('gtk2: for gtk2 backend'
+ 'qt: for qt4 backend')
+source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.gz
+ qt4-pinentry-window.patch)
+install=pinentry.install
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ #fix: https://bugs.archlinux.org/task/29998
+ patch -Np1 -i ../qt4-pinentry-window.patch
+ for file in qt4/*.moc; do
+ /usr/bin/moc ${file/.moc/.h} > ${file}
+ done
+ ./configure --prefix=/usr \
+ --enable-pinentry-curses \
+ --disable-pinentry-gtk \
+ --disable-pinentry-qt \
+ --enable-pinentry-gtk2 \
+ --enable-pinentry-qt4 \
+ --enable-fallback-curses
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
+}
+md5sums=('81f99904daee5331eb6738408bb024b6'
+ '450b8713fe42f1bd93311ef84767c3d8')
diff --git a/testing/pinentry/pinentry.install b/testing/pinentry/pinentry.install
new file mode 100644
index 000000000..eed2c7124
--- /dev/null
+++ b/testing/pinentry/pinentry.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(pinentry.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/pinentry/qt4-pinentry-window.patch b/testing/pinentry/qt4-pinentry-window.patch
new file mode 100644
index 000000000..8f9faae11
--- /dev/null
+++ b/testing/pinentry/qt4-pinentry-window.patch
@@ -0,0 +1,28 @@
+From c2ab12b3742c929a225c3753439438edc27bfa81 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky@redhat.com>
+Date: Tue, 1 Feb 2011 14:42:27 +0100
+Subject: [PATCH] Fix qt4 pinentry window created in the background
+
+This is probably just a workaround. Proper fix is being investigated.
+See:
+https://bugzilla.redhat.com/show_bug.cgi?id=589532
+http://stackoverflow.com/questions/2788518/calling-activatewindow-on-qdialog-sends-window-to-background
+---
+ qt4/pinentrydialog.cpp | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/qt4/pinentrydialog.cpp b/qt4/pinentrydialog.cpp
+index 541baf4..d634eb6 100644
+--- a/qt4/pinentrydialog.cpp
++++ b/qt4/pinentrydialog.cpp
+@@ -69,7 +69,6 @@ void raiseWindow( QWidget* w )
+ SetForegroundWindow( w->winId() );
+ #endif
+ w->raise();
+- w->activateWindow();
+ }
+
+ QPixmap icon( QStyle::StandardPixmap which )
+--
+1.7.3.5
+