3 # Sample debian/rules that uses debhelper.
5 # This file was originally written by Joey Hess and Craig Small.
6 # As a special exception, when this file is copied by dh-make into a
7 # dh-make output file, you may use that output file without restriction.
8 # This special exception was added by Craig Small in version 0.37 of dh-make.
10 # Modified to make a template file for a multi-binary package with separated
11 # build-arch and build-indep targets by Bill Allombert 2001
13 # Uncomment this to turn on verbose mode.
15 DPKG_EXPORT_BUILDFLAGS = 1
16 include /usr/share/dpkg/default.mk
24 freeradius_dir = $(CURDIR)/debian/tmp
26 mandir = /usr/share/man
27 libdir = /usr/lib/$(package)
28 logdir = /var/log/$(package)
29 pkgdocdir = /usr/share/doc/$(package)
30 raddbdir = /etc/$(package)
32 modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql dhcp
33 pkgs=$(shell dh_listpackages)
35 # This has to be exported to make some magic below work.
38 # These are used for cross-compiling and for saving the configure script
39 # from having to guess our platform (since we know it already)
40 export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
41 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
43 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
49 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
50 confflags += --build $(DEB_HOST_GNU_TYPE)
52 confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
55 # Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
56 ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
57 SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
59 SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
62 include /usr/share/quilt/quilt.make
64 config.status: configure
68 ifeq (config.sub.dist,$(wildcard config.sub.dist))
71 mv config.sub config.sub.dist
73 ifeq (config.guess.dist,$(wildcard config.guess.dist))
76 mv config.guess config.guess.dist
78 ln -s /usr/share/misc/config.sub config.sub
79 ln -s /usr/share/misc/config.guess config.guess
82 ./configure $(confflags) \
85 --disable-openssl-version-check \
91 --datadir=/usr/share \
92 --localstatedir=/var \
93 --with-raddbdir=$(raddbdir) \
94 --with-logdir=/var/log/$(package) \
97 --without-rlm_eap_tnc \
98 --with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` \
99 --with-rlm_sql_postgresql_include_dir=`pg_config --includedir` \
100 --without-rlm_eap_ikev2 \
101 --without-rlm_sql_oracle \
102 --without-rlm_sql_unixodbc
105 mv config.guess.dist config.guess
107 mv config.sub.dist config.sub
110 build: patch build-arch build-indep
112 build-arch: build-arch-stamp
113 build-arch-stamp: config.status
117 build-indep: build-indep-stamp
118 build-indep-stamp: config.status
124 rm -f build-arch-stamp build-indep-stamp
125 rm -f config.cache config.log
126 rm -f src/freeradius-devel
128 [ ! -d src/modules/lib ] || rm -fr src/modules/lib || true
129 [ ! -d src/binary ] || rm -fr src/binary || true
131 # Add here commands to clean up after the build process.
132 ifeq (Make.inc,$(wildcard Make.inc))
135 ifeq (config.sub.dist,$(wildcard config.sub.dist))
137 mv config.sub.dist config.sub
139 ifeq (config.guess.dist,$(wildcard config.guess.dist))
141 mv config.guess.dist config.guess
145 install: install-arch
147 install-arch: build-arch-stamp
151 test -d $(freeradius_dir)/usr/lib/freeradius || mkdir -p $(freeradius_dir)/usr/lib/freeradius
152 ln -fs rlm_sql.so $(freeradius_dir)/usr/lib/freeradius/librlm_sql.so
153 $(MAKE) install R=$(freeradius_dir) PACKAGE='debian'
155 # rename radius binary to play nicely with others
156 mv $(freeradius_dir)/usr/sbin/radiusd $(freeradius_dir)/usr/sbin/$(package)
157 mv $(freeradius_dir)/$(mandir)/man8/radiusd.8 $(freeradius_dir)/$(mandir)/man8/$(package).8
159 dh_install -i --sourcedir=$(freeradius_dir)
160 dh_install --sourcedir=$(freeradius_dir) -p libfreeradius3
161 dh_install --sourcedir=$(freeradius_dir) -p libfreeradius-dev
162 dh_install --sourcedir=$(freeradius_dir) -p freeradius-config
164 for mod in ${modulelist}; do \
165 pkg=$${mod##sql_} ; \
166 dh_install --sourcedir=$(freeradius_dir) -p freeradius-$$pkg ; \
167 rm -f $(freeradius_dir)/usr/lib/freeradius/rlm_$$mod*.so ; \
170 dh_install --sourcedir=$(freeradius_dir) -p freeradius-utils
171 dh_install --sourcedir=$(freeradius_dir) -p freeradius
173 dh_strip -a --dbg-package=freeradius-dbg
176 dh_shlibdeps -l$(freeradius_dir)/usr/lib/freeradius
181 dh_installchangelogs doc/ChangeLog
182 dh_installdocs -Xdebian/tmp/usr/share/doc/freeradius/ChangeLog
185 dh_installpam --name=radiusd
186 dh_installinit --noscripts
190 dh_compress -Xexamples
193 dh_gencontrol -- $(SUBSTVARS)
197 # Build architecture independant packages using the common target.
198 binary-indep: build-indep install-indep
199 $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
201 # Build architecture dependant packages using the common target.
202 binary-arch: build-arch install-arch
203 $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
205 binary: binary-arch binary-indep
206 .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch