[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