2008-05-05 15:25:28 -04:00
|
|
|
include VERSION
|
|
|
|
|
|
2009-03-04 14:07:27 -05:00
|
|
|
SUBDIRS=daemons install ipapython ipa-client
|
2009-10-12 16:00:00 -04:00
|
|
|
CLIENTDIRS=ipapython ipa-client
|
|
|
|
|
|
2011-01-17 10:26:19 +01:00
|
|
|
PRJ_PREFIX=freeipa
|
|
|
|
|
|
2007-08-15 13:09:01 -04:00
|
|
|
RPMBUILD ?= $(PWD)/rpmbuild
|
2008-04-21 18:23:02 -04:00
|
|
|
TARGET ?= master
|
2007-08-15 13:09:01 -04:00
|
|
|
|
2008-05-05 15:25:28 -04:00
|
|
|
# After updating the version in VERSION you should run the version-update
|
|
|
|
|
# target.
|
2008-05-05 15:25:28 -04:00
|
|
|
|
|
|
|
|
ifeq ($(IPA_VERSION_IS_GIT_SNAPSHOT),"yes")
|
|
|
|
|
GIT_VERSION=$(shell git show --pretty=format:"%h" --stat HEAD 2>/dev/null|head -1)
|
|
|
|
|
ifneq ($(GIT_VERSION),)
|
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE)GIT$(GIT_VERSION)
|
|
|
|
|
endif # in a git tree and git returned a version
|
|
|
|
|
endif # git
|
|
|
|
|
|
|
|
|
|
ifndef IPA_VERSION
|
|
|
|
|
ifdef IPA_VERSION_PRE_RELEASE
|
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE).pre$(IPA_VERSION_PRE_RELEASE)
|
|
|
|
|
else
|
|
|
|
|
ifdef IPA_VERSION_RC_RELEASE
|
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE).rc$(IPA_VERSION_RC_RELEASE)
|
|
|
|
|
else
|
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE)
|
|
|
|
|
endif # rc
|
|
|
|
|
endif # pre
|
|
|
|
|
endif # ipa_version
|
|
|
|
|
|
2009-02-02 13:50:53 -05:00
|
|
|
TARBALL_PREFIX=freeipa-$(IPA_VERSION)
|
|
|
|
|
TARBALL=$(TARBALL_PREFIX).tar.gz
|
2008-02-08 11:09:06 -05:00
|
|
|
|
2008-08-08 09:35:05 -04:00
|
|
|
IPA_RPM_RELEASE=$(shell cat RELEASE)
|
|
|
|
|
|
|
|
|
|
LIBDIR ?= /usr/lib
|
|
|
|
|
|
2011-04-28 18:14:43 +02:00
|
|
|
DEVELOPER_MODE ?= 0
|
|
|
|
|
ifneq ($(DEVELOPER_MODE),0)
|
|
|
|
|
LINT_OPTIONS=--no-fail
|
|
|
|
|
endif
|
|
|
|
|
|
2009-02-02 13:50:53 -05:00
|
|
|
all: bootstrap-autogen server
|
|
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
|
done
|
|
|
|
|
|
2009-10-12 16:00:00 -04:00
|
|
|
client: client-autogen
|
|
|
|
|
@for subdir in $(CLIENTDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) all) || exit 1; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
bootstrap-autogen: version-update client-autogen
|
2008-05-05 15:25:28 -04:00
|
|
|
@echo "Building IPA $(IPA_VERSION)"
|
2011-01-13 14:29:16 -05:00
|
|
|
cd daemons; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR) --with-openldap; fi
|
2009-02-03 16:56:41 -05:00
|
|
|
cd install; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
2009-10-12 16:00:00 -04:00
|
|
|
|
|
|
|
|
client-autogen: version-update
|
2010-06-02 14:54:58 -04:00
|
|
|
cd ipa-client; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
2010-03-15 11:40:58 -04:00
|
|
|
cd install; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
|
|
|
|
|
2009-02-02 13:50:53 -05:00
|
|
|
install: all server-install
|
|
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
|
done
|
|
|
|
|
|
2009-10-12 16:00:00 -04:00
|
|
|
client-install: client
|
|
|
|
|
@for subdir in $(CLIENTDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) install) || exit 1; \
|
|
|
|
|
done
|
2010-03-15 11:40:58 -04:00
|
|
|
cd install/po && $(MAKE) install || exit 1;
|
2009-10-12 16:00:00 -04:00
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
|
|
|
|
python setup-client.py install; \
|
|
|
|
|
else \
|
|
|
|
|
python setup-client.py install --root $(DESTDIR); \
|
|
|
|
|
fi
|
|
|
|
|
|
2011-04-11 15:39:38 +02:00
|
|
|
lint:
|
2011-04-28 18:14:43 +02:00
|
|
|
./make-lint $(LINT_OPTIONS)
|
2011-04-11 15:39:38 +02:00
|
|
|
|
2007-09-04 10:22:45 -07:00
|
|
|
test:
|
2010-04-16 10:58:48 -04:00
|
|
|
$(MAKE) -C install/po test_lang
|
2011-04-26 16:45:19 -04:00
|
|
|
./make-testcert
|
2009-02-03 15:03:17 -05:00
|
|
|
./make-test
|
2007-09-04 10:22:45 -07:00
|
|
|
|
2008-08-08 09:35:05 -04:00
|
|
|
release-update:
|
|
|
|
|
if [ ! -e RELEASE ]; then echo 0 > RELEASE; fi
|
|
|
|
|
|
|
|
|
|
version-update: release-update
|
|
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ -e s/__RELEASE__/$(IPA_RPM_RELEASE)/ \
|
2011-01-17 10:26:19 +01:00
|
|
|
freeipa.spec.in > freeipa.spec
|
2009-02-02 13:50:53 -05:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ version.m4.in \
|
|
|
|
|
> version.m4
|
|
|
|
|
|
2009-02-05 15:03:08 -05:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipapython/setup.py.in \
|
|
|
|
|
> ipapython/setup.py
|
|
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipapython/version.py.in \
|
|
|
|
|
> ipapython/version.py
|
|
|
|
|
perl -pi -e "s:__NUM_VERSION__:$(IPA_VERSION_MAJOR)$(IPA_VERSION_MINOR)$(IPA_VERSION_RELEASE):" ipapython/version.py
|
2011-01-13 14:29:16 -05:00
|
|
|
perl -pi -e "s:__API_VERSION__:$(IPA_API_VERSION_MAJOR).$(IPA_API_VERSION_MINOR):" ipapython/version.py
|
2010-06-24 10:31:52 -04:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ daemons/ipa-version.h.in \
|
|
|
|
|
> daemons/ipa-version.h
|
|
|
|
|
perl -pi -e "s:__NUM_VERSION__:$(IPA_VERSION_MAJOR)$(IPA_VERSION_MINOR)$(IPA_VERSION_RELEASE):" daemons/ipa-version.h
|
|
|
|
|
perl -pi -e "s:__DATA_VERSION__:$(IPA_DATA_VERSION):" daemons/ipa-version.h
|
|
|
|
|
|
2008-08-08 09:35:05 -04:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ -e s/__RELEASE__/$(IPA_RPM_RELEASE)/ \
|
|
|
|
|
ipa-client/ipa-client.spec.in > ipa-client/ipa-client.spec
|
|
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipa-client/version.m4.in \
|
|
|
|
|
> ipa-client/version.m4
|
2011-01-13 14:29:16 -05:00
|
|
|
if [ "$(SKIP_API_VERSION_CHECK)" != "yes" ]; then \
|
|
|
|
|
./makeapi --validate; \
|
|
|
|
|
fi
|
2007-08-16 18:00:16 -04:00
|
|
|
|
2011-06-17 10:58:01 +02:00
|
|
|
server: version-update
|
2009-02-02 13:50:53 -05:00
|
|
|
python setup.py build
|
|
|
|
|
|
2009-02-02 13:50:53 -05:00
|
|
|
server-install: server
|
2009-10-12 16:00:00 -04:00
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
2009-02-02 13:50:53 -05:00
|
|
|
python setup.py install; \
|
|
|
|
|
else \
|
|
|
|
|
python setup.py install --root $(DESTDIR); \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
archive:
|
|
|
|
|
-mkdir -p dist
|
2008-04-21 18:23:02 -04:00
|
|
|
git archive --format=tar --prefix=ipa/ $(TARGET) | (cd dist && tar xf -)
|
|
|
|
|
|
|
|
|
|
local-archive:
|
2009-02-02 13:50:53 -05:00
|
|
|
-mkdir -p dist/$(TARBALL_PREFIX)
|
|
|
|
|
rsync -a --exclude=dist --exclude=.git --exclude=build --exclude=rpmbuild . dist/$(TARBALL_PREFIX)
|
|
|
|
|
|
|
|
|
|
archive-cleanup:
|
2009-02-02 13:50:53 -05:00
|
|
|
rm -fr dist/freeipa
|
|
|
|
|
|
2009-02-02 13:50:53 -05:00
|
|
|
tarballs: local-archive
|
2008-02-21 15:23:29 +00:00
|
|
|
-mkdir -p dist/sources
|
2009-02-02 13:50:53 -05:00
|
|
|
# tar up clean sources
|
2010-06-02 14:54:58 -04:00
|
|
|
cd dist/$(TARBALL_PREFIX)/ipa-client; ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); make distclean
|
2009-02-03 16:56:41 -05:00
|
|
|
cd dist/$(TARBALL_PREFIX)/daemons; ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); make distclean
|
|
|
|
|
cd dist/$(TARBALL_PREFIX)/install; ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); make distclean
|
2009-02-02 13:50:53 -05:00
|
|
|
cd dist; tar cfz sources/$(TARBALL) $(TARBALL_PREFIX)
|
|
|
|
|
rm -rf dist/$(TARBALL_PREFIX)
|
|
|
|
|
|
2007-08-15 13:09:01 -04:00
|
|
|
rpmroot:
|
|
|
|
|
mkdir -p $(RPMBUILD)/BUILD
|
|
|
|
|
mkdir -p $(RPMBUILD)/RPMS
|
|
|
|
|
mkdir -p $(RPMBUILD)/SOURCES
|
|
|
|
|
mkdir -p $(RPMBUILD)/SPECS
|
|
|
|
|
mkdir -p $(RPMBUILD)/SRPMS
|
|
|
|
|
|
2008-02-21 15:23:29 +00:00
|
|
|
rpmdistdir:
|
|
|
|
|
mkdir -p dist/rpms
|
|
|
|
|
mkdir -p dist/srpms
|
|
|
|
|
|
2011-04-28 18:14:43 +02:00
|
|
|
rpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-02-02 13:50:53 -05:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 10:26:19 +01:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -ba freeipa.spec
|
2009-02-02 13:50:53 -05:00
|
|
|
cp rpmbuild/RPMS/*/$(PRJ_PREFIX)-*-$(IPA_VERSION)-*.rpm dist/rpms/
|
|
|
|
|
cp rpmbuild/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
2009-02-04 10:52:14 -05:00
|
|
|
rm -rf rpmbuild
|
|
|
|
|
|
2011-04-28 18:14:43 +02:00
|
|
|
client-rpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-10-12 16:00:00 -04:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 10:26:19 +01:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" --define "ONLY_CLIENT 1" -ba freeipa.spec
|
2009-10-12 16:00:00 -04:00
|
|
|
cp rpmbuild/RPMS/*/$(PRJ_PREFIX)-*-$(IPA_VERSION)-*.rpm dist/rpms/
|
|
|
|
|
cp rpmbuild/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
|
|
|
|
rm -rf rpmbuild
|
|
|
|
|
|
2011-04-28 18:14:43 +02:00
|
|
|
srpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-05-07 15:37:29 -06:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 10:26:19 +01:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -bs freeipa.spec
|
2009-05-07 15:37:29 -06:00
|
|
|
cp rpmbuild/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
|
|
|
|
rm -rf rpmbuild
|
|
|
|
|
|
|
|
|
|
|
2008-02-21 15:23:29 +00:00
|
|
|
repodata:
|
|
|
|
|
-createrepo -p dist
|
|
|
|
|
|
|
|
|
|
dist: version-update archive tarballs archive-cleanup rpms repodata
|
|
|
|
|
|
2009-02-03 16:56:41 -05:00
|
|
|
local-dist: bootstrap-autogen clean local-archive tarballs archive-cleanup rpms
|
|
|
|
|
|
|
|
|
|
|
2008-08-08 09:35:05 -04:00
|
|
|
clean: version-update
|
|
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
|
done
|
|
|
|
|
rm -f *~
|
|
|
|
|
|
2008-08-08 09:35:05 -04:00
|
|
|
distclean: version-update
|
2009-10-12 16:00:00 -04:00
|
|
|
touch daemons/NEWS daemons/README daemons/AUTHORS daemons/ChangeLog
|
|
|
|
|
touch install/NEWS install/README install/AUTHORS install/ChangeLog
|
|
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
|
done
|
2009-02-02 13:50:53 -05:00
|
|
|
rm -fr rpmbuild dist build
|
2009-10-12 16:00:00 -04:00
|
|
|
rm -f daemons/NEWS daemons/README daemons/AUTHORS daemons/ChangeLog
|
|
|
|
|
rm -f install/NEWS install/README install/AUTHORS install/ChangeLog
|
|
|
|
|
|
|
|
|
|
maintainer-clean: clean
|
2009-02-02 13:50:53 -05:00
|
|
|
rm -fr rpmbuild dist build
|
|
|
|
|
cd selinux && $(MAKE) maintainer-clean
|
|
|
|
|
cd daemons && $(MAKE) maintainer-clean
|
|
|
|
|
cd install && $(MAKE) maintainer-clean
|
|
|
|
|
cd ipa-client && $(MAKE) maintainer-clean
|
2009-02-05 15:03:08 -05:00
|
|
|
cd ipapython && $(MAKE) maintainer-clean
|
2009-02-02 13:50:53 -05:00
|
|
|
rm -f version.m4
|
2011-01-17 10:26:19 +01:00
|
|
|
rm -f freeipa.spec
|