diff --git a/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl098.patch b/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl098.patch new file mode 100644 index 000000000..edfb376e0 --- /dev/null +++ b/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl098.patch @@ -0,0 +1,26 @@ +--- ./qca-tls.cpp.ossl098 2003-12-10 17:53:57.000000000 +0100 ++++ ./qca-tls.cpp 2005-11-13 22:21:50.000000000 +0100 +@@ -454,7 +454,11 @@ + if(!r) { + // try this other public function, for whatever reason + p = (void *)in; ++#ifdef OSSL_097 ++ r = d2i_RSA_PUBKEY(NULL, (const unsigned char **)&p, len); ++#else + r = d2i_RSA_PUBKEY(NULL, (unsigned char **)&p, len); ++#endif + } + if(r) { + if(pub) { +@@ -798,7 +802,11 @@ + + bool createFromDER(const char *in, unsigned int len) + { ++#ifdef OSSL_097 ++ const unsigned char *p = (const unsigned char *)in; ++#else + unsigned char *p = (unsigned char *)in; ++#endif + X509 *t = d2i_X509(NULL, &p, len); + if(!t) + return false; diff --git a/redhat/dependencies/tqca-tls/tqca-tls.spec b/redhat/dependencies/tqca-tls/tqca-tls.spec index 4f1cb6fa4..f95290a0e 100644 --- a/redhat/dependencies/tqca-tls/tqca-tls.spec +++ b/redhat/dependencies/tqca-tls/tqca-tls.spec @@ -1,3 +1,4 @@ +# Always build under "/usr" %define _prefix /usr Name: tqca-tls @@ -12,20 +13,18 @@ URL: http://delta.affinix.com/qca/ Vendor: Trinity Project Packager: Francois Andriot +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + Source0: %{name}-%{version}.tar.gz # Fix build in mach for QT apps Patch0: qca-tls-1.0-mach.patch -# Missing ifdefs for openssl 0.9.8 -Patch1: qca-tls-1.0-ossl098.patch # Build with openssl 1.0.0 Patch2: qca-tls-1.0-ossl10.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - +# Allows building with TQT3 from TDE Patch10: tqca-tls-qmake-tqt3.patch BuildRequires: tqt3-devel >= 3.4.0 -# To build with openssl 0.9.7, disable patch1 BuildRequires: openssl-devel >= 0.9.8 @@ -35,27 +34,24 @@ Cryptographic Architecture (TQCA). TQCA is a library providing an easy API for several cryptographic algorithms to TQt programs. This package only contains the TLS plugin. + %prep %setup -q -n dependencies/%{name} %patch0 -p0 -b .mach -#patch1 -p0 -b .ossl098 %patch2 -p1 -b .ossl10 %patch10 -p1 %build -./configure \ - --qtdir=/usr +./configure %__make %{?_smp_mflags} - %install %__rm -rf %{?buildroot} -%__mkdir -p %{?buildroot}%{_libdir}/tqt3/plugins/crypto %__make install INSTALL_ROOT=%{?buildroot} - %clean -%__rm -rf $RPM_BUILD_ROOT +%__rm -rf %{?buildroot} + %files %defattr(0644,root,root,0755) diff --git a/redhat/dependencies/tqca/qca-1.0-mach.patch b/redhat/dependencies/tqca/qca-1.0-mach.patch new file mode 100644 index 000000000..c20b0cb13 --- /dev/null +++ b/redhat/dependencies/tqca/qca-1.0-mach.patch @@ -0,0 +1,10 @@ +--- ./qca.pro.mach 2004-11-22 11:15:24.061984966 +0100 ++++ ./qca.pro 2004-11-22 11:15:31.483010203 +0100 +@@ -2,6 +2,7 @@ + + TEMPLATE = lib + CONFIG += qt thread release ++CONFIG += no_fixpath + TARGET = qca + + MOC_DIR = .moc diff --git a/redhat/dependencies/tqca/tqca-1.0-fix_tqt3_detection.patch b/redhat/dependencies/tqca/tqca-1.0-fix_tqt3_detection.patch new file mode 100644 index 000000000..89c044351 --- /dev/null +++ b/redhat/dependencies/tqca/tqca-1.0-fix_tqt3_detection.patch @@ -0,0 +1,95 @@ +diff -Nuar tqca.ORI/configure tqca.P/configure +--- tqca.ORI/configure 2012-04-24 17:24:02.762426535 -0400 ++++ tqca.P/configure 2012-04-24 17:41:57.164913623 -0400 +@@ -8,7 +8,7 @@ + + Main options: + --prefix=[path] Base path for build/install. Default: /usr/local +- --qtdir=[path] Directory where Qt is installed. ++ --qtdir=[path] Directory where [T]Qt is installed. + --help This help text. + + EOT +@@ -37,7 +37,7 @@ + + PREFIX=${PREFIX:-/usr/local} + +-echo "Configuring TQt Cryptographic Architecture (QCA) ..." ++echo "Configuring TQt Cryptographic Architecture (TQCA) ..." + + if [ "$QC_DEBUG" = "Y" ]; then + echo +@@ -52,7 +52,7 @@ + if [ "$QC_DEBUG" = "Y" ]; then + echo \$QTDIR not set... trying to find Qt manually + fi +- for p in /usr/lib/tqt /usr/share/tqt /usr/share/tqt3 /usr/local/lib/tqt /usr/local/share/tqt /usr/lib/tqt3 /usr/local/lib/tqt3 /usr/lib/qt /usr/share/qt /usr/share/qt3 /usr/local/lib/qt /usr/local/share/qt /usr/lib/qt3 /usr/local/lib/qt3 /usr/X11R6/share/qt /usr/qt/3 ; do ++ for p in /usr/lib64/tqt /usr/lib/tqt /usr/share/tqt /usr/share/tqt3 /usr/local/lib64/tqt /usr/local/lib/tqt /usr/local/share/tqt /usr/lib64/tqt3 /usr/lib/tqt3 /usr/local/lib64/tqt3 /usr/local/lib/tqt3 /usr/lib64/qt /usr/lib/qt /usr/share/qt /usr/share/qt3 /usr/local/lib64/qt /usr/local/lib/qt /usr/local/share/qt /usr/lib64/qt3 /usr/lib/qt3 /usr/local/lib64/qt3 /usr/local/lib/qt3 /usr/X11R6/share/qt /usr/qt/3 ; do + if [ -d "$p/mkspecs" ]; then + QTDIR=$p + break; +@@ -62,7 +62,7 @@ + echo fail + echo + echo Unable to find Qt 'mkspecs'. Please set QTDIR +- echo manually. Perhaps you need to install Qt 3 ++ echo manually. Perhaps you need to install [T]Qt 3 + echo development utilities. You may download them either + echo from the vendor of your operating system or from + echo www.trolltech.com +@@ -71,12 +71,12 @@ + fi + fi + +-if [ ! -x "$QTDIR/bin/qmake" ]; then ++if [ ! -x "$QTDIR/bin/qmake-tqt3" ] && [ ! -x "$QTDIR/bin/qmake" ]; then + if [ "$QC_DEBUG" = "Y" ]; then + echo Warning: qmake not in \$QTDIR/bin/qmake + echo trying to find it in \$PATH + fi +- qm=`type -p qmake` ++ qm=`type -p qmake-tqt3 || type -p qmake` + if [ -x "$qm" ]; then + if [ "$QC_DEBUG" = "Y" ]; then + echo qmake found in $qm +@@ -93,7 +93,11 @@ + exit 1; + fi + else +- qm=$QTDIR/bin/qmake ++ if [ -x $QTDIR/bin/qmake-tqt3 ]; then ++ qm=$QTDIR/bin/qmake-tqt3 ++ else ++ qm=$QTDIR/bin/qmake ++ fi + fi + + gen_files() { +@@ -414,6 +418,7 @@ + CONFIG += qt x11 thread console + TARGET = conf + INCLUDEPATH += '/usr/include/tqt' ++INCLUDEPATH += '/usr/include/tqt3' + + DEFINES += X11_INC='"\$\$QMAKE_INCDIR_X11"' + DEFINES += X11_LIBDIR='"\$\$QMAKE_LIBDIR_X11"' +@@ -438,7 +443,7 @@ + ) + + if [ "$?" != "0" ]; then +- rm -rf .qconftemp ++# rm -rf .qconftemp + echo fail + echo + echo "There was an error compiling 'conf'. Be sure you have a proper" +diff -Nuar tqca.ORI/qca.pro tqca.P/qca.pro +--- tqca.ORI/qca.pro 2012-04-24 17:24:02.760426575 -0400 ++++ tqca.P/qca.pro 2012-04-24 17:39:36.323825994 -0400 +@@ -21,6 +21,7 @@ + QCA_CPP = src + INCLUDEPATH += $$QCA_CPP + INCLUDEPATH += /usr/include/tqt ++INCLUDEPATH += /usr/include/tqt3 + + HEADERS += \ + $$QCA_CPP/qca.h \ diff --git a/redhat/dependencies/tqca/tqca.spec b/redhat/dependencies/tqca/tqca.spec new file mode 100644 index 000000000..77505c221 --- /dev/null +++ b/redhat/dependencies/tqca/tqca.spec @@ -0,0 +1,117 @@ +%define _prefix /opt/trinity + +Name: tqca +Version: 1.0 +Release: r14.1%{?dist} + +Summary: TQt Cryptographic Architecture + +Group: System Environment/Libraries +License: LGPLv2+ +URL: http://delta.affinix.com/qca +Source0: %{name}-r14.tar.gz +Patch0: qca-1.0-mach.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch1: tqca-1.0-fix_tqt3_detection.patch + +BuildRequires: tqt3-devel +BuildRequires: tqtinterface-devel + +%description +Taking a hint from the similarly-named Java Cryptography Architecture, +QCA aims to provide a straightforward and cross-platform crypto API, +using Qt datatypes and conventions. QCA separates the API from the +implementation, using plugins known as Providers. The advantage of this +model is to allow applications to avoid linking to or explicitly depending +on any particular cryptographic library. This allows one to easily change +or upgrade crypto implementations without even needing to recompile the +application! + +%package devel +Summary: Qt Cryptographic Architecture development files +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +This packages contains the development files for QCA + +%prep +%setup -q -n dependencies/tqca +%patch0 -p0 -b .mach +%patch1 -p1 +perl -pi -e 's,target\.path=\$PREFIX/lib,target.path=\$PREFIX/%{_lib},g' qcextra + + +%build +./configure \ + --prefix=%{_prefix} + +sed -i -e /strip/d Makefile +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install INSTALL_ROOT=$RPM_BUILD_ROOT + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc COPYING README TODO +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/*.h +%{_libdir}/*.so + + +%changelog +* Sun Jul 26 2009 Fedora Release Engineering - 1.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 1.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Jun 05 2008 Aurelien Bompard 1.0-11 +- fix build + +* Mon Feb 18 2008 Fedora Release Engineering - 1.0-10 +- Autorebuild for GCC 4.3 + +* Sun Aug 26 2007 Aurelien Bompard 1.0-9 +- fix license tag + +* Wed Aug 30 2006 Aurelien Bompard 1.0-8 +- rebuild + +* Sat Apr 08 2006 Aurelien Bompard 1.0-7 +- disable stripping (bug 186648) + +* Tue Feb 21 2006 Aurelien Bompard 1.0-6 +- rebuild for FC5 + +* Sun May 22 2005 Jeremy Katz - 1.0-5 +- rebuild on all arches + +* Fri Apr 7 2005 Michael Schwendt +- rebuilt + +* Thu Jan 13 2005 Aurelien Bompard 0:1.0-3 +- fix Category +- fix build on x86_64 + +* Thu Jan 13 2005 Aurelien Bompard 0:1.0-0.fdr.2 +- clean up comments to fix %%postun scriptlet. + +* Mon Nov 22 2004 Aurelien Bompard 0:1.0-0.fdr.1 +- Initial RPM release.