%define dotests 1 %define name cyrus-sasl %define release 1 %define version 2.1.28 %define API_VERSION 3 Summary: Simple Authentication and Security Layer (SASL). License: BSD Name: %{name} Release: %{release} Version: %{version} Source0: %{name}-%{version}.tar.gz #sendmail configuration file Source1: sendmail.cf #sendmail binary build with sals support. Source2: sendmail Patch0: cyrus-sasl-2.1.27-db.patch Prefix: %{_prefix} BuildRequires: libgcc >= 8.3.0-1 Requires: libgcc >= 8.3.0-1 Requires: db >= 5.3.28 Group: Development/Tools #%ifos aix6.1 #Requires: AIX-rpm >= 6.1.0.0 #Requires: AIX-rpm < 6.2.0.0 #%endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description Simple Authentication and Security Layer (SASL) is a framework for authentication and data security in Internet protocols. It decouples authentication mechanisms from application protocols, in theory allowing any authentication mechanism supported by SASL to be used in any application protocol that uses SASL. %package devel Group: Development/Tools Summary: Development package for the cyrus-sasl Requires: cyrus-sasl = %{version}-%{release} %description devel Development package for the cyrus-sasl. %prep %setup -q %patch0 rm -rf /tmp/%{name}-%{version}-32bit cp -pr . /tmp/%{name}-%{version}-32bit rm -fr * mv /tmp/%{name}-%{version}-32bit 32bit cp -pr 32bit 64bit %build #find . -name config.cache | xargs rm #export PATH=/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/vac/bin:/usr/vacpp/bin:. #export LDFLAGS="-L/opt/freeware/lib -L/usr/lib -L/lib -bmaxdata:0x80000000 -brtl" #export LDFLAGS="-L/opt/freeware/lib -L/usr/lib -L/lib -Wl,-bmaxdata:0x80000000" #export LDFLAGS="-brtl" #export CC=xlc #export CXX=xlC export AR="/usr/bin/ar -X32_64" #Build on 64bit mode export OBJECT_MODE=64 cd 64bit export LDFLAGS="-L%{_builddir}/%{name}-%{version}/64bit/lib/.libs -L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib" export CC="gcc -maix64 -O2" export CFLAGS="-I/opt/freeware/include -I/usr/include" export CC_FOR_BUILD=$CC ./configure --prefix=%{_prefix} --libdir=%{_libdir}64 --sbindir=%{_sbindir} --enable-login --enable-shared --with-plugindir=%{_libdir}64/sasl2 \ --disable-gssapi make if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi #Build on 32bit mode export OBJECT_MODE=32 cd ../32bit export CC="gcc -maix32 -D_LARGE_FILES -O2" export LDFLAGS="-L%{_builddir}/%{name}-%{version}/32bit/lib/.libs -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" export CC_FOR_BUILD=$CC ./configure --prefix=%{_prefix} --libdir=%{_libdir} --sbindir=%{_sbindir} --enable-login --enable-shared --with-plugindir=%{_libdir}/sasl2 --disable-gssapi make if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi # add the 64-bit shared objects to the shared library containing already the # 32-bit shared objects ${AR} -q lib/.libs/libsasl2.a ../64bit/lib/.libs/libsasl2.so.3 %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} export AR="/usr/bin/ar -X32_64" # install on 64bit mode export OBJECT_MODE=64 cd 64bit make install DESTDIR=${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}/etc mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} mkdir -p ${RPM_BUILD_ROOT}/var/state/saslauthd ( cd utils/.libs cp ./* ${RPM_BUILD_ROOT}%{_sbindir} ) ( cd ${RPM_BUILD_ROOT}%{_prefix}/sbin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_64 done ) #mkdir -p ${RPM_BUILD_ROOT}%{_libdir}64/sasl2 #mv ${RPM_BUILD_ROOT}%{_libdir}/sasl2/* ${RPM_BUILD_ROOT}%{_libdir}64/sasl2/ ( cd ${RPM_BUILD_ROOT}%{_libdir}64/sasl2 for A in *.a do ar -X64 -x $A done ) export OBJECT_MODE=32 cd ../32bit make install DESTDIR=${RPM_BUILD_ROOT} ( cd utils/.libs cp ./* ${RPM_BUILD_ROOT}%{_sbindir} ) ( cd ${RPM_BUILD_ROOT}/%{_prefix}/sbin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_32 ln -sf "$fic"_64 $fic done ) ( cd ${RPM_BUILD_ROOT}%{_libdir}/sasl2 for A in *.a do ar -X32 -x $A done ) %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %post echo "From cyrus-sasl 2.1.26-5 onwards, symbolic links in /usr/sbin has been removed." echo "The binaries are shipped in /opt/freeware/sbin. Please use absolute path or " echo "add /opt/freeware/sbin in PATH environment variable to use the binary." %files %defattr(-,root,system) %{_prefix}/sbin/* %{_prefix}/lib/lib* %{_prefix}/lib/sasl2/lib* %{_prefix}/lib/pkgconfig/* %{_prefix}/lib64/lib* %{_prefix}/lib64/sasl2/lib* %{_prefix}/lib64/pkgconfig/* #%{_prefix}/sbin/sendmail #/usr/lib/lib* #/usr/lib/sasl2/lib* %dir /var/state/saslauthd #/usr/lib/pkg* #/usr/lib64/lib* #/usr/lib64/sasl2/lib* #/etc/sendmail.cf %{_prefix}/share/man/man3/* %{_prefix}/share/man/man8/* %files devel %defattr(-,root,system) %{_prefix}/include/* #/usr/include/sasl/*.h %changelog * Wed Apr 13 2022 Reshma V Kumar - 2.1.28-1 - Update to fix CVE-2022-24407 * Wed Sep 15 2021 Rishita Saha - 2.1.27-1 - Update to version 2.1.27 - Not shipping files in /usr directory any longer * Mon Aug 16 2021 Reshma V Kumar - 2.1.26-5 - Rebuild to remove /usr/sbin files * Wed Aug 1 2018 Reshma V Kumar - 2.1.26-3 - Rebuild adding Requires: libgcc >= 6.3.0 * Wed Jul 18 2018 Reshma V Kumar - 2.1.26-2 - Update to version 2.1.26 for AIX toolbox * Fri Dec 16 2016 Juan P Villamizer 2.1.26-1. - Update to version 2.1.26. - Include sendmail binary & configuration files. Sendmail included with this rpm is - compiled to use sasl authentication. So sendmail depends on libsasl.a.