[Freeipa-devel] Building FreeIPA on Debian Unstable

Adam Young ayoung at redhat.com
Thu Oct 31 19:19:46 UTC 2013


I'm about to take off for a week, and want to make sure that I don't 
lose the momentum I've put in so far.  I spent agood portion of 
yesterday and today trying to get a Debian build going, and I think that 
this is worth sharing with the larger team.  Since FreeIPA has been RPM 
focused thus far,  I suspect that there is a need to prime-the-pump on 
Debian development.


1.  Installed Debian testing in a VM via an ISO.  I've had this VM for a 
while, so really just had to clone it and boot it.
2.  Set the repos to be the sid (unstable) repos instead of Jessie 
(testing)  by editing the file /etc/apt/sources.list  and replacing 
jessie with sid
3.  created a file /etc/apt/apt.conf with just the following line:
APT::Default-Release "unstable";
4.apt-get dist-upgrade
5. Reboot.
6. Loggd in and cloned the debian repo:
  git clone git://anonscm.debian.org/git/pkg-freeipa/freeipa.git

Technically, that is a lie...I had another FreeIPA repo already cloned, 
so instead I edited the .git/config file to add support for the above 
repo, and then did a fetch and checkout of the debian-unstable branch.


OK...now I am in trial and error state.  I've tried doing two different 
tasks, both related, but I am not sure how.


I used this as a guide
http://www.debian.org/doc/manuals/maint-guide/build.en.html


To build the package I ran:

dpkg-buildpackage

Which told me about all of the missing packages.  I had to modify the 
control file as some of the packages are no longer supporting the same 
files.  Onechange I made, which is suspect is shown here:

diff --git a/debian/control b/debian/control
index 66aedb4..e69cf6c 100644
--- a/debian/control
+++ b/debian/control
@@ -33,9 +33,7 @@ Build-Depends: quilt, debhelper (>= 9), dh-autoreconf,
   python-support,
  # server
   389-ds-base-dev (>= 1.1.3),
- libndr-dev,
- libndr-standard-dev,
- libsamba-util-dev,
+ samba-dev,
   libsvrcore-dev,
   libtevent-dev,
   uuid-dev,

Eventully this failed because I need a tarball to build a package. In 
FreeIPA, this is done via

make  tarballs

but that failed early on.  Rob's suggestion was to run

make version-update tarballs

which seemed to fix the issue somewhat.

The dpkg-buildpackage seems to be applying patches in place in the git 
repo.  I suspect that I should be running it with different command line 
switches telling it where to put the interim files etc.

I was able to fake out the process above by doing

cd ..
tar -zcf freeipa_3.2.1.orig.tar.gz freeipa

and re-running dpkg-buildpackage.  That was how I identified that the 
the krad.h files were not in libkrb-dev.  I comment them out with the 
below patch:

diff --git a/daemons/configure.ac b/daemons/configure.ac
index 21d4e7a..cda4498 100644
--- a/daemons/configure.ac
+++ b/daemons/configure.ac
@@ -53,15 +53,15 @@ dnl - Check for KRB5
  dnl 
---------------------------------------------------------------------------

  AC_CHECK_HEADER(krb5.h, [], [AC_MSG_ERROR([krb5.h not found])])
-AC_CHECK_HEADER(krad.h, [], [AC_MSG_ERROR([krad.h not found])])
+#AC_CHECK_HEADER(krad.h, [], [AC_MSG_ERROR([krad.h not found])])
  AC_CHECK_LIB(krb5, main, [], [AC_MSG_ERROR([libkrb5 not found])])
  AC_CHECK_LIB(k5crypto, main, [krb5crypto=k5crypto], [krb5crypto=crypto])
-AC_CHECK_LIB(krad, main, [], [AC_MSG_ERROR([libkrad not found])])
+#AC_CHECK_LIB(krad, main, [], [AC_MSG_ERROR([libkrad not found])])
  KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"
-KRAD_LIBS="-lkrad"
+#KRAD_LIBS="-lkrad"


And...that was pretty much as far as I got.

Once we get a working process we can clean up the documentation.

Looks like we need 1.12 of Kerberos to get Radius support, worth pinging 
the Debian krb supporters to see if they have a package in the works.




More information about the Freeipa-devel mailing list