freeipa/debian/rules
2014-10-14 13:47:46 +03:00

104 lines
3.6 KiB
Makefile
Executable File

#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
ONLY_CLIENT=0
DESTDIR=$(CURDIR)/debian/tmp
PLATFORM="SUPPORTED_PLATFORM=debian"
# For maintainer use only, generate a tarball:
SOURCE = freeipa
gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//')
gentarball:
git archive --format=tar experimental --prefix=$(SOURCE)-$(UV)/ | xz --best > ../$(SOURCE)_$(UV).orig.tar.xz
override_dh_auto_clean:
for i in daemons install ipapython ipaserver ipa-client; do \
(cd $$i && [ ! -f Makefile ] || $(MAKE) distclean); \
(cd $$i && rm -f COPYING INSTALL depcomp install-sh missing py-compile config.guess config.sub aclocal.m4 config.h.in version.m4); \
done
find . -name "*.pyo" -o -name "*.pyc" -type f -exec rm -f "{}" \;
find . -name "ltmain.sh" -exec rm -f "{}" \;
find . -name "configure" -exec rm -f "{}" \;
rm -rf daemons/ipa-version.h freeipa.spec freeipa.egg-info ipa-client/ipa-client.spec version.m4
rm -rf ipapython/build RELEASE build
override_dh_autoreconf:
make IPA_VERSION_IS_GIT_SNAPSHOT=no version-update
dh_autoreconf; cd ..
override_dh_auto_configure:
dh_auto_configure -Dipa-client
ifneq ($(ONLY_CLIENT), 1)
dh_auto_configure -Ddaemons -- \
--with-openldap \
--with-systemdsystemunitdir=/lib/systemd/system
dh_auto_configure -Dinstall
endif
override_dh_auto_build:
ifneq ($(ONLY_CLIENT), 1)
make $(PLATFORM) IPA_VERSION_IS_GIT_SNAPSHOT=no all
# cd selinux ; make all
else
make $(PLATFORM) IPA_VERSION_IS_GIT_SNAPSHOT=no client
endif
# tests would just fail, they need a proper environment with 389 running et al
override_dh_auto_test:
override_dh_auto_install:
ifneq ($(ONLY_CLIENT), 1)
# Force re-generate of platform support
rm -f ipapython/services.py
make $(PLATFORM) IPA_VERSION_IS_GIT_SNAPSHOT=no install DESTDIR=$(DESTDIR)
# cd selinux
# make $(PLATFORM) IPA_VERSION_IS_GIT_SNAPSHOT=no install DESTDIR=$(DESTDIR)
cd ..
chmod 755 $(DESTDIR)/usr/lib/*/ipa/certmonger/*
rm -f $(DESTDIR)/usr/share/ipa/ui/js/dojo/dojo.js \
$(DESTDIR)/usr/share/ipa/ui/js/libs/jquery.js
ln -s /usr/share/javascript/dojo/dojo.js $(DESTDIR)/usr/share/ipa/ui/js/dojo/dojo.js
ln -s /usr/share/javascript/jquery/jquery.js $(DESTDIR)/usr/share/ipa/ui/js/libs/jquery.js
mkdir -m 700 $(DESTDIR)/var/lib/ipa/backup
mkdir -p $(DESTDIR)/etc/apache2/conf-enabled \
$(DESTDIR)/etc/bash_completion.d \
$(DESTDIR)/etc/default \
$(DESTDIR)/usr/share/ipa/html
touch $(DESTDIR)/etc/apache2/conf-enabled/ipa.conf
touch $(DESTDIR)/etc/apache2/conf-enabled/ipa-pki-proxy.conf
touch $(DESTDIR)/etc/apache2/conf-enabled/ipa-rewrite.conf
touch $(DESTDIR)/usr/share/ipa/html/krb5.ini
install -m 0644 contrib/completion/ipa.bash_completion $(DESTDIR)/etc/bash_completion.d/ipa
install -m 0644 init/ipa_memcached.conf $(DESTDIR)/etc/default/ipa-memcached
install -m 0644 init/systemd/ipa_memcached.service $(DESTDIR)/lib/systemd/system
install -m 0644 init/systemd/ipa.service $(DESTDIR)/lib/systemd/system
install -m 0755 debian/generate-rndc-key.sh $(DESTDIR)/usr/share/ipa
else
make $(PLATFORM) IPA_VERSION_IS_GIT_SNAPSHOT=no client-install DESTDIR=$(DESTDIR)
endif
# purge .la files
find $(CURDIR)/debian/tmp -name "*.la" -type f -exec rm -f "{}" \;
# purge precompiled .pyc/.pyo files
find $(CURDIR)/debian/tmp -name '*.py[c,o]' -exec rm '{}' ';'
# fix permissions
find $(CURDIR)/debian/tmp -name "*.mo" -type f -exec chmod -x "{}" \;
# tmpfiles.d
mkdir -p $(CURDIR)/debian/tmp/usr/lib/tmpfiles.d
install -m 0644 $(CURDIR)/init/systemd/ipa.conf.tmpfiles \
$(CURDIR)/debian/tmp/usr/lib/tmpfiles.d/freeipa.conf
override_dh_install:
dh_install --fail-missing
%:
dh $@ --with autoreconf,python2,systemd