Re: [Freeipa-devel] [PATCH] 0101 specfile: detect Kerberos DAL driver ABI change from installed krb5-devel package

2013-04-04 Thread Alexander Bokovoy

On Thu, 04 Apr 2013, Alexander Bokovoy wrote:

Find out Kerberos middle version to infer ABI changes in DAL driver.

We cannot load DAL driver into KDC with wrong ABI. This is also needed
to support ipa-devel repository where krb5 1.11 is available for Fedora 18.

Right now krb5 1.11 is in ipa-devel repo for Fedora 18 and FreeIPA git
master packages built against it but bear wrong Requires, resulting in
inability to install FreeIPA on Fedora 18.


After discussing with Simo, now discover real DAL ABI version:

3 is Kerberos 1.10
4 is Kerberos 1.11

so far.

I'm using 'cpp -dM' to extract list of defined macros instead of
grepping /usr/include/kdb.h directly to avoid breakage if kdb.h would be
split out at some point (if any).

--
/ Alexander Bokovoy
From 3cdde9b8441434ee80bbcba8c0e6a687c057a19a Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy aboko...@redhat.com
Date: Thu, 4 Apr 2013 18:20:25 +0300
Subject: [PATCH] spec: detect Kerberos DAL driver ABI change from installed
 krb5-devel

Find out Kerberos middle version to infer ABI changes in DAL driver.

We cannot load DAL driver into KDC with wrong ABI. This is also needed to
support ipa-devel repository where krb5 1.11 is available for Fedora 18.
---
 freeipa.spec.in | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/freeipa.spec.in b/freeipa.spec.in
index 5e84453..3461e06 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -74,6 +74,11 @@ BuildRequires:  check
 BuildRequires:  libsss_idmap-devel
 BuildRequires:  java-1.7.0-openjdk
 
+# Find out Kerberos middle version to infer ABI changes in DAL driver
+# We cannot load DAL driver into KDC with wrong ABI.
+# This is also needed to support ipa-devel repository where krb5 1.11 is 
available for F18
+%global krb5_dal_version %{expand:%(echo #include kdb.h|cpp -dM|grep 
KRB5_KDB_DAL_MAJOR_VERSION|cut -d' ' -f3)}
+
 %description
 IPA is an integrated solution to provide centrally managed Identity (machine,
 user, virtual machines, groups, authentication credentials), Policy
@@ -92,10 +97,10 @@ Requires: 389-ds-base = 1.3.0.5
 Requires: openldap-clients
 Requires: nss
 Requires: nss-tools
-%if 0%{?fedora} = 19
+%if 0%{?krb5_dal_version} = 4
 Requires: krb5-server = 1.11
 %else
-%if 0%{?fedora} == 18
+%if 0%{krb5_dal_version} == 3
 # krb5 1.11 bumped DAL interface major version, a rebuild is needed
 Requires: krb5-server  1.11
 Requires: krb5-server = 1.10
@@ -783,6 +788,9 @@ fi
 %ghost %attr(0644,root,apache) %config(noreplace) %{_sysconfdir}/ipa/ca.crt
 
 %changelog
+* Thu Apr  4 2013 Alexander Bokovoy aboko...@redhat.com - 3.1.99-3
+- Make sure build against Krb5 1.11 in Fedora 18 environment creates proper 
dependencies
+
 * Tue Apr  2 2013 Martin Kosek mko...@redhat.com - 3.1.99-2
 - Require 389-base-base = 1.3.0.5 to pull the following fixes:
   - upgrade deadlock caused by DNA plugin reconfiguration
-- 
1.8.1.4

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] [PATCH] 0101 specfile: detect Kerberos DAL driver ABI change from installed krb5-devel package

2013-04-04 Thread Simo Sorce
On Thu, 2013-04-04 at 20:07 +0300, Alexander Bokovoy wrote:
 On Thu, 04 Apr 2013, Alexander Bokovoy wrote:
 Find out Kerberos middle version to infer ABI changes in DAL driver.
 
 We cannot load DAL driver into KDC with wrong ABI. This is also needed
 to support ipa-devel repository where krb5 1.11 is available for Fedora 18.
 
 Right now krb5 1.11 is in ipa-devel repo for Fedora 18 and FreeIPA git
 master packages built against it but bear wrong Requires, resulting in
 inability to install FreeIPA on Fedora 18.
 
 After discussing with Simo, now discover real DAL ABI version:
 
 3 is Kerberos 1.10
 4 is Kerberos 1.11
 
 so far.
 
 I'm using 'cpp -dM' to extract list of defined macros instead of
 grepping /usr/include/kdb.h directly to avoid breakage if kdb.h would be
 split out at some point (if any).

Looks good to me.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] 0101 specfile: detect Kerberos DAL driver ABI change from installed krb5-devel package

2013-04-04 Thread Simo Sorce
On Thu, 2013-04-04 at 13:09 -0400, Simo Sorce wrote:
 On Thu, 2013-04-04 at 20:07 +0300, Alexander Bokovoy wrote:
  On Thu, 04 Apr 2013, Alexander Bokovoy wrote:
  Find out Kerberos middle version to infer ABI changes in DAL driver.
  
  We cannot load DAL driver into KDC with wrong ABI. This is also needed
  to support ipa-devel repository where krb5 1.11 is available for Fedora 18.
  
  Right now krb5 1.11 is in ipa-devel repo for Fedora 18 and FreeIPA git
  master packages built against it but bear wrong Requires, resulting in
  inability to install FreeIPA on Fedora 18.
  
  After discussing with Simo, now discover real DAL ABI version:
  
  3 is Kerberos 1.10
  4 is Kerberos 1.11
  
  so far.
  
  I'm using 'cpp -dM' to extract list of defined macros instead of
  grepping /usr/include/kdb.h directly to avoid breakage if kdb.h would be
  split out at some point (if any).
 
 Looks good to me.
 
 Simo.
 

Pushed to master.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel