[samba] Use alternatives to configure winbind_krb5_locator.so
asn
asn at fedoraproject.org
Wed Oct 10 13:04:28 UTC 2012
commit ff6803c7c93af56d0c94c87379a9dc218b4c5da8
Author: Andreas Schneider <asn at cryptomilk.org>
Date: Wed Oct 10 15:02:48 2012 +0200
Use alternatives to configure winbind_krb5_locator.so
samba.spec | 40 ++++++++++++++++++++++++++++++++++++----
1 files changed, 36 insertions(+), 4 deletions(-)
---
diff --git a/samba.spec b/samba.spec
index 292fd7e..f6ac197 100644
--- a/samba.spec
+++ b/samba.spec
@@ -1,4 +1,4 @@
-%define main_release 152
+%define main_release 153
%define samba_version 4.0.0
%define talloc_version 2.0.7
@@ -273,6 +273,7 @@ Summary: Samba winbind krb5 locator
Group: Applications/System
%if %with_libwbclient
Requires: libwbclient = %{samba_depver}
+Requires: %{name}-winbind = %{samba_depver}
%else
Requires: %{name}-libs = %{samba_depver}
%endif
@@ -280,6 +281,15 @@ Requires: %{name}-libs = %{samba_depver}
Provides: 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
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
@@ -289,6 +299,7 @@ Summary: Samba winbind clients
Group: Applications/System
Requires: %{name}-common = %{samba_depver}
Requires: %{name}-libs = %{samba_depver}
+Requires: %{name}-winbind = %{samba_depver}
%if %with_libwbclient
Requires: libwbclient = %{samba_depver}
%endif
@@ -538,8 +549,7 @@ done
# winbind krb5 locator
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
-rm -f %{buildroot}/%{_libdir}/winbind_krb5_locator.so
+touch %{buildroot}%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
# cleanup stuff that does not belong here
rm -f %{buildroot}/%{_mandir}/man3/ldb.3*
@@ -557,6 +567,7 @@ rm -rf %{buildroot}%{perl_vendorlib}/Parse/Yapp
# Fix up permission on perl install.
%{_fixperms} %{buildroot}%{perl_vendorlib}
+
# Remove stuff the buildsystem did not handle correctly
rm -f %{buildroot}%{_libdir}/security/pam_smbpass.so
rm -f %{buildroot}%{python_sitelib}/tevent.py
@@ -622,6 +633,22 @@ rm -f %{buildroot}%{python_sitelib}/tevent.py
%postun -n libwbclient -p /sbin/ldconfig
%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
rm -rf %{buildroot}
@@ -905,7 +932,8 @@ rm -rf %{buildroot}
%files winbind-krb5-locator
%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*
%files winbind-clients
@@ -1255,6 +1283,10 @@ rm -rf %{buildroot}
%endif # with_libwbclient
%changelog
+* Wed Oct 10 2012 - Alexander Bokovoy <abokovoy at 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 at redhat.com> - 2:4.0.0-152.rc1
- Add kerberos AES support.
- Fix printing initialization.
More information about the scm-commits
mailing list