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