Use alternatives to configure winbind_krb5_locator.so

This commit is contained in:
Andreas Schneider 2012-10-10 15:02:48 +02:00
parent 57298b3953
commit ff6803c7c9
1 changed files with 36 additions and 4 deletions

View File

@ -1,4 +1,4 @@
%define main_release 152 %define main_release 153
%define samba_version 4.0.0 %define samba_version 4.0.0
%define talloc_version 2.0.7 %define talloc_version 2.0.7
@ -273,6 +273,7 @@ Summary: Samba winbind krb5 locator
Group: Applications/System Group: Applications/System
%if %with_libwbclient %if %with_libwbclient
Requires: libwbclient = %{samba_depver} Requires: libwbclient = %{samba_depver}
Requires: %{name}-winbind = %{samba_depver}
%else %else
Requires: %{name}-libs = %{samba_depver} Requires: %{name}-libs = %{samba_depver}
%endif %endif
@ -280,6 +281,15 @@ Requires: %{name}-libs = %{samba_depver}
Provides: samba4-winbind-krb5-locator = %{samba_depver} Provides: samba4-winbind-krb5-locator = %{samba_depver}
Obsoletes: samba4-winbind-krb5-locator < %{samba_depver} Obsoletes: samba4-winbind-krb5-locator < %{samba_depver}
# Handle winbind_krb5_locator.so as alternatives to allow
# IPA AD trusts case where it should not be used by libkrb5
# The plugin will be diverted to /dev/null by the FreeIPA
# freeipa-server-trust-ad subpackage due to higher priority
# and restored to the proper one on uninstall
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
%description winbind-krb5-locator %description winbind-krb5-locator
The winbind krb5 locator is a plugin for the system kerberos library to allow The winbind krb5 locator is a plugin for the system kerberos library to allow
the local kerberos library to use the same KDC as samba and winbind use the local kerberos library to use the same KDC as samba and winbind use
@ -289,6 +299,7 @@ Summary: Samba winbind clients
Group: Applications/System Group: Applications/System
Requires: %{name}-common = %{samba_depver} Requires: %{name}-common = %{samba_depver}
Requires: %{name}-libs = %{samba_depver} Requires: %{name}-libs = %{samba_depver}
Requires: %{name}-winbind = %{samba_depver}
%if %with_libwbclient %if %with_libwbclient
Requires: libwbclient = %{samba_depver} Requires: libwbclient = %{samba_depver}
%endif %endif
@ -538,8 +549,7 @@ done
# winbind krb5 locator # winbind krb5 locator
install -d -m 0755 %{buildroot}%{_libdir}/krb5/plugins/libkrb5 install -d -m 0755 %{buildroot}%{_libdir}/krb5/plugins/libkrb5
install -m 755 %{buildroot}/%{_libdir}/winbind_krb5_locator.so %{buildroot}/%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so touch %{buildroot}%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
rm -f %{buildroot}/%{_libdir}/winbind_krb5_locator.so
# cleanup stuff that does not belong here # cleanup stuff that does not belong here
rm -f %{buildroot}/%{_mandir}/man3/ldb.3* rm -f %{buildroot}/%{_mandir}/man3/ldb.3*
@ -557,6 +567,7 @@ rm -rf %{buildroot}%{perl_vendorlib}/Parse/Yapp
# Fix up permission on perl install. # Fix up permission on perl install.
%{_fixperms} %{buildroot}%{perl_vendorlib} %{_fixperms} %{buildroot}%{perl_vendorlib}
# Remove stuff the buildsystem did not handle correctly # Remove stuff the buildsystem did not handle correctly
rm -f %{buildroot}%{_libdir}/security/pam_smbpass.so rm -f %{buildroot}%{_libdir}/security/pam_smbpass.so
rm -f %{buildroot}%{python_sitelib}/tevent.py rm -f %{buildroot}%{python_sitelib}/tevent.py
@ -622,6 +633,22 @@ rm -f %{buildroot}%{python_sitelib}/tevent.py
%postun -n libwbclient -p /sbin/ldconfig %postun -n libwbclient -p /sbin/ldconfig
%endif # with_libwbclient %endif # with_libwbclient
%postun winbind-krb5-locator
if [ "$1" -ge "1" ]; then
if [ "`readlink %{_sysconfdir}/alternatives/winbind_krb5_locator.so`" == "%{_libdir}/winbind_krb5_locator.so" ]; then
%{_sbindir}/alternatives --set winbind_krb5_locator %{_libdir}/winbind_krb5_locator.so
fi
fi
%post winbind-krb5-locator
%{_sbindir}/update-alternatives --install %{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so \
winbind_krb5_locator.so %{_libdir}/winbind_krb5_locator.so 10
%preun winbind-krb5-locator
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove winbind_krb5_locator.so %{_libdir}/winbind_krb5_locator.so
fi
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
@ -905,7 +932,8 @@ rm -rf %{buildroot}
%files winbind-krb5-locator %files winbind-krb5-locator
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so %ghost %{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
%{_libdir}/winbind_krb5_locator.so
%{_mandir}/man7/winbind_krb5_locator.7* %{_mandir}/man7/winbind_krb5_locator.7*
%files winbind-clients %files winbind-clients
@ -1255,6 +1283,10 @@ rm -rf %{buildroot}
%endif # with_libwbclient %endif # with_libwbclient
%changelog %changelog
* Wed Oct 10 2012 - Alexander Bokovoy <abokovoy@redhat.com> - 2:4.0.0-153.rc1
- Use alternatives to configure winbind_krb5_locator.so
- Fix Requires for winbind.
* Thu Oct 04 2012 - Andreas Schneider <asn@redhat.com> - 2:4.0.0-152.rc1 * Thu Oct 04 2012 - Andreas Schneider <asn@redhat.com> - 2:4.0.0-152.rc1
- Add kerberos AES support. - Add kerberos AES support.
- Fix printing initialization. - Fix printing initialization.