2015-12-10 11:35:20 -06:00
|
|
|
# IPA build system cannot cope with parallel build; disable parallel build
|
|
|
|
.NOTPARALLEL:
|
|
|
|
|
2008-05-05 14:25:28 -05:00
|
|
|
include VERSION
|
|
|
|
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
SUBDIRS=asn1 daemons install ipapython ipalib
|
2016-05-13 01:40:53 -05:00
|
|
|
CLIENTDIRS=ipapython ipalib client asn1
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
CLIENTPYDIRS=ipaclient ipaplatform
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2011-01-17 03:26:19 -06:00
|
|
|
PRJ_PREFIX=freeipa
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2007-08-15 12:09:01 -05:00
|
|
|
RPMBUILD ?= $(PWD)/rpmbuild
|
2008-04-21 17:23:02 -05:00
|
|
|
TARGET ?= master
|
2007-08-15 12:09:01 -05:00
|
|
|
|
2014-06-02 00:50:12 -05:00
|
|
|
SUPPORTED_PLATFORM ?= fedora
|
2011-09-12 16:01:23 -05:00
|
|
|
|
2013-05-13 03:39:55 -05:00
|
|
|
IPA_NUM_VERSION ?= $(shell printf %d%02d%02d $(IPA_VERSION_MAJOR) $(IPA_VERSION_MINOR) $(IPA_VERSION_RELEASE))
|
2013-04-19 07:02:40 -05:00
|
|
|
|
2008-05-05 14:25:28 -05:00
|
|
|
# After updating the version in VERSION you should run the version-update
|
0000-12-31 18:09:24 -05:50
|
|
|
# target.
|
2008-05-05 14:25:28 -05:00
|
|
|
|
|
|
|
ifeq ($(IPA_VERSION_IS_GIT_SNAPSHOT),"yes")
|
2014-11-17 18:35:44 -06:00
|
|
|
DATESTR:=$(shell date -u +'%Y%m%d%H%M')
|
|
|
|
GIT_VERSION:=$(shell git show --pretty=format:"%h" --stat HEAD 2>/dev/null|head -1)
|
2008-05-05 14:25:28 -05:00
|
|
|
ifneq ($(GIT_VERSION),)
|
2014-11-17 18:35:44 -06:00
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE).$(DATESTR)GIT$(GIT_VERSION)
|
2008-05-05 14:25:28 -05:00
|
|
|
endif # in a git tree and git returned a version
|
|
|
|
endif # git
|
|
|
|
|
|
|
|
ifndef IPA_VERSION
|
2014-09-30 04:48:20 -05:00
|
|
|
ifdef IPA_VERSION_ALPHA_RELEASE
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE).alpha$(IPA_VERSION_ALPHA_RELEASE)
|
2008-05-05 14:25:28 -05:00
|
|
|
else
|
2012-11-05 02:58:45 -06:00
|
|
|
ifdef IPA_VERSION_BETA_RELEASE
|
|
|
|
IPA_VERSION=$(IPA_VERSION_MAJOR).$(IPA_VERSION_MINOR).$(IPA_VERSION_RELEASE).beta$(IPA_VERSION_BETA_RELEASE)
|
|
|
|
else
|
2008-05-05 14:25:28 -05:00
|
|
|
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
|
2012-11-05 02:58:45 -06:00
|
|
|
endif # beta
|
2014-09-30 04:48:20 -05:00
|
|
|
endif # alpha
|
2008-05-05 14:25:28 -05:00
|
|
|
endif # ipa_version
|
|
|
|
|
2014-03-13 08:39:03 -05:00
|
|
|
IPA_VENDOR_VERSION=$(IPA_VERSION)$(IPA_VENDOR_VERSION_SUFFIX)
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
TARBALL_PREFIX=freeipa-$(IPA_VERSION)
|
|
|
|
TARBALL=$(TARBALL_PREFIX).tar.gz
|
2008-02-08 10:09:06 -06:00
|
|
|
|
2008-08-08 08:35:05 -05:00
|
|
|
IPA_RPM_RELEASE=$(shell cat RELEASE)
|
|
|
|
|
0000-12-31 18:09:24 -05:50
|
|
|
LIBDIR ?= /usr/lib
|
|
|
|
|
2011-04-28 11:14:43 -05:00
|
|
|
DEVELOPER_MODE ?= 0
|
|
|
|
ifneq ($(DEVELOPER_MODE),0)
|
2016-01-15 09:58:38 -06:00
|
|
|
LINT_IGNORE_FAIL=true
|
|
|
|
else
|
|
|
|
LINT_IGNORE_FAIL=false
|
2011-04-28 11:14:43 -05:00
|
|
|
endif
|
|
|
|
|
2013-11-27 07:53:57 -06:00
|
|
|
PYTHON ?= $(shell rpm -E %__python || echo /usr/bin/python2)
|
2012-05-04 10:18:46 -05:00
|
|
|
|
2013-12-16 15:10:05 -06:00
|
|
|
CFLAGS := -g -O2 -Wall -Wextra -Wformat-security -Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers $(CFLAGS)
|
2013-12-04 11:42:36 -06:00
|
|
|
export CFLAGS
|
|
|
|
|
2013-07-31 08:12:19 -05:00
|
|
|
# Uncomment to increase Java stack size for Web UI build in case it fails
|
|
|
|
# because of stack overflow exception. Default should be OK for most platforms.
|
|
|
|
#JAVA_STACK_SIZE ?= 8m
|
|
|
|
#export JAVA_STACK_SIZE
|
|
|
|
|
2013-05-21 06:40:27 -05:00
|
|
|
all: bootstrap-autogen server tests
|
0000-12-31 18:09:24 -05:50
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
done
|
|
|
|
|
2009-10-12 15:00:00 -05:00
|
|
|
client: client-autogen
|
|
|
|
@for subdir in $(CLIENTDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) all) || exit 1; \
|
|
|
|
done
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
@for subdir in $(CLIENTPYDIRS); do \
|
|
|
|
(cd $$subdir && $(PYTHON) setup.py build); \
|
|
|
|
done
|
2009-10-12 15:00:00 -05:00
|
|
|
|
2015-11-13 00:54:12 -06:00
|
|
|
check: bootstrap-autogen server tests
|
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) check) || exit 1; \
|
|
|
|
done
|
|
|
|
|
2016-05-13 01:40:53 -05:00
|
|
|
client-check: client-autogen
|
|
|
|
@for subdir in $(CLIENTDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) check) || exit 1; \
|
|
|
|
done
|
|
|
|
|
2009-10-12 15:00:00 -05:00
|
|
|
bootstrap-autogen: version-update client-autogen
|
2008-05-05 14:25:28 -05:00
|
|
|
@echo "Building IPA $(IPA_VERSION)"
|
2014-11-17 14:19:57 -06:00
|
|
|
cd asn1; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
2011-01-13 13:29:16 -06:00
|
|
|
cd daemons; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR) --with-openldap; fi
|
2009-02-03 15:56:41 -06:00
|
|
|
cd install; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
2009-10-12 15:00:00 -05:00
|
|
|
|
|
|
|
client-autogen: version-update
|
2014-11-13 10:31:09 -06:00
|
|
|
cd asn1; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
cd client; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
2010-03-15 10:40:58 -05:00
|
|
|
cd install; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2013-08-13 11:32:36 -05:00
|
|
|
tests-man-autogen: version-update
|
|
|
|
cd ipatests/man; if [ ! -e Makefile ]; then ../../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi
|
|
|
|
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
install: all server-install tests-install client-install
|
0000-12-31 18:09:24 -05:50
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
done
|
|
|
|
|
2011-11-17 02:45:15 -06:00
|
|
|
client-install: client client-dirs
|
2009-10-12 15:00:00 -05:00
|
|
|
@for subdir in $(CLIENTDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) install) || exit 1; \
|
|
|
|
done
|
2010-03-15 10:40:58 -05:00
|
|
|
cd install/po && $(MAKE) install || exit 1;
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
@for subdir in $(CLIENTPYDIRS); do \
|
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
|
|
|
(cd $$subdir && $(PYTHON) setup.py install); \
|
|
|
|
else \
|
|
|
|
(cd $$subdir && $(PYTHON) setup.py install --root $(DESTDIR)); \
|
|
|
|
fi \
|
|
|
|
done
|
2009-10-12 15:00:00 -05:00
|
|
|
|
2011-11-17 02:45:15 -06:00
|
|
|
client-dirs:
|
|
|
|
@if [ "$(DESTDIR)" != "" ] ; then \
|
|
|
|
mkdir -p $(DESTDIR)/etc/ipa ; \
|
|
|
|
mkdir -p $(DESTDIR)/var/lib/ipa-client/sysrestore ; \
|
|
|
|
else \
|
|
|
|
echo "DESTDIR was not set, please create /etc/ipa and /var/lib/ipa-client/sysrestore" ; \
|
|
|
|
echo "Without those directories ipa-client-install will fail" ; \
|
|
|
|
fi
|
|
|
|
|
2012-04-16 14:51:42 -05:00
|
|
|
lint: bootstrap-autogen
|
2016-01-15 09:58:38 -06:00
|
|
|
# find all python modules and executable python files outside modules for pylint check
|
|
|
|
FILES=`find . \
|
|
|
|
-type d -exec test -e '{}/__init__.py' \; -print -prune -o \
|
|
|
|
-name \*.py -print -o \
|
|
|
|
-type f \! -path '*/.*' \! -name '*~' -exec grep -qsm1 '^#!.*\bpython' '{}' \; -print`; \
|
|
|
|
echo "Pylint is running, please wait ..."; \
|
|
|
|
PYTHONPATH=. pylint --rcfile=pylintrc $(PYLINTFLAGS) $$FILES || $(LINT_IGNORE_FAIL)
|
|
|
|
$(MAKE) -C install/po validate-src-strings || $(LINT_IGNORE_FAIL)
|
2012-04-16 14:51:42 -05:00
|
|
|
|
2011-04-11 08:39:38 -05:00
|
|
|
|
2007-09-04 12:22:45 -05:00
|
|
|
test:
|
2009-02-03 14:03:17 -06:00
|
|
|
./make-test
|
2007-09-04 12:22:45 -05:00
|
|
|
|
2008-08-08 08:35:05 -05: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 03:26:19 -06:00
|
|
|
freeipa.spec.in > freeipa.spec
|
2009-02-02 12:50:53 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ version.m4.in \
|
|
|
|
> version.m4
|
2009-02-05 14:03:08 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipapython/setup.py.in \
|
|
|
|
> ipapython/setup.py
|
2014-06-02 00:50:12 -05:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipaplatform/setup.py.in \
|
|
|
|
> ipaplatform/setup.py
|
2015-11-03 09:39:40 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipalib/setup.py.in \
|
|
|
|
> ipalib/setup.py
|
2009-02-05 14:03:08 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipapython/version.py.in \
|
|
|
|
> ipapython/version.py
|
2013-05-21 06:40:27 -05:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipatests/setup.py.in \
|
|
|
|
> ipatests/setup.py
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ ipaclient/setup.py.in \
|
|
|
|
> ipaclient/setup.py
|
2013-08-29 08:19:02 -05:00
|
|
|
sed -e s/__NUM_VERSION__/$(IPA_NUM_VERSION)/ install/ui/src/libs/loader.js.in \
|
|
|
|
> install/ui/src/libs/loader.js
|
2016-04-22 03:40:11 -05:00
|
|
|
sed -i -e "s:__API_VERSION__:$(IPA_API_VERSION_MAJOR).$(IPA_API_VERSION_MINOR):" install/ui/src/libs/loader.js
|
|
|
|
sed -i -e "s:__NUM_VERSION__:$(IPA_NUM_VERSION):" ipapython/version.py
|
|
|
|
sed -i -e "s:__VENDOR_VERSION__:$(IPA_VENDOR_VERSION):" ipapython/version.py
|
|
|
|
sed -i -e "s:__API_VERSION__:$(IPA_API_VERSION_MAJOR).$(IPA_API_VERSION_MINOR):" ipapython/version.py
|
2013-08-13 01:10:01 -05:00
|
|
|
touch -r ipapython/version.py.in ipapython/version.py
|
2010-06-24 09:31:52 -05:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ daemons/ipa-version.h.in \
|
|
|
|
> daemons/ipa-version.h
|
2016-04-22 03:40:11 -05:00
|
|
|
sed -i -e "s:__NUM_VERSION__:$(IPA_NUM_VERSION):" daemons/ipa-version.h
|
|
|
|
sed -i -e "s:__DATA_VERSION__:$(IPA_DATA_VERSION):" daemons/ipa-version.h
|
0000-12-31 18:09:24 -05:50
|
|
|
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
sed -e s/__VERSION__/$(IPA_VERSION)/ client/version.m4.in \
|
|
|
|
> client/version.m4
|
2011-09-12 16:01:23 -05:00
|
|
|
|
2014-06-03 05:35:53 -05:00
|
|
|
if [ "$(SUPPORTED_PLATFORM)" != "" ]; then \
|
2015-04-10 08:42:58 -05:00
|
|
|
sed -e s/__PLATFORM__/$(SUPPORTED_PLATFORM)/ \
|
|
|
|
ipaplatform/__init__.py.in > ipaplatform/__init__.py; \
|
2015-07-02 05:38:43 -05:00
|
|
|
rm -f ipaplatform/paths.py ipaplatform/services.py ipaplatform/tasks.py ipaplatform/constants.py; \
|
2014-06-03 05:35:53 -05:00
|
|
|
ln -s $(SUPPORTED_PLATFORM)/paths.py ipaplatform/paths.py; \
|
|
|
|
ln -s $(SUPPORTED_PLATFORM)/services.py ipaplatform/services.py; \
|
|
|
|
ln -s $(SUPPORTED_PLATFORM)/tasks.py ipaplatform/tasks.py; \
|
2015-07-02 05:38:43 -05:00
|
|
|
ln -s $(SUPPORTED_PLATFORM)/constants.py ipaplatform/constants.py; \
|
2014-06-03 05:35:53 -05:00
|
|
|
fi
|
|
|
|
|
2011-01-13 13:29:16 -06:00
|
|
|
if [ "$(SKIP_API_VERSION_CHECK)" != "yes" ]; then \
|
2016-04-29 09:28:28 -05:00
|
|
|
./makeapi --validate && \
|
2014-06-09 12:12:46 -05:00
|
|
|
./makeaci --validate; \
|
2011-01-13 13:29:16 -06:00
|
|
|
fi
|
2007-08-16 17:00:16 -05:00
|
|
|
|
2011-06-17 03:58:01 -05:00
|
|
|
server: version-update
|
2012-05-04 10:18:46 -05:00
|
|
|
$(PYTHON) setup.py build
|
2014-09-17 04:49:51 -05:00
|
|
|
cd ipaplatform && $(PYTHON) setup.py build
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
server-install: server
|
2009-10-12 15:00:00 -05:00
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
2012-05-04 10:18:46 -05:00
|
|
|
$(PYTHON) setup.py install; \
|
2014-09-17 04:49:51 -05:00
|
|
|
(cd ipaplatform && $(PYTHON) setup.py install); \
|
2009-02-02 12:50:53 -06:00
|
|
|
else \
|
2012-05-04 10:18:46 -05:00
|
|
|
$(PYTHON) setup.py install --root $(DESTDIR); \
|
2014-09-17 04:49:51 -05:00
|
|
|
(cd ipaplatform && $(PYTHON) setup.py install --root $(DESTDIR)); \
|
2009-02-02 12:50:53 -06:00
|
|
|
fi
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2013-08-13 11:32:36 -05:00
|
|
|
tests: version-update tests-man-autogen
|
2013-05-21 06:40:27 -05:00
|
|
|
cd ipatests; $(PYTHON) setup.py build
|
2013-08-13 11:32:36 -05:00
|
|
|
cd ipatests/man && $(MAKE) all
|
2013-05-21 06:40:27 -05:00
|
|
|
|
|
|
|
tests-install: tests
|
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
|
|
|
cd ipatests; $(PYTHON) setup.py install; \
|
|
|
|
else \
|
|
|
|
cd ipatests; $(PYTHON) setup.py install --root $(DESTDIR); \
|
|
|
|
fi
|
2013-08-13 11:32:36 -05:00
|
|
|
cd ipatests/man && $(MAKE) install
|
2013-05-21 06:40:27 -05:00
|
|
|
|
0000-12-31 18:09:24 -05:50
|
|
|
archive:
|
0000-12-31 18:09:24 -05:50
|
|
|
-mkdir -p dist
|
2008-04-21 17:23:02 -05:00
|
|
|
git archive --format=tar --prefix=ipa/ $(TARGET) | (cd dist && tar xf -)
|
0000-12-31 18:09:24 -05:50
|
|
|
|
0000-12-31 18:09:24 -05:50
|
|
|
local-archive:
|
2009-02-02 12:50:53 -06:00
|
|
|
-mkdir -p dist/$(TARBALL_PREFIX)
|
2012-11-23 10:19:37 -06:00
|
|
|
rsync -a --exclude=dist --exclude=.git --exclude=/build --exclude=rpmbuild . dist/$(TARBALL_PREFIX)
|
0000-12-31 18:09:24 -05:50
|
|
|
|
|
|
|
archive-cleanup:
|
2009-02-02 12:50:53 -06:00
|
|
|
rm -fr dist/freeipa
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
tarballs: local-archive
|
2008-02-21 09:23:29 -06:00
|
|
|
-mkdir -p dist/sources
|
2009-02-02 12:50:53 -06:00
|
|
|
# tar up clean sources
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
cd dist/$(TARBALL_PREFIX)/client; ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); make distclean
|
2009-02-03 15:56:41 -06: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 12:50:53 -06:00
|
|
|
cd dist; tar cfz sources/$(TARBALL) $(TARBALL_PREFIX)
|
|
|
|
rm -rf dist/$(TARBALL_PREFIX)
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2007-08-15 12:09:01 -05:00
|
|
|
rpmroot:
|
2011-12-09 03:00:27 -06:00
|
|
|
rm -rf $(RPMBUILD)
|
2007-08-15 12:09:01 -05:00
|
|
|
mkdir -p $(RPMBUILD)/BUILD
|
|
|
|
mkdir -p $(RPMBUILD)/RPMS
|
|
|
|
mkdir -p $(RPMBUILD)/SOURCES
|
|
|
|
mkdir -p $(RPMBUILD)/SPECS
|
|
|
|
mkdir -p $(RPMBUILD)/SRPMS
|
|
|
|
|
2008-02-21 09:23:29 -06:00
|
|
|
rpmdistdir:
|
|
|
|
mkdir -p dist/rpms
|
|
|
|
mkdir -p dist/srpms
|
|
|
|
|
2011-04-28 11:14:43 -05:00
|
|
|
rpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-02-02 12:50:53 -06:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 03:26:19 -06:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -ba freeipa.spec
|
2011-12-07 18:04:55 -06:00
|
|
|
cp $(RPMBUILD)/RPMS/*/$(PRJ_PREFIX)-*-$(IPA_VERSION)-*.rpm dist/rpms/
|
2015-11-03 09:39:40 -06:00
|
|
|
cp $(RPMBUILD)/RPMS/*/python?-ipa*-$(IPA_VERSION)-*.rpm dist/rpms/
|
2011-12-07 18:04:55 -06:00
|
|
|
cp $(RPMBUILD)/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
|
|
|
rm -rf $(RPMBUILD)
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2011-04-28 11:14:43 -05:00
|
|
|
client-rpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-10-12 15:00:00 -05:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 03:26:19 -06:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" --define "ONLY_CLIENT 1" -ba freeipa.spec
|
2011-12-07 18:04:55 -06:00
|
|
|
cp $(RPMBUILD)/RPMS/*/$(PRJ_PREFIX)-*-$(IPA_VERSION)-*.rpm dist/rpms/
|
2015-11-03 09:39:40 -06:00
|
|
|
cp $(RPMBUILD)/RPMS/*/python?-ipa*-$(IPA_VERSION)-*.rpm dist/rpms/
|
2011-12-07 18:04:55 -06:00
|
|
|
cp $(RPMBUILD)/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
|
|
|
rm -rf $(RPMBUILD)
|
2009-10-12 15:00:00 -05:00
|
|
|
|
2011-04-28 11:14:43 -05:00
|
|
|
srpms: rpmroot rpmdistdir version-update lint tarballs
|
2009-05-07 16:37:29 -05:00
|
|
|
cp dist/sources/$(TARBALL) $(RPMBUILD)/SOURCES/.
|
2011-01-17 03:26:19 -06:00
|
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -bs freeipa.spec
|
2011-12-07 18:04:55 -06:00
|
|
|
cp $(RPMBUILD)/SRPMS/$(PRJ_PREFIX)-$(IPA_VERSION)-*.src.rpm dist/srpms/
|
|
|
|
rm -rf $(RPMBUILD)
|
2009-05-07 16:37:29 -05:00
|
|
|
|
|
|
|
|
2008-02-21 09:23:29 -06:00
|
|
|
repodata:
|
|
|
|
-createrepo -p dist
|
|
|
|
|
|
|
|
dist: version-update archive tarballs archive-cleanup rpms repodata
|
0000-12-31 18:09:24 -05:50
|
|
|
|
2009-02-03 15:56:41 -06:00
|
|
|
local-dist: bootstrap-autogen clean local-archive tarballs archive-cleanup rpms
|
0000-12-31 18:09:24 -05:50
|
|
|
|
|
|
|
|
2008-08-08 08:35:05 -05:00
|
|
|
clean: version-update
|
0000-12-31 18:09:24 -05:50
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
done
|
|
|
|
rm -f *~
|
|
|
|
|
2008-08-08 08:35:05 -05:00
|
|
|
distclean: version-update
|
2009-10-12 15:00:00 -05:00
|
|
|
touch daemons/NEWS daemons/README daemons/AUTHORS daemons/ChangeLog
|
|
|
|
touch install/NEWS install/README install/AUTHORS install/ChangeLog
|
0000-12-31 18:09:24 -05:50
|
|
|
@for subdir in $(SUBDIRS); do \
|
|
|
|
(cd $$subdir && $(MAKE) $@) || exit 1; \
|
|
|
|
done
|
2011-12-07 18:04:55 -06:00
|
|
|
rm -fr $(RPMBUILD) dist build
|
2009-10-12 15:00:00 -05:00
|
|
|
rm -f daemons/NEWS daemons/README daemons/AUTHORS daemons/ChangeLog
|
|
|
|
rm -f install/NEWS install/README install/AUTHORS install/ChangeLog
|
0000-12-31 18:09:24 -05:50
|
|
|
|
0000-12-31 18:09:24 -05:50
|
|
|
maintainer-clean: clean
|
2011-12-07 18:04:55 -06:00
|
|
|
rm -fr $(RPMBUILD) dist build
|
2009-02-02 12:50:53 -06:00
|
|
|
cd daemons && $(MAKE) maintainer-clean
|
|
|
|
cd install && $(MAKE) maintainer-clean
|
Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts)
Make ipaclient a Python library like ipapython, ipalib, etc.
Use setup.py instead of autotools for installing it.
Move C client tools, Python scripts, and man pages, to client/.
Remove old, empty or outdated, boilerplate files (NEWS, README, AUTHORS).
Remove /setup-client.py (ipalib/setup.py should be used instead).
Update Makefiles and the spec file accordingly.
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2016-01-14 07:15:49 -06:00
|
|
|
cd client && $(MAKE) maintainer-clean
|
2009-02-05 14:03:08 -06:00
|
|
|
cd ipapython && $(MAKE) maintainer-clean
|
2009-02-02 12:50:53 -06:00
|
|
|
rm -f version.m4
|
2011-01-17 03:26:19 -06:00
|
|
|
rm -f freeipa.spec
|