summaryrefslogtreecommitdiff
path: root/debian/openswan-modules-source.rules
blob: f31746de1b4e72da3388cb28e3c3db09cdce7a40 (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

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

# This is the debhelper compatability version to use.
export DH_COMPAT=4

VERS = $(shell sed -ne '1s/.*(\(.*\)).*/\1/p' debian/changelog)

# KSRC is the location of the kernel source. This is the default value,
# when make-kpkg is used it will supply to real value
KSRC            = /usr/src/linux

# KDREV is the package-revision, as given to make-kpkg by the user.
# Just put a simply default value in here which we use when we test
# the packagebuilding without make-kpkg
KDREV           = "Custom.1.00"

# Separate the epoch from the normal revision number in KDREV
# for use with dh_gencontrol
KDREV_EPOCH = $(shell echo $(KDREV) | sed -ne '1s/\([^:]*:\)\?\(.*\)/\1/p')
KDREV_REV   = $(shell echo $(KDREV) | sed -ne '1s/\([^:]*:\)\?\(.*\)/\2/p')

# Now we need to get the kernel-version somehow
KVERS=`sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$$/\1/p' $(KSRC)/include/linux/version.h`

SED_SCRIPT=s!\$$KVERS!$(KVERS)!g; \
       s!\$$KSRC!$(KSRC)!; \
       s!\$$KEMAIL!$(KEMAIL)!; \
       s!\$$KMAINT!$(KMAINT)!; \
       s!\$$KDREV!$(KDREV)!; \
       s!\$$DEBDATE!$(shell date +"%a, %d %b %Y %H:%M:%S %z")!
       
ifeq ($(DEB_DEST),)
DEB_DEST=$(KSRC)/..
endif

# Clear root command if already root
ifeq ($(shell id -u),0)
ROOT_CMD=
endif

# this primarily sets ARCH, we may be able to do that in another way
# but it also defines IPSECVERSION, which is needed below
include Makefile.inc
       
debian/control: debian/control.in
	sed -e "$(SED_SCRIPT)" debian/control.in > $@

.PHONY: debian/control


configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp

build: debian/control configure-stamp build-stamp
build-stamp:
	dh_testdir

	$(MAKE) module KERNELSRC=${KSRC} OPENSWANSRCDIR=$(CURDIR)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	$(MAKE) modclean KERNELSRC=${KSRC} OPENSWANSRCDIR=$(CURDIR)

	dh_clean

	rm -f debian/control

MODDESTDIR=$(CURDIR)/debian/openswan-modules-$(KVERS)/lib/modules/$(KVERS)/kernel/net/ipsec
install:
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	mkdir -p $(MODDESTDIR)
	if [ -d modobj ]; then \
		cp modobj/ipsec.o $(MODDESTDIR); \
		cp modobj/ipsec_alg_*.o $(MODDESTDIR); \
	else \
		cp modobj26/ipsec.ko $(MODDESTDIR); \
	fi


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
#	dh_installdebconf
	dh_installdocs
	dh_installexamples
	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
	dh_installmodules
	dh_installcron
	dh_installman
	dh_installinfo
#	dh_undocumented
	dh_installchangelogs
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps
	dh_gencontrol -- -v$(KDREV_EPOCH)$(VERS)+$(KDREV_REV)
	dh_md5sums
	dh_builddeb --destdir=$(DEB_DEST)

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

binary-modules: binary


kdist_image:
	$(ROOT_CMD) $(MAKE) -f debian/rules binary-modules
	$(ROOT_CMD) $(MAKE) -f debian/rules clean
kdist_clean: debian/control clean
kdist:
	$(ROOT_CMD) $(MAKE) -f debian/rules binary-modules
kdist_configure: configure-stamp


.PHONY: binary-modules kdist_image