[Freeipa-devel] Updates to build system / spec files

Karl MacMillan kmacmill at redhat.com
Fri Aug 10 11:08:53 UTC 2007


I'm about to commit the following to make the build system build
ipa_kpasswd and the slapi plugins.

[?1034hdiff -r c7a2e210de44 Makefile
--- a/Makefile	Fri Aug 10 10:30:15 2007 -0400
+++ b/Makefile	Fri Aug 10 06:48:27 2007 -0400
@@ -1,6 +1,9 @@ SUBDIRS=ipa-server ipa-admintools ipa-py
 SUBDIRS=ipa-server ipa-admintools ipa-python
 
 PRJ_PREFIX=freeipa
+
+# set to 1 to produce a debug build of all subprojects
+#DEBUG=1
 
 # Version numbers - this is for the entire server. After
 # updating this you should run the version-update
@@ -26,12 +29,18 @@ PYTHON_TARBALL_PREFIX=$(PRJ_PREFIX)-pyth
 PYTHON_TARBALL_PREFIX=$(PRJ_PREFIX)-python-$(PYTHON_VERSION)
 PYTHON_TARBALL=$(PYTHON_TARBALL_PREFIX).tgz
 
+ifeq ($(DEBUG),1)
+	export CFLAGS = -g -Wall -Wshadow
+	export LDFLAGS = -g
+endif
+
+
 all:
 	@for subdir in $(SUBDIRS); do \
 		(cd $$subdir && $(MAKE) $@) || exit 1; \
 	done
 
-install:
+install: all
 	@for subdir in $(SUBDIRS); do \
 		(cd $$subdir && $(MAKE) $@) || exit 1; \
 	done
diff -r c7a2e210de44 ipa-server/Makefile
--- a/ipa-server/Makefile	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/Makefile	Fri Aug 10 05:24:59 2007 -0400
@@ -1,4 +1,4 @@ SUBDIRS=ipa-install xmlrpc-server
-SUBDIRS=ipa-install xmlrpc-server
+SUBDIRS=ipa-install xmlrpc-server ipa-kpasswd ipa-slapi-plugins
 PYTHONDIR=$(DESTDIR)/usr/share/ipa/ipaserver
 
 all:
diff -r c7a2e210de44 ipa-server/freeipa-server.spec
--- a/ipa-server/freeipa-server.spec	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/freeipa-server.spec	Fri Aug 10 07:00:20 2007 -0400
@@ -1,6 +1,6 @@ Name:           freeipa-server
 Name:           freeipa-server
 Version:        0.1.0
-Release:        3%{?dist}
+Release:        %{?dist}
 Summary:        FreeIPA authentication server
 
 Group:          System Environment/Base
@@ -8,11 +8,14 @@ URL:            http://www.freeipa.org
 URL:            http://www.freeipa.org
 Source0:        %{name}-%{version}.tgz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: 	noarch
+#BuildArch: 	
 
-Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi
+BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
+
+Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss
 
 %define httpd_conf /etc/httpd/conf.d
+%define plugin_dir /usr/lib/fedora-ds/plugins
 
 %description
 FreeIPA is a server for identity, policy, and audit.
@@ -20,9 +23,14 @@ FreeIPA is a server for identity, policy
 %prep
 %setup -q
 
+%build
+
+make DESTDIR=%{buildroot}
+
 %install
 rm -rf %{buildroot}
 mkdir -p %{buildroot}%{_sbindir}
+mkdir -p %{buildroot}%{plugin_dir}
 
 make install DESTDIR=%{buildroot}
 
@@ -35,12 +43,19 @@ rm -rf %{buildroot}
 %defattr(-,root,root,-)
 %{_sbindir}/ipa-server-install
 %{_sbindir}/ipa-server-setupssl
+%{_sbindir}/ipa_kpasswd
+
 
 %dir %{_usr}/share/ipa
 %{_usr}/share/ipa/*
 
+%{plugin_dir}/libipa_pwd_extop.so
+
 
 %changelog
+* Fri Aug 10 2007 Karl MacMillan <kmacmill at localhost.localdomain> - 0.1.0-3
+- Added support for ipa_kpasswd and ipa_pwd_extop
+
 * Mon Aug  5 2007 Rob Crittenden <rcritten at redhat.com> - 0.1.0-3
 - Abstracted client class to work directly or over RPC
 
diff -r c7a2e210de44 ipa-server/freeipa-server.spec.in
--- a/ipa-server/freeipa-server.spec.in	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/freeipa-server.spec.in	Fri Aug 10 07:00:18 2007 -0400
@@ -1,6 +1,6 @@ Name:           freeipa-server
 Name:           freeipa-server
 Version:        VERSION
-Release:        3%{?dist}
+Release:        %{?dist}
 Summary:        FreeIPA authentication server
 
 Group:          System Environment/Base
@@ -8,11 +8,14 @@ URL:            http://www.freeipa.org
 URL:            http://www.freeipa.org
 Source0:        %{name}-%{version}.tgz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: 	noarch
+#BuildArch: 	
 
-Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi
+BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
+
+Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss
 
 %define httpd_conf /etc/httpd/conf.d
+%define plugin_dir /usr/lib/fedora-ds/plugins
 
 %description
 FreeIPA is a server for identity, policy, and audit.
@@ -20,9 +23,14 @@ FreeIPA is a server for identity, policy
 %prep
 %setup -q
 
+%build
+
+make DESTDIR=%{buildroot}
+
 %install
 rm -rf %{buildroot}
 mkdir -p %{buildroot}%{_sbindir}
+mkdir -p %{buildroot}%{plugin_dir}
 
 make install DESTDIR=%{buildroot}
 
@@ -35,12 +43,19 @@ rm -rf %{buildroot}
 %defattr(-,root,root,-)
 %{_sbindir}/ipa-server-install
 %{_sbindir}/ipa-server-setupssl
+%{_sbindir}/ipa_kpasswd
+
 
 %dir %{_usr}/share/ipa
 %{_usr}/share/ipa/*
 
+%{plugin_dir}/libipa_pwd_extop.so
+
 
 %changelog
+* Fri Aug 10 2007 Karl MacMillan <kmacmill at localhost.localdomain> - VERSION-3
+- Added support for ipa_kpasswd and ipa_pwd_extop
+
 * Mon Aug  5 2007 Rob Crittenden <rcritten at redhat.com> - 0.1.0-3
 - Abstracted client class to work directly or over RPC
 
diff -r c7a2e210de44 ipa-server/ipa-install/Makefile
--- a/ipa-server/ipa-install/Makefile	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/ipa-install/Makefile	Fri Aug 10 06:42:06 2007 -0400
@@ -3,6 +3,7 @@ all: ;
 all: ;
 
 install:
+	-mkdir $(SBINDIR)
 	install -m 755 ipa-server-install $(SBINDIR)
 	install -m 755 ipa-server-setupssl $(SBINDIR)
 	$(MAKE) -C share $@
diff -r c7a2e210de44 ipa-server/ipa-kpasswd/Makefile
--- a/ipa-server/ipa-kpasswd/Makefile	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/ipa-kpasswd/Makefile	Fri Aug 10 06:41:06 2007 -0400
@@ -1,5 +1,22 @@ all:
-all:
-	gcc ipa_kpasswd.c -I/usr/include -lkrb5 -llber -lldap -g -o ipa_kpasswd
+PREFIX ?= $(DESTDIR)/usr
+SBIN = $(PREFIX)/sbin
+
+LDFLAGS +=-lkrb5 -llber -lldap
+CFLAGS ?= -Wall -Wshadow -O2
+
+OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
+
+all: $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o ipa_kpasswd
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
 
 install:
-	cp -f ipa_kpasswd /usr/sbin/
+	-mkdir -p $(SBIN)
+	install -m 755 ipa_kpasswd $(SBIN)
+
+clean:
+	rm -f *.o
+	rm -f ipa_kpasswd
+	rm -f *~
\ No newline at end of file
diff -r c7a2e210de44 ipa-server/ipa-slapi-plugins/Makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ipa-server/ipa-slapi-plugins/Makefile	Fri Aug 10 04:40:02 2007 -0400
@@ -0,0 +1,17 @@
+SUBDIRS=ipa-pwd-extop
+
+all:
+	@for subdir in $(SUBDIRS); do \
+		(cd $$subdir && $(MAKE) $@) || exit 1; \
+	done
+
+install:
+	@for subdir in $(SUBDIRS); do \
+		(cd $$subdir && $(MAKE) $@) || exit 1; \
+	done
+
+clean:
+	@for subdir in $(SUBDIRS); do \
+		(cd $$subdir && $(MAKE) $@) || exit 1; \
+	done
+	rm -f *~
diff -r c7a2e210de44 ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile
--- a/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile	Fri Aug 10 10:30:15 2007 -0400
+++ b/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile	Fri Aug 10 06:39:24 2007 -0400
@@ -1,5 +1,28 @@ all:
-all:
-	gcc ipa_pwd_extop.c -I/usr/include -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -I/usr/include/fedora-ds -lkrb5 -lmhash -llber -lssl -shared -g -fPIC -DPIC -Wl,-soname -Wl,libipa_pwd_extop.so -o libipa_pwd_extop.so
+PREFIX ?= $(DESTDIR)/usr
+LIBDIR = $(PREFIX)/lib/fedora-ds/plugins
+SHAREDIR = $(DESTDIR)/usr/share/ipa
+
+SONAME = libipa_pwd_extop.so
+LDFLAGS += -lkrb5 -llber -lldap -lmhash -llber -lssl
+CFLAGS ?= -Wall -Wshadow -O2
+CFLAGS += -I/usr/include/fedora-ds -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -fPIC -DPIC
+
+OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
+
+all: $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -Wl,-soname -Wl,$(SONAME) -shared -o $(SONAME)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
 
 install:
-	cp -f libipa_pwd_extop.so /usr/lib/fedora-ds/plugins/
+	-mkdir -p $(LIBDIR)
+	install -m 644 libipa_pwd_extop.so $(LIBDIR)
+	install -m 644 *.ldif $(SHAREDIR)
+
+clean:
+	rm -f *.o
+	rm -f $(SONAME)
+	rm -f *~
+
+





More information about the Freeipa-devel mailing list