File: rules

package info (click to toggle)
usql 0.19.19-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,652 kB
  • sloc: sql: 1,115; sh: 643; ansic: 191; makefile: 60
file content (90 lines) | stat: -rwxr-xr-x 3,046 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
#!/usr/bin/make -f

export DH_VERBOSE = 1

# Generic hardening of binaries
# Note that passing -buildmode=pie separately is also needed.
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

# Provides $(DEB_VERSION_UPSTREAM)
include /usr/share/dpkg/pkg-info.mk

# Limit the scope of of dh_golang to just iterating just these packages. Path
# ithub.com/xo/usql is omitted intentionally to avoid failures on references to
# too many dependencies.
export DH_GOLANG_BUILDPKG_DH_GOLANG = \
	github.com/xo/usql/drivers/metadata \
	github.com/xo/usql/drivers/metadata/informationschema \
	github.com/xo/usql/drivers/metadata/mysql \
	github.com/xo/usql/drivers/metadata/postgres \
	github.com/xo/usql/drivers/mymysql \
	github.com/xo/usql/drivers/mysql \
	github.com/xo/usql/drivers/sqlite3 \
	github.com/xo/usql/drivers/sqlite3/sqshared \
	github.com/xo/usql/env \
	github.com/xo/usql/handler \
	github.com/xo/usql/metacmd \
	github.com/xo/usql/metacmd/charts \
	github.com/xo/usql/rline \
	github.com/xo/usql/stmt \
	github.com/xo/usql/styles \
	github.com/xo/usql/text

# Control the scope of the entire build. The root of usql needs to be included
# so that the actual usql binary is included in dh_install.
export DH_GOLANG_BUILDPKG = github.com/xo/usql $(DH_GOLANG_BUILDPKG_DH_GOLANG)

# Decrease the scope of what is being built
export TAGS = \
	mymysql \
	mysql \
	sqlite \
	sqlite_app_armor \
	sqlite_fts5 \
	sqlite_introspect \
	sqlite_json1 \
	sqlite_math_functions \
	sqlite_stat4 \
	sqlite_vtable \
	no_clickhouse \
	no_csvq \
	no_oracle \
	no_sqlserver \
	no_moderncsqlite

# Logo is embedded and thus must be included
export DH_GOLANG_INSTALL_EXTRA := text/logo.png

%:
	dh $@ --builddirectory=debian/.build/upstream --buildsystem=golang

# Copy vendored sources into build directory
execute_before_dh_auto_configure:
	cp -av debian/vendor ./
	# Remove extraneous files that don't belong to a Debian package
	find drivers/testdata -type f -name ".gitignore" -delete

execute_after_dh_clean:
	rm -rfv vendor/

# Customize build so that --tags can be passed
override_dh_auto_build:
	dh_auto_build -O--builddirectory=debian/.build/upstream -O--buildsystem=golang -- \
	  -tags "$(TAGS)" \
	  -ldflags="-linkmode=external -X github.com/xo/usql/text.CommandName=usql -X github.com/xo/usql/text.CommandVersion=$(DEB_VERSION_UPSTREAM)" \
		-buildmode=pie

# Note that the 'nocheck' condition inside this section may potentially be
# completely obsolete, as at least the Launchpad riscv64 builder completely
# skips this section with message:
#       dh: command-omitted: The call to "debian/rules override_dh_auto_test" was
#       omitted due to "DEB_BUILD_OPTIONS=nocheck"
override_dh_auto_test:
	dh_auto_test -- -tags "$(TAGS)"

# Workaround dh-golang not honoring -tags nor DH_GOLANG_EXCLUDES when listing go
# mods (via go list).
override_dh_golang:
	DH_GOLANG_BUILDPKG="$(DH_GOLANG_BUILDPKG_DH_GOLANG)" dh_golang -O--buildsystem=golang -O--builddirectory=debian/.build/upstream