File: rules

package info (click to toggle)
firebird3.0 3.0.13.ds7-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 42,632 kB
  • sloc: ansic: 374,403; cpp: 319,973; sql: 14,691; pascal: 14,532; yacc: 7,557; fortran: 5,645; sh: 5,336; makefile: 1,041; perl: 194; sed: 83; awk: 76; xml: 19; csh: 15
file content (195 lines) | stat: -rwxr-xr-x 6,283 bytes parent folder | download | duplicates (2)
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
#!/usr/bin/make -f

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

%:
	dh $@ --without autoreconf
# autogen is being run during the configure phase

FB_MAJOR:= $(shell awk '/FB_MAJOR_VER/ { v=$$3; gsub("\"", "", v); print v}' < src/jrd/build_no.h )
FB_MINOR:= $(shell awk '/FB_MINOR_VER/ { v=$$3; gsub("\"", "", v); print v}' < src/jrd/build_no.h )
FB_REV	:= $(shell awk '/FB_REV_NO/    { v=$$3; gsub("\"", "", v); print v}' < src/jrd/build_no.h )
FB_VER	:= $(FB_MAJOR).$(FB_MINOR)
FB_FULL_VER:= $(FB_VER).$(FB_REV)

include /usr/share/dpkg/pkg-info.mk
SOURCE_DATE := $(shell date -d@$(SOURCE_DATE_EPOCH) -u +"%Y-%m-%d")

CLIENT_SOVER := 2
UTIL_SOVER :=

ifndef FB_MAJOR
$(error FB_MAJOR not defined)
else ifndef FB_MINOR
$(error FB_MINOR not defined)
else ifndef FB_REV
$(error FB_REV not defined)
else ifndef FB_VER
$(error FB_VER not defined)
else ifndef FB_FULL_VER
$(error FB_FULL_VER not defined)
else ifndef CLIENT_SOVER
$(error CLIENT_SOVER not defined)
endif

-include /usr/share/dpkg/buildtools.mk
PKG_CONFIG ?= pkg-config
# Use the following lines to set the compiler if
# the default Debian one can't be used (or you want to try
# the bleeding edge)
#export CC=gcc-5
#export CXX=g++-5
#export CPP=cpp-5
#export CXXPP=cpp-5


export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
   NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
endif

ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	confflags += --build $(DEB_HOST_GNU_TYPE)
else
	confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

ifeq ($(shell dpkg-architecture -qDEB_HOST_ARCH_OS), linux)
	confflags += --enable-raw-devices
else
	confflags += --disable-raw-devices
endif

DOC := /usr/share/doc/firebird${FB_VER}-common-doc
ULFB := /usr/lib/${DEB_HOST_MULTIARCH}/firebird/${FB_VER}
USFB := /usr/share/firebird/${FB_VER}
VAR := /var/lib/firebird/${FB_VER}
RUN := /run/firebird${FB_VER}

DEB_BUILD_MAINT_OPTIONS := hardening=+bindnow
DEB_CXXFLAGS_MAINT_STRIP := -O2
DEB_CXXFLAGS_MAINT_APPEND := -DUCHAR_TYPE=uint16_t -fno-lifetime-dse -fno-strict-aliasing -O3
DEB_CFLAGS_MAINT_STRIP := -O2
DEB_CFLAGS_MAINT_APPEND := -fno-strict-aliasing -O3

include /usr/share/dpkg/buildflags.mk

confflags += --disable-rpath --with-gpre-cobol \
	     --with-system-editline --prefix=${ULFB} \
	     --with-fbsbin=/usr/sbin \
	     --with-fblib=/usr/lib/${DEB_HOST_MULTIARCH} \
	     --with-fbconf=${ULFB} --with-fbdoc=${DOC} \
	     --with-fbudf=${ULFB}/UDF --with-fbsample=${DOC}/examples \
	     --with-fbsample-db=${DOC}/examples/empbuild \
	     --with-fbhelp=${VAR}/system --with-fbintl=${ULFB}/intl \
	     --with-fbmisc=${ULFB}/misc --with-fbsecure-db=${VAR}/system \
	     --with-fblog=/var/log/firebird --with-fbglock=${RUN} \
	     --with-fblogfilename=firebird$(FB_VER).log \
	     --with-fbplugins=${ULFB}/plugins \
	     --with-fbmsg=${ULFB}

# see #575564
export FIREBIRD_LOCK := $(CURDIR)/debian/tmp-lock

# Packaging is split into several packages:
# * firebirdVV-server (incl libengineXX)
# * libfbclient2
# * firebirdVV-utils
# * firebirdVV-common (common parts to client and utils)
# * firebirdVV-common-doc (big copyright and changelog in one place)
# * firebirdVV-doc
# * firebirdVV-examples
# * firebird-dev


override_dh_auto_configure:
	mkdir -p builds/make.new
	NOCONFIGURE=1 sh autogen.sh
	dh_auto_configure -- $(confflags)

ifneq (,$(filter nodoc,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
    MANUALS_BASE_USR :=
    MANUALS_BASE_SYS :=
else
    MANUALS_BASE_USR := isql-fb gbak gfix gpre gsec fbstat nbackup \
                        fbsvcmgr fbtracemgr fb_lock_print fb_config
    MANUALS_BASE_SYS := fbguard firebird
endif
MANUALS := $(addprefix debian/man/,$(addsuffix .1,$(MANUALS_BASE_USR))) \
           $(addprefix debian/man/,$(addsuffix .8,$(MANUALS_BASE_SYS)))

%.1 : %.pod
	pod2man -c "Firebird documentation" --release "Firebird $(FB_VER)"  $< > $@
%.8 : %.pod
	pod2man -c "Firebird documentation" --release "Firebird $(FB_VER)"  --section 8 $< > $@

FB_IMG := debian/firebird-image

override_dh_auto_build:
	$(MAKE) -f debian/rules $(NJOBS) $(MANUALS)
	[ -d $(FIREBIRD_TMP) ] || mkdir $(FIREBIRD_TMP)
	rm -rf $(FB_IMG)
	dh_auto_build -- QUIET=1

	#fakeroot $(MAKE) -C gen -f Makefile.install buildRoot
	#mv ./gen/buildroot ./debian/firebird-build
	cp -a ./gen/Release/firebird $(FB_IMG)
	cp -a src/include/gen $(FB_IMG)/include-gen

	echo "Built image contents"
	cd $(FB_IMG) && ls -lR

	sed -i -e's,-I$$fb_incdir,,'  $(FB_IMG)/bin/fb_config
	sed -i -e's,-L$$fb_libdir ,,' $(FB_IMG)/bin/fb_config

	sh $(FB_IMG)/bin/fb_config --cflags
	sh $(FB_IMG)/bin/fb_config --libs

override_dh_clean:
	dh_clean
	
	rm -f $(MANUALS)
	
	debconf-updatepo
	
	@echo FB_MAJOR = $(FB_MAJOR)
	@echo FB_MINOR = $(FB_MINOR)
	@echo FB_REV   = $(FB_REV)
	@echo FB_VER   = $(FB_VER)
	@echo FB_FULL_VER = $(FB_FULL_VER)
	@echo CLIENT_SOVER= $(CLIENT_SOVER)
	@echo UTIL_SOVER= $(UTIL_SOVER)

override_dh_auto_install:
	sh debian/make_packages.sh

ICU_VER := $(shell $(PKG_CONFIG) icu-i18n --modversion|sed 's/[^0-9]*\([0-9]\+\).*/\1/')
ifeq ($(ICU_VER),)
    $(error Unable to determine ICU version)
endif

override_dh_lintian-arch:
	dh_lintian
override_dh_installchangelogs:
	dh_installchangelogs ChangeLog -p firebird$(FB_VER)-common-doc
override_dh_installdocs:
	dh_installdocs -p firebird$(FB_VER)-common-doc
	dh_installdocs -Xchangelog -Xcopyright -p firebird$(FB_VER)-doc
override_dh_installlogrotate:
	dh_installlogrotate --name firebird$(FB_VER)
override_dh_installinit:
	dh_installinit -pfirebird$(FB_VER)-server --name=firebird$(FB_VER)
override_dh_link-arch:
	dh_link -a -A
override_dh_makeshlibs:
#	dh_makeshlibs -p libfbclient$(CLIENT_SOVER) -V'libfbclient$(CLIENT_SOVER) (>= $(FB_FULL_VER)~)'
#	dpkg-gensymbols -plibfbclient$(CLIENT_SOVER) -Pdebian/libfbclient$(CLIENT_SOVER)
	dh_makeshlibs -a -X /UDF/ -X /intl/ -X /plugins/
override_dh_shlibdeps:
	dh_shlibdeps -a -X /plugins/
override_dh_gencontrol-arch:
	dh_gencontrol -a -- -V"icu:Depends=libicu$(ICU_VER)"