diff options
author | Kristian Fiskerstrand <k_f@gentoo.org> | 2015-03-01 22:30:54 +0000 |
---|---|---|
committer | Kristian Fiskerstrand <k_f@gentoo.org> | 2015-03-01 22:30:54 +0000 |
commit | 8714f1ddb6b316b9daecba9dca7e68a158183b83 (patch) | |
tree | 10fe10b09ab95c70028f342353264c20430e05b2 /app-crypt/pinentry | |
parent | Update the codeset patch for -9999. (diff) | |
download | gentoo-2-8714f1ddb6b316b9daecba9dca7e68a158183b83.tar.gz gentoo-2-8714f1ddb6b316b9daecba9dca7e68a158183b83.tar.bz2 gentoo-2-8714f1ddb6b316b9daecba9dca7e68a158183b83.zip |
Fix for bug #541400
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 0xFED5002857C1ABFA!)
Diffstat (limited to 'app-crypt/pinentry')
-rw-r--r-- | app-crypt/pinentry/ChangeLog | 8 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch | 82 | ||||
-rw-r--r-- | app-crypt/pinentry/pinentry-0.9.0-r2.ebuild | 100 |
3 files changed, 189 insertions, 1 deletions
diff --git a/app-crypt/pinentry/ChangeLog b/app-crypt/pinentry/ChangeLog index e1f99bbd65c3..2978830637ea 100644 --- a/app-crypt/pinentry/ChangeLog +++ b/app-crypt/pinentry/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-crypt/pinentry # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/ChangeLog,v 1.164 2015/02/28 19:40:33 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/ChangeLog,v 1.165 2015/03/01 22:30:54 k_f Exp $ + +*pinentry-0.9.0-r2 (01 Mar 2015) + + 01 Mar 2015; Kristian Fiskerstrand <k_f@gentoo.org> + +files/pinentry-0.9.0-accessibility.patch, +pinentry-0.9.0-r2.ebuild: + Fix for bug #541400 28 Feb 2015; Alon Bar-Lev <alonbl@gentoo.org> -pinentry-0.8.2.ebuild, -pinentry-0.8.3.ebuild, -pinentry-0.8.4.ebuild: diff --git a/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch b/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch new file mode 100644 index 000000000000..20d6130978b1 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch @@ -0,0 +1,82 @@ +diff --git a/qt4/main.cpp b/qt4/main.cpp +index 106999e..b2a69f2 100644 +--- a/qt4/main.cpp ++++ b/qt4/main.cpp +@@ -217,8 +217,9 @@ qt_cmd_handler (pinentry_t pe) + for ( size_t i = 0 ; i < sizeof buttonLabels / sizeof *buttonLabels ; ++i ) + if ( (buttons & buttonLabels[i].button) && !buttonLabels[i].label.isEmpty() ) { + box.button( buttonLabels[i].button )->setText( buttonLabels[i].label ); ++#ifndef QT_NO_ACCESSIBILITY + box.button( buttonLabels[i].button )->setAccessibleDescription ( buttonLabels[i].label ); +- ++#endif + } + + box.setIconPixmap( icon() ); +diff --git a/qt4/pinentryconfirm.cpp b/qt4/pinentryconfirm.cpp +index dfbd19f..6b3d545 100644 +--- a/qt4/pinentryconfirm.cpp ++++ b/qt4/pinentryconfirm.cpp +@@ -30,8 +30,10 @@ PinentryConfirm::PinentryConfirm(Icon icon, int timeout, const QString &title, + connect(_timer, SIGNAL(timeout()), this, SLOT(slotTimeout())); + _timer->start(timeout*1000); + } ++#ifndef QT_NO_ACCESSIBILITY + setAccessibleDescription (desc); + setAccessibleName (title); ++#endif + raiseWindow (this); + } + +diff --git a/qt4/pinentrydialog.cpp b/qt4/pinentrydialog.cpp +index 3a6dacc..456f022 100644 +--- a/qt4/pinentrydialog.cpp ++++ b/qt4/pinentrydialog.cpp +@@ -217,7 +217,9 @@ void PinEntryDialog::setDescription( const QString& txt ) + { + _desc->setVisible( !txt.isEmpty() ); + _desc->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _desc->setAccessibleDescription ( txt ); ++#endif + _icon->setPixmap( icon() ); + setError( QString::null ); + } +@@ -231,7 +233,9 @@ void PinEntryDialog::setError( const QString& txt ) + { + if( !txt.isNull() )_icon->setPixmap( icon( QStyle::SP_MessageBoxCritical ) ); + _error->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _error->setAccessibleDescription ( txt ); ++#endif + _error->setVisible( !txt.isEmpty() ); + } + +@@ -264,14 +268,18 @@ QString PinEntryDialog::prompt() const + void PinEntryDialog::setOkText( const QString& txt ) + { + _ok->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _ok->setAccessibleDescription ( txt ); ++#endif + _ok->setVisible( !txt.isEmpty() ); + } + + void PinEntryDialog::setCancelText( const QString& txt ) + { + _cancel->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _cancel->setAccessibleDescription ( txt ); ++#endif + _cancel->setVisible( !txt.isEmpty() ); + } + +@@ -279,7 +287,9 @@ void PinEntryDialog::setQualityBar( const QString& txt ) + { + if (_have_quality_bar) { + _quality_bar_label->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _quality_bar_label->setAccessibleDescription ( txt ); ++#endif + } + } diff --git a/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild b/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild new file mode 100644 index 000000000000..e9b62db4bf70 --- /dev/null +++ b/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild,v 1.1 2015/03/01 22:30:54 k_f Exp $ + +EAPI=5 + +inherit autotools multilib eutils flag-o-matic + +DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol" +HOMEPAGE="http://gnupg.org/aegypten2/index.html" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="clipboard gtk ncurses qt4 caps static" + +RDEPEND=" + app-admin/eselect-pinentry + caps? ( sys-libs/libcap ) + gtk? ( x11-libs/gtk+:2 ) + ncurses? ( sys-libs/ncurses ) + qt4? ( >=dev-qt/qtgui-4.4.1:4 ) + static? ( >=sys-libs/ncurses-5.7-r5[static-libs,-gpm] ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + gtk? ( virtual/pkgconfig ) + qt4? ( virtual/pkgconfig ) + ppc-aix? ( dev-libs/gnulib ) +" +REQUIRED_USE=" + || ( ncurses gtk qt4 ) + gtk? ( !static ) + qt4? ( !static ) + static? ( ncurses ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +src_prepare() { + if use qt4; then + local f + for f in qt4/*.moc; do + "${EPREFIX}"/usr/bin/moc ${f/.moc/.h} > ${f} || die + done + fi + epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch" + epatch "${FILESDIR}/${PN}-0.8.2-texi.patch" + epatch "${FILESDIR}/${PN}-0.9.0-accessibility.patch" + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + + if [[ ${CHOST} == *-aix* ]] ; then + append-flags -I"${EPREFIX}/usr/$(get_libdir)/gnulib/include" + append-ldflags -L"${EPREFIX}/usr/$(get_libdir)/gnulib/$(get_libdir)" + append-libs -lgnu + fi + + # Issues finding qt on multilib systems + export QTLIB="${QTDIR}/$(get_libdir)" + + econf \ + --enable-pinentry-tty \ + $(use_enable gtk pinentry-gtk2) \ + $(use_enable ncurses pinentry-curses) \ + $(use_enable ncurses fallback-curses) \ + $(use_enable qt4 pinentry-qt4) \ + $(use qt4 && use_enable clipboard pinentry-qt4-clipboard) \ + $(use_with caps libcap) +} + +src_compile() { + emake AR="$(tc-getAR)" +} + +src_install() { + default + rm -f "${ED}"/usr/bin/pinentry || die +} + +pkg_postinst() { + if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then + elog "We no longer install pinentry-curses and pinentry-qt SUID root by default." + elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes." + elog "The soft resource limit for memory locking specifies the limit an" + elog "unprivileged process may lock into memory. You can also use POSIX" + elog "capabilities to allow pinentry to lock memory. To do so activate the caps" + elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of" + elog "your users." + fi + eselect pinentry update ifunset +} + +pkg_postrm() { + eselect pinentry update ifunset +} |