From ec2515f058c60d2478a549f58376db628ba556b9 Mon Sep 17 00:00:00 2001 From: Tim Williams Date: Fri, 14 Oct 2011 13:51:18 +0100 Subject: Initial commit of the Mandriva patches and spec files. This includes the main dependencies and core packages, but very little else. --- ...y-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch | 33 +++ .../0002-Fix-sigabrt-on-fail-grab-r229.patch | 35 +++ .../pinentry/0003-pinentry-gtk-x11-race.patch | 17 ++ ...pinentry-window-created-in-the-background.patch | 26 ++ .../dependencies/pinentry/pinentry-0.8.0.tar.gz | Bin 0 -> 487629 bytes .../pinentry/pinentry-0.8.0.tar.gz.sig | Bin 0 -> 158 bytes .../2010.2/dependencies/pinentry/pinentry-wrapper | 70 +++++ .../2010.2/dependencies/pinentry/pinentry.spec | 310 +++++++++++++++++++++ 8 files changed, 491 insertions(+) create mode 100644 mandriva/2010.2/dependencies/pinentry/0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch create mode 100644 mandriva/2010.2/dependencies/pinentry/0002-Fix-sigabrt-on-fail-grab-r229.patch create mode 100644 mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch create mode 100644 mandriva/2010.2/dependencies/pinentry/0004-Fix-qt4-pinentry-window-created-in-the-background.patch create mode 100644 mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz create mode 100644 mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz.sig create mode 100644 mandriva/2010.2/dependencies/pinentry/pinentry-wrapper create mode 100644 mandriva/2010.2/dependencies/pinentry/pinentry.spec (limited to 'mandriva/2010.2/dependencies/pinentry') diff --git a/mandriva/2010.2/dependencies/pinentry/0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch b/mandriva/2010.2/dependencies/pinentry/0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch new file mode 100644 index 000000000..353759bce --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch @@ -0,0 +1,33 @@ +From 977d49018cebcc37d0b667713ad422f80ba9c8d2 Mon Sep 17 00:00:00 2001 +From: Stanislav Ochotnicky +Date: Fri, 16 Apr 2010 16:17:04 +0200 +Subject: [PATCH] Fix pinentry-gtk-2 SIGSEGV when unfocusing with -g argument + +gdk_window_set_transient_for cannot be used with parent = NULL to +unset transient hint (unlike gtk_ version which can). Replacement +code is taken from gtk_window_transient_parent_unrealized + +Applied cleanly at least over 0.8.0 and 0.7.6 + +More info see: https://bugzilla.redhat.com/show_bug.cgi?id=520236 +--- + gtk+-2/pinentry-gtk-2.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c +index 7cd7616..fdd5822 100644 +--- a/gtk+-2/pinentry-gtk-2.c ++++ b/gtk+-2/pinentry-gtk-2.c +@@ -145,7 +145,8 @@ ungrab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) + { + gdk_keyboard_ungrab (gdk_event_get_time (event)); + /* Unmake window transient for the root window. */ +- gdk_window_set_transient_for (win->window, NULL); ++ gdk_property_delete (win->window, ++ gdk_atom_intern_static_string ("WM_TRANSIENT_FOR")); + } + + +-- +1.6.6.1 + diff --git a/mandriva/2010.2/dependencies/pinentry/0002-Fix-sigabrt-on-fail-grab-r229.patch b/mandriva/2010.2/dependencies/pinentry/0002-Fix-sigabrt-on-fail-grab-r229.patch new file mode 100644 index 000000000..6162ba583 --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/0002-Fix-sigabrt-on-fail-grab-r229.patch @@ -0,0 +1,35 @@ +Index: gtk+-2/pinentry-gtk-2.c +=================================================================== +--- gtk+-2/pinentry-gtk-2.c (revision 228) ++++ gtk+-2/pinentry-gtk-2.c (revision 229) +@@ -52,6 +52,7 @@ + #endif + + static pinentry_t pinentry; ++static int grab_failed; + static int passphrase_ok; + typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; + static confirm_value_t confirm_value; +@@ -135,7 +136,11 @@ + return; + + if (gdk_keyboard_grab (win->window, FALSE, gdk_event_get_time (event))) +- g_error ("could not grab keyboard"); ++ { ++ g_critical ("could not grab keyboard"); ++ grab_failed = 1; ++ gtk_main_quit (); ++ } + } + + +@@ -520,7 +525,7 @@ + while (gtk_events_pending ()) + gtk_main_iteration (); + +- if (confirm_value == CONFIRM_CANCEL) ++ if (confirm_value == CONFIRM_CANCEL || grab_failed) + pe->canceled = 1; + + pinentry = NULL; + diff --git a/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch b/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch new file mode 100644 index 000000000..86bca6ae9 --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch @@ -0,0 +1,17 @@ +Index: gtk+-2/pinentry-gtk-2.c +=================================================================== +--- gtk+-2/pinentry-gtk-2.c ++++ gtk+-2/pinentry-gtk-2.c 2010-05-13 08:17:10.000000000 +0200 +@@ -306,8 +306,11 @@ + g_signal_connect (G_OBJECT (win), + "realize", G_CALLBACK (make_transient), NULL); + ++ //we need to grab the keyboard when its visible! not when its mapped (there is a difference) ++ g_object_set(G_OBJECT(win), "events", GDK_VISIBILITY_NOTIFY_MASK | GDK_STRUCTURE_MASK, NULL); ++ + g_signal_connect (G_OBJECT (win), +- pinentry->grab ? "map-event" : "focus-in-event", ++ pinentry->grab ? "visibility-notify-event" : "focus-in-event", + G_CALLBACK (grab_keyboard), NULL); + g_signal_connect (G_OBJECT (win), + pinentry->grab ? "unmap-event" : "focus-out-event", diff --git a/mandriva/2010.2/dependencies/pinentry/0004-Fix-qt4-pinentry-window-created-in-the-background.patch b/mandriva/2010.2/dependencies/pinentry/0004-Fix-qt4-pinentry-window-created-in-the-background.patch new file mode 100644 index 000000000..81bfa0f3d --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/0004-Fix-qt4-pinentry-window-created-in-the-background.patch @@ -0,0 +1,26 @@ +From 0cc3dd71213687ccb5ec0a1866864558bf03260b Mon Sep 17 00:00:00 2001 +From: Stanislav Ochotnicky +Date: Fri, 7 May 2010 14:45:44 +0200 +Subject: [PATCH] Fix qt4 pinentry window created in the background + +This is probably just a workaround. Proper fix is being investigated. +--- + qt4/pinentrydialog.cpp | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/qt4/pinentrydialog.cpp b/qt4/pinentrydialog.cpp +index 8644136..6064ab9 100644 +--- a/qt4/pinentrydialog.cpp ++++ b/qt4/pinentrydialog.cpp +@@ -63,7 +63,6 @@ void raiseWindow( QWidget* w ) + SetForegroundWindowEx( w->winId() ); + #endif + w->raise(); +- w->activateWindow(); + } + + QPixmap icon( QStyle::StandardPixmap which ) +-- +1.6.6.1 + + diff --git a/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz b/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz new file mode 100644 index 000000000..3e24fda74 Binary files /dev/null and b/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz differ diff --git a/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz.sig b/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz.sig new file mode 100644 index 000000000..983b32057 Binary files /dev/null and b/mandriva/2010.2/dependencies/pinentry/pinentry-0.8.0.tar.gz.sig differ diff --git a/mandriva/2010.2/dependencies/pinentry/pinentry-wrapper b/mandriva/2010.2/dependencies/pinentry/pinentry-wrapper new file mode 100644 index 000000000..2d63a8744 --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/pinentry-wrapper @@ -0,0 +1,70 @@ +#!/bin/sh + +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 Fedora Project +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# +# Anna Bernathova 2006 +# Pavel Nemec 2006 +# Rex Dieter 2009 +# +# use proper binary (pinentry-qt, pinentry-gtk-2 or pinentry-curses) + +if [ -z "$PINENTRY_BINARY" ]; then + +kde_running= +if [ -n "$KDE_FULL_SESSION" ]; then + kde_running=1 +elif [ -n "$DISPLAY" ]; then + xprop -root | grep "^KDE_FULL_SESSION" >/dev/null 2>/dev/null + if test $? -eq 0; then + kde_running=1 + fi +else + arg= + display= + for opt in "$@"; do + if [ "$opt" = "--display" ]; then + arg=1 + elif [ -n "$arg" ]; then + display="$opt" + else + arg= + fi + done + if [ -n "$display" ]; then + DISPLAY="$display" xprop -root | grep "^KDE_FULL_SESSION" >/dev/null 2>/dev/null + if test $? -eq 0; then + kde_running=1 + fi + fi +fi + +# if KDE is detected and pinentry-qt exists, use pinentry-qt +if [ -n "$kde_running" -a -x /usr/bin/pinentry-qt4 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt4" +# otherwise test if pinentry-gtk-2 is installed +elif [ -x /usr/bin/pinentry-gtk-2 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-gtk-2" +# otherwise test if pinentry-qt4 is installed +elif [ -x /usr/bin/pinentry-qt ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt" +# otherwise test if pinentry-qt exists although KDE is not detected +elif [ -x /usr/bin/pinentry-qt4 ] +then + export PINENTRY_BINARY="/usr/bin/pinentry-qt4" +# pinentry-curses is installed by default +else + export PINENTRY_BINARY="/usr/bin/pinentry-curses" + +fi +fi + +exec $PINENTRY_BINARY "$@" + diff --git a/mandriva/2010.2/dependencies/pinentry/pinentry.spec b/mandriva/2010.2/dependencies/pinentry/pinentry.spec new file mode 100644 index 000000000..0fff9919d --- /dev/null +++ b/mandriva/2010.2/dependencies/pinentry/pinentry.spec @@ -0,0 +1,310 @@ +Name: pinentry +Version: 0.8.0 +Release: %mkrel 7 +Summary: Collection of simple PIN or passphrase entry dialogs +Source0: ftp://ftp.gnupg.org/gcrypt/%{name}/%{name}-%{version}.tar.gz +Source1: %{SOURCE0}.sig +Source2: pinentry-wrapper +Patch0: 0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch +Patch1: 0002-Fix-sigabrt-on-fail-grab-r229.patch +Patch2: 0003-pinentry-gtk-x11-race.patch +Patch3: 0004-Fix-qt4-pinentry-window-created-in-the-background.patch +License: GPLv2+ +Group: System/Kernel and hardware +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +URL: http://www.gnupg.org/ +Requires(post): info-install +Requires(preun):info-install +BuildRequires: libgtk+2.0-devel +BuildRequires: libcap-devel +BuildRequires: ncurses-devel +BuildRequires: qt4-devel +BuildRequires: gettext-devel +Obsoletes: %name-curses < 0.8.0-2 + +%description +%{name} is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the aegypten project. + +%pre +%{_sbindir}/update-alternatives --remove pinentry %{_bindir}/pinentry-curses ||: +%{_sbindir}/update-alternatives --remove pinentry %{_bindir}/pinentry-gtk ||: +%{_sbindir}/update-alternatives --remove pinentry %{_bindir}/pinentry-qt ||: +%{_sbindir}/update-alternatives --remove pinentry %{_bindir}/pinentry-qt4 ||: + +%files +%defattr(-,root,root) +%doc README TODO ChangeLog NEWS AUTHORS THANKS +%{_bindir}/pinentry +%{_bindir}/pinentry-curses +%{_infodir}/*.info* + +#----------------------------------------------------------------------------------------- + +%package gtk2 +Summary: GTK+ interface of pinentry +Group: System/Kernel and hardware +Provides: %{name}-gui = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Obsoletes: pinentry-gtk + +%description gtk2 +%{name} is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the aegypten project. + +This package provides GTK+ interface of the dialog. + +%files gtk2 +%defattr(-,root,root) +%_bindir/pinentry-gtk-2 + +#----------------------------------------------------------------------------------------- + +%package qt4 +Summary: QT4 interface of pinentry +Group: System/Kernel and hardware +Provides: %{name}-gui = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Obsoletes: %name-qt < 0.7.6-3 + +%description qt4 +%{name} is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the aegypten project. + +This package provides QT4 interface of the dialog. + +%files qt4 +%defattr(-,root,root) +%{_bindir}/pinentry-qt* + + +#----------------------------------------------------------------------------------------- +%package qt3 +Summary: QT3 interface of pinentry +Group: System/Kernel and hardware +Provides: %{name} = %{version}-%{release} +Provides: %{name}-qt = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +BuildRequires: qt3-devel + +%description qt3 +%{name} is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the aegypten project. + +This package provides QT3 interface of the dialog. + +%post qt3 +update-alternatives --install /usr/bin/pinentry pinentry /usr/bin/pinentry-qt 1 + --slave /usr/bin/pinentry-qt pinentry-qt /usr/bin/pinentry-qt + +%postun qt3 +if [ "$1" = "0" ]; then + update-alternatives --remove pinentry /usr/bin/pinentry-qt3 +fi + +%files qt3 +%defattr(-,root,root) +%{_bindir}/pinentry-qt + +#----------------------------------------------------------------------------------------- + +%prep +%setup -q +%patch0 -p1 +%patch1 -p0 +%patch2 -p0 +%patch3 -p1 + +%build +./autogen.sh + +%configure2_5x \ + --disable-pinentry-gtk \ + --enable-pinentry-qt \ + --with-qt-dir=%qt3dir \ + --enable-pinentry-qt4 \ + --enable-pinentry-gtk2 \ + --with-qt4-dir=%qt4dir \ + --disable-rpath + +%make +%install +rm -rf %{buildroot} +%makeinstall_std + +#Remove link we will use update alternative +rm -f %{buildroot}%{_bindir}/pinentry + +install -p -m755 -D %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/pinentry + +pushd $RPM_BUILD_ROOT%{_bindir} +#ln -s pinentry-qt4 pinentry-qt +popd + +%clean +rm -rf %{buildroot} + + + + +%changelog +* Mon Jul 28 2011 Tim Williams 0.8.0-7mdv2010.2 ++ Rebuild for Trinity repo + +* Wed Jul 21 2010 Tim Williams 0.8.0-6mdv2010.1 ++ Restore qt3 package due to KDE3 sanity... + +* Thu May 13 2010 Nicolas Lécureuil 0.8.0-5mdv2010.1 ++ Revision: 544667 +- Add fedora patches fixing segfault in the gtk pinentry +- Fix pinentry-qt4 showing in background + +* Wed Mar 31 2010 Nicolas Lécureuil 0.8.0-3mdv2010.1 ++ Revision: 530268 +- Add a symlink for pinentry-qt ( Bug #58457 ) +- Remove qt3 support + +* Fri Mar 05 2010 Nicolas Lécureuil 0.8.0-2mdv2010.1 ++ Revision: 514581 +- Use patch from fedora to handle no display settings (Bug #46841 ) + Add a pinentry-gui provide to qt4 qt and gtk2 subpackages + +* Wed Mar 03 2010 Frederik Himpe 0.8.0-1mdv2010.1 ++ Revision: 513991 +- Update to new version 0.8.0 +- Remove patch to build with QT 4.5: integrated upstream + +* Thu Sep 17 2009 Nicolas Lécureuil 0.7.6-3mdv2010.0 ++ Revision: 444182 +- Obsolete qt3 packages + +* Tue Sep 15 2009 Helio Chissini de Castro 0.7.6-2mdv2010.0 ++ Revision: 443111 +- Make teuf happy. ( And obsoletes pinentry-qt ) + +* Tue Jul 14 2009 Frederik Himpe 0.7.6-1mdv2010.0 ++ Revision: 395922 +- Update to new version 0.7.6 +- Remove patches integrated upstream +- Add moc patch to fix build with QT 4.5 + +* Thu Mar 26 2009 Frederic Crozat 0.7.5-7mdv2009.1 ++ Revision: 361357 +- Add missing buildrequires on gettext-devel + + + Helio Chissini de Castro + - Restore qt3 package due t kde3 insanity... + - Fixed last bit of curses fallback on pinentry-qt4 dialog + - Make qt4 pinentry dialog automake complaint, avoiding duplicate os secdring code and allowing to fallback on curses + if no display is available, like their counterparts. + +* Wed Jan 07 2009 Helio Chissini de Castro 0.7.5-4mdv2009.1 ++ Revision: 326682 +- We should made old binary names available in case user decided put the explicit binary name in their gpg.conf, + pointing to pinentry-qt and pinentry-gtk instead of have it clean allowing gpg-agent programs like use the + standard /usr/bin/pinentry ( which is handled by alternatives in Mandriva ). + Since new packages obsolete old ones, is possible to add a slave for the alternatives rule linking old names, solving the upgrade path issue. + +* Mon Jan 05 2009 Helio Chissini de Castro 0.7.5-3mdv2009.1 ++ Revision: 325155 +- Rediff gtk transient patch +- Disable qt3 vuild +- Added pinentry qt4 from kde playground svn. Dialog ui need some love. +- Move name gtk to gtk2 and obsolete old pinentry-gtk ( was gtk2 already ) +- qt4 package obsoletes old pinentry-qt + +* Mon Jul 07 2008 Oden Eriksson 0.7.5-2mdv2009.0 ++ Revision: 232371 +- rebuilt against new libcap + +* Mon Mar 17 2008 Olivier Blin 0.7.5-1mdv2008.1 ++ Revision: 188312 +- do not remove alternatives in postun if the package is not removed +- move pinentry-curses in a new pinentry-curses package to make + pinentry a virtual package (so that qt/gtk versions can be selected + when pinentry is required) +- realize the window as transient if keyboard is grabbed (from upstream SVN) +- fix keyboard grab (from Gentoo) +- fix build with latest glib that broke g_malloc API (from upstream ML) +- restore BuildRoot + + + Tomasz Pawel Gajc + - drop not applied patch + - set buildrequires on libcap-devel + - new version + - new license policy + + + Thierry Vignaud + - kill re-definition of %%buildroot on Pixel's request + +* Tue Dec 11 2007 Guillaume Rousse 0.7.4-1mdv2008.1 ++ Revision: 117509 +- new version + +* Mon Sep 10 2007 Per Øyvind Karlsen 0.7.3-2mdv2008.0 ++ Revision: 84038 +- fix broken info entry (P0, should fix #32534) +- $QTLIB is already set by /etc/profile.d/qt3.sh, so don't set it in spec + +* Thu Jul 26 2007 Tomasz Pawel Gajc 0.7.3-1mdv2008.0 ++ Revision: 55628 +- correct configure options +- nuke rpath +- update to the latest version +- Import pinentry + + + +* Mon Sep 18 2006 Gwenole Beauchesne 0.7.2-6mdv2007.0 +- Rebuild + +* Fri Jul 28 2006 Laurent MONTEL 0.7.2-5 +- Add patch to disable gtk-1.2 support + +* Mon Jun 19 2006 Laurent MONTEL 0.7.2-4 +- Add patch from Raphaël Gertz to use update-alternative + +* Fri Feb 24 2006 Nicolas Lécureuil 0.7.2-3mdk +- Add Requires(post|preun): fix ticket #17416 +- use mkrel + +* Sat May 28 2005 Christiaan Welvaart 0.7.2-2mdk +- add BuildRequires: libgtk+2.0-devel + +* Tue May 17 2005 Laurent MONTEL 0.7.2-1mdk +- 0.7.2 + +* Mon Mar 14 2005 Gwenole Beauchesne 0.7.1-4mdk +- fix build on lib64 platforms + +* Tue Mar 08 2005 Laurent MONTEL 0.7.1-3mdk +- Rebuild + +* Sat Jun 19 2004 Abel Cheung 0.7.1-2mdk +- Rebuild with new gcc + +* Thu May 20 2004 Abel Cheung 0.7.1-1mdk +- New version +- Don't build against libcap + +* Sat Jan 24 2004 Abel Cheung 0.7.0-1mdk +- New version +- Enable all interfaces + +* Fri Nov 14 2003 Florin 0.6.9-2mdk +- rebuild + +* Wed Apr 30 2003 Laurent MONTEL 0.6.9-1mdk +- Update version + +* Tue Feb 18 2003 Laurent MONTEL 0.6.8-1mdk +- Update and fix spec file thanks to + +* Tue Jan 28 2003 Laurent MONTEL 0.6.6-2mdk +- Fix link as report Jason Straight + +* Wed Dec 11 2002 Laurent MONTEL 0.6.6-1mdk +- update spec file from Fabrice MARIE + +* Sat Oct 19 2002 Laurent MONTEL 0.6.5-1mdk +- Initial package -- cgit v1.2.3