File: rules

package info (click to toggle)
xtables-addons 2.6-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,296 kB
  • ctags: 1,415
  • sloc: sh: 11,559; ansic: 10,329; perl: 186; makefile: 121
file content (77 lines) | stat: -rwxr-xr-x 2,739 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

PKD  = $(abspath $(dir $(MAKEFILE_LIST)))
# Package version
pver := $(shell dpkg-parsechangelog -l$(PKD)/changelog | sed -ne 's,^Version: *\([0-9.]*\).*,\1,p')

DCFG := debian/xtables-addons-dkms.dkms
TMPSRC := debian/temp.src

# '--with autotools_dev' may be used instead of '--with autoreconf' but not together
%:
	dh $@ --with dkms --with autoreconf


override_dh_clean:
	$(RM) -r $(TMPSRC)
	dh_clean *.8 *.man .manpages.lst extensions/*/Makefile $(DCFG) config.log \
          extensions/.*.oo.d extensions/ACCOUNT/.*.oo.d extensions/pknock/.*.oo.d

override_dh_auto_configure:
	[ -d /lib/modules/`uname -r`/build ] \
	&& dh_auto_configure \
	|| dh_auto_configure -- --without-kbuild

override_dh_auto_build:
	## prepare sources for DKMS and source packages
	mkdir -p $(TMPSRC) \
	&& cp -r build-aux extensions geoip m4 configure.ac *.in config.h aclocal.m4 mconfig Makefile Makefile.* $(TMPSRC) \
	&& find $(TMPSRC) -name ".gitignore" -delete
	## continue with build
	dh_auto_build

SRC_MOD := debian/xtables-addons-source/usr/src/modules
SRC_DKMS := debian/xtables-addons-dkms/usr/src
override_dh_auto_install: $(DCFG)
	## prepare module sources
	mkdir -p $(TMPSRC)/debian \
	&& cp debian/changelog debian/copyright debian/compat \
		debian/control.modules.in debian/control $(TMPSRC)/debian/ \
	&& cp debian/rules.modules $(TMPSRC)/debian/rules
	mkdir -p $(SRC_MOD) \
	&& mv $(TMPSRC) $(SRC_MOD)/xtables-addons \
	&& cd debian/xtables-addons-source/usr/src \
	&& tar cjf xtables-addons.tar.bz2 modules \
	&& $(RM) -r modules/xtables-addons/debian
	## prepare DKMS sources
	mkdir -p $(SRC_DKMS) \
	&& mv $(SRC_MOD)/xtables-addons $(SRC_DKMS)/xtables-addons-$(pver) \
	&& $(RM) -r $(SRC_MOD)
	## continue with install
	dh_auto_install


DKMS_MODS=$(shell find . -name "*.ko" -print | sort | sed 's|.*/\([^/]*\)\.ko|\1|')

$(DCFG):
	sed -e 's/__VERSION__/$(pver)/g' $(DCFG).in > $(DCFG)
	# use the list of generated modules (if not empty) to create a dkms config file.
	[ -n "${DKMS_MODS}" ] \
	&& sed -i -e '/####/,$$d' $(DCFG) \
	&& ( value=0; for module_name in $(DKMS_MODS); \
	do echo "BUILT_MODULE_LOCATION[$$value]=\"\" \
			\nBUILT_MODULE_NAME[$$value]=\"$$module_name\" \
			\nDEST_MODULE_LOCATION[$$value]=\"/updates\"\n"; \
		value=$$((value+1)); \
	done ) >> $(DCFG) || exit 0;

#workaround for 'dpkg-shlibdeps: error: couldn't find library libipset.so.1'
override_dh_shlibdeps:
	LD_LIBRARY_PATH="debian/xtables-addons-common/usr/lib/xtables-addons:$(LD_LIBRARY_PATH)" dh_shlibdeps

get-orig-source:
	uscan --noconf --rename --check-dirname-level=0 --force-download --download-current-version --destdir=$(CURDIR) $(PKD)