Group :: File tools
RPM: pinentry
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
%define build_all 1
%define single_is_qt 1
%define qtdir /usr/lib/qt3
Name: pinentry
Version: 0.7.2
Release: alt1
Group: File tools
Summary: Simple PIN or passphrase entry dialog
URL: http://www.gnupg.org/
License: GPL
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
Provides: %_bindir/%name
%if %single_is_qt
Provides: %name-qt = %version-%release
Obsoletes: %name-qt <= %version-%release
%else
Provides: %name-gtk = %version-%release
Obsoletes: %name-gtk <= %version-%release
%endif
Source0: %name-%version.tar.gz
Patch1: pinentry-0.7.2-system-assuan.patch
# Automatically added by buildreq on Tue Apr 06 2004 (-bi)
#BuildRequires: XFree86-devel XFree86-libs fontconfig freetype2 gcc-c++ glib-devel gtk+-devel libalternatives-devel libassuan-devel libcap-devel libncurses-devel libqt3-devel libstdc++-devel libtinfo-devel
#for alternatives macros
BuildPreReq: libalternatives-devel
BuildRequires: XFree86-devel XFree86-libs fontconfig
BuildRequires: freetype2 gcc-c++
BuildRequires: libassuan-devel libcap-devel libncurses-devel
BuildRequires: libqt3-devel libstdc++-devel libtinfo-devel
%if %build_all
#
BuildRequires: glib2-devel libgtk+2-devel
BuildRequires: libqt3-devel-cxx = %__gcc_version_base
# hack for apt in hasher
BuildRequires: libqt3 > 1 libqt3-devel > 1
#
%else
#
%if %single_is_qt
BuildRequires: libqt3-devel libqt3-devel-cxx = %__gcc_version_base
%else
BuildRequires: glib2-devel libgtk+2-devel
%endif
#
%endif
%description
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%package common
Group: %group
Summary: %summary
Conflicts: pinentry < 0.7.2 pinentry-curses < 0.7.2
Conflicts: pinentry-qt < 0.7.2 pinentry-gtk < 0.7.2
%package curses
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
%package gtk
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
%package qt
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
Obsoletes: %name <= %version-%release
PreReq: alternatives >= 0.2 info-install
Requires: %{get_dep libqt3}
Requires: %name-common = %version-%release
%description curses
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description gtk
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description qt
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description common
Common files and documentation for %name
%prep
%setup -q
%patch1 -p1
rm -f doc/*.info
%__libtoolize --copy --force
#%__aclocal
#%__automake
#%__autoconf
./autogen.sh
%build
export QTDIR=%qtdir
%if %build_all
%configure \
--with-x \
--disable-rpath \
--with-gnu-ld \
--disable-pinentry-gtk \
--enable-pinentry-gtk-2 \
--enable-pinentry-curses \
--enable-pinentry-qt \
--enable-fallback-curses
%else
%if %single_is_qt
%configure \
--with-x \
--disable-rpath \
--disable-pinentry-gtk \
--disable-pinentry-gtk-2 \
--disable-pinentry-curses \
--enable-pinentry-qt \
--enable-fallback-curses
%else
%configure \
--with-x \
--disable-rpath \
--enable-pinentry-gtk-2 \
--disable-pinentry-gtk \
--disable-pinentry-curses \
--disable-pinentry-qt \
--enable-fallback-curses
%endif
%endif
%make
%install
mkdir -p %buildroot/%_bindir
%make install DESTDIR=%buildroot
if [ -f %buildroot/%_bindir/%{name}-gtk-2 ]
then
%__rm -f %buildroot/%_bindir/%{name}-gtk
%__mv -f %buildroot/%_bindir/%{name}-gtk-2 %buildroot/%_bindir/%{name}-gtk
fi
#made three alternatives entries
%__install -d %buildroot/%_altdir
WEIGHT=10
for i in curses gtk qt
do
cat >%buildroot/%_altdir/%name-$i<<EOF
%_bindir/%name %_bindir/%name-$i $WEIGHT
EOF
((WEIGHT+=10))
done
%__mkdir_p alt/
cat >alt/README <<__EOF__
see the documentation of %{name}-common package
__EOF__
%post curses
%post_register_alternatives %name-curses -- %name-curses
%update_alternatives
%preun curses
%preun_unregister_alternatives %name-curses
%triggerpostun curses -- %name
%post_register_alternatives %name-curses
%post gtk
%post_register_alternatives %name-gtk -- %name-gtk
%update_alternatives
%preun gtk
%preun_unregister_alternatives %name-gtk
%triggerpostun gtk -- %name
%post_register_alternatives %name-gtk
%post qt
%post_register_alternatives %name-qt -- %name-qt
%update_alternatives
%preun qt
%preun_unregister_alternatives %name-qt
%uninstall_info %name.info
%triggerpostun qt -- %name
%post_register_alternatives %name-qt
%post common
%install_info %name.info
%preun common
%uninstall_info %name.info
%post
%post_register_alternatives %name-curses %name-qt %name-gtk -- %name
%if %single_is_qt
/usr/sbin/alternatives-update --ignore %_bindir/%name-gtk
%else
/usr/sbin/alternatives-update --ignore %_bindir/%name-qt
%endif
%install_info %name.info
%preun
%preun_unregister_alternatives %name-curses %name-qt %name-gtk
%uninstall_info %name.info
#
%triggerpostun -- %name-curses
%post_register_alternatives %name-curses -- %name
%triggerpostun -- %name-gtk
%post_register_alternatives %name-gtk -- %name
%triggerpostun -- %name-qt
%post_register_alternatives %name-qt -- %name
%triggerpostun -- %name < 0.6.6-alt2
%register_alternatives %name-curses %name-qt %name-gtk -- %name
%if %build_all
%files curses
#%doc alt/README
%_altdir/%name-curses
%_bindir/%name-curses
%files gtk
#%doc alt/README
%_altdir/%name-gtk
%_bindir/%name-gtk
%files qt
#%doc alt/README
%_altdir/%name-qt
%_bindir/%name-qt
%else
%files
%config %_altdir/%{name}*
%_bindir/%{name}-*
%endif
%files common
%doc README TODO ChangeLog NEWS AUTHORS THANKS
%_infodir/*.info*
%ghost %_bindir/%name
%changelog
…
Full changelog you can see here
%define single_is_qt 1
%define qtdir /usr/lib/qt3
Name: pinentry
Version: 0.7.2
Release: alt1
Group: File tools
Summary: Simple PIN or passphrase entry dialog
URL: http://www.gnupg.org/
License: GPL
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
Provides: %_bindir/%name
%if %single_is_qt
Provides: %name-qt = %version-%release
Obsoletes: %name-qt <= %version-%release
%else
Provides: %name-gtk = %version-%release
Obsoletes: %name-gtk <= %version-%release
%endif
Source0: %name-%version.tar.gz
Patch1: pinentry-0.7.2-system-assuan.patch
# Automatically added by buildreq on Tue Apr 06 2004 (-bi)
#BuildRequires: XFree86-devel XFree86-libs fontconfig freetype2 gcc-c++ glib-devel gtk+-devel libalternatives-devel libassuan-devel libcap-devel libncurses-devel libqt3-devel libstdc++-devel libtinfo-devel
#for alternatives macros
BuildPreReq: libalternatives-devel
BuildRequires: XFree86-devel XFree86-libs fontconfig
BuildRequires: freetype2 gcc-c++
BuildRequires: libassuan-devel libcap-devel libncurses-devel
BuildRequires: libqt3-devel libstdc++-devel libtinfo-devel
%if %build_all
#
BuildRequires: glib2-devel libgtk+2-devel
BuildRequires: libqt3-devel-cxx = %__gcc_version_base
# hack for apt in hasher
BuildRequires: libqt3 > 1 libqt3-devel > 1
#
%else
#
%if %single_is_qt
BuildRequires: libqt3-devel libqt3-devel-cxx = %__gcc_version_base
%else
BuildRequires: glib2-devel libgtk+2-devel
%endif
#
%endif
%description
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%package common
Group: %group
Summary: %summary
Conflicts: pinentry < 0.7.2 pinentry-curses < 0.7.2
Conflicts: pinentry-qt < 0.7.2 pinentry-gtk < 0.7.2
%package curses
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
%package gtk
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
PreReq: alternatives >= 0.2 info-install
Requires: %name-common = %version-%release
%package qt
Group: %group
Summary: %summary
Provides: %name = %version-%release
Provides: %_bindir/%name
Obsoletes: %name <= %version-%release
PreReq: alternatives >= 0.2 info-install
Requires: %{get_dep libqt3}
Requires: %name-common = %version-%release
%description curses
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description gtk
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description qt
This is simple PIN or passphrase entry dialog which
utilize the Assuan protocol as described by the aegypten project.
%description common
Common files and documentation for %name
%prep
%setup -q
%patch1 -p1
rm -f doc/*.info
%__libtoolize --copy --force
#%__aclocal
#%__automake
#%__autoconf
./autogen.sh
%build
export QTDIR=%qtdir
%if %build_all
%configure \
--with-x \
--disable-rpath \
--with-gnu-ld \
--disable-pinentry-gtk \
--enable-pinentry-gtk-2 \
--enable-pinentry-curses \
--enable-pinentry-qt \
--enable-fallback-curses
%else
%if %single_is_qt
%configure \
--with-x \
--disable-rpath \
--disable-pinentry-gtk \
--disable-pinentry-gtk-2 \
--disable-pinentry-curses \
--enable-pinentry-qt \
--enable-fallback-curses
%else
%configure \
--with-x \
--disable-rpath \
--enable-pinentry-gtk-2 \
--disable-pinentry-gtk \
--disable-pinentry-curses \
--disable-pinentry-qt \
--enable-fallback-curses
%endif
%endif
%make
%install
mkdir -p %buildroot/%_bindir
%make install DESTDIR=%buildroot
if [ -f %buildroot/%_bindir/%{name}-gtk-2 ]
then
%__rm -f %buildroot/%_bindir/%{name}-gtk
%__mv -f %buildroot/%_bindir/%{name}-gtk-2 %buildroot/%_bindir/%{name}-gtk
fi
#made three alternatives entries
%__install -d %buildroot/%_altdir
WEIGHT=10
for i in curses gtk qt
do
cat >%buildroot/%_altdir/%name-$i<<EOF
%_bindir/%name %_bindir/%name-$i $WEIGHT
EOF
((WEIGHT+=10))
done
%__mkdir_p alt/
cat >alt/README <<__EOF__
see the documentation of %{name}-common package
__EOF__
%post curses
%post_register_alternatives %name-curses -- %name-curses
%update_alternatives
%preun curses
%preun_unregister_alternatives %name-curses
%triggerpostun curses -- %name
%post_register_alternatives %name-curses
%post gtk
%post_register_alternatives %name-gtk -- %name-gtk
%update_alternatives
%preun gtk
%preun_unregister_alternatives %name-gtk
%triggerpostun gtk -- %name
%post_register_alternatives %name-gtk
%post qt
%post_register_alternatives %name-qt -- %name-qt
%update_alternatives
%preun qt
%preun_unregister_alternatives %name-qt
%uninstall_info %name.info
%triggerpostun qt -- %name
%post_register_alternatives %name-qt
%post common
%install_info %name.info
%preun common
%uninstall_info %name.info
%post
%post_register_alternatives %name-curses %name-qt %name-gtk -- %name
%if %single_is_qt
/usr/sbin/alternatives-update --ignore %_bindir/%name-gtk
%else
/usr/sbin/alternatives-update --ignore %_bindir/%name-qt
%endif
%install_info %name.info
%preun
%preun_unregister_alternatives %name-curses %name-qt %name-gtk
%uninstall_info %name.info
#
%triggerpostun -- %name-curses
%post_register_alternatives %name-curses -- %name
%triggerpostun -- %name-gtk
%post_register_alternatives %name-gtk -- %name
%triggerpostun -- %name-qt
%post_register_alternatives %name-qt -- %name
%triggerpostun -- %name < 0.6.6-alt2
%register_alternatives %name-curses %name-qt %name-gtk -- %name
%if %build_all
%files curses
#%doc alt/README
%_altdir/%name-curses
%_bindir/%name-curses
%files gtk
#%doc alt/README
%_altdir/%name-gtk
%_bindir/%name-gtk
%files qt
#%doc alt/README
%_altdir/%name-qt
%_bindir/%name-qt
%else
%files
%config %_altdir/%{name}*
%_bindir/%{name}-*
%endif
%files common
%doc README TODO ChangeLog NEWS AUTHORS THANKS
%_infodir/*.info*
%ghost %_bindir/%name
%changelog
…
Full changelog you can see here