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.

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

Reply via email to