File: rules

package info (click to toggle)
syncthing 1.0.0~ds1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 11,096 kB
  • sloc: xml: 1,028; sh: 219; makefile: 61
file content (107 lines) | stat: -rwxr-xr-x 4,006 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
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
#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

# Hardening
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

DEBIAN_DIR = $(CURDIR)/debian
TMP        = $(DEBIAN_DIR)/$(PACKAGE)
SOURCE     = $(TMP)/../
PKG        = github.com/syncthing/syncthing

#export DH_GOLANG_GO_GENERATE := 1

# the version string is checked against
# ^v\d+.\d+.\d+(-[a-z0-9]+)*(\+\d+-g[0-9a-f]+)?(-dirty)?$
# which $(DEB_VERSION doesn't necessarily match (eg, ~beta, +dfsg))
# but it is probably appropriate to include something here so it is clear
# that this isn't upstream's build
# x.y.z+dfsg -> vx.y.z-dfsg
export ST_DEB_VERSION := v$(shell echo $(DEB_VERSION_UPSTREAM) | tr A-Z a-z | tr +~ -)

export DH_GOLANG_EXCLUDES := cmd/strelaypoolsrv \
                             cmd/stcli \
                             meta \
                             cmd/ursrv

%:
	dh $@ --buildsystem=golang --with=golang,systemd --builddirectory=_build

override_dh_auto_configure:
	dh_auto_configure

	###############
	## Web files ##
	###############
	# initial folders
	cp -r -v $(SOURCE)/gui _build/src/$(PKG)
	#cp -r -v $(SOURCE)/cmd/strelaypoolsrv/gui _build/src/$(PKG)/cmd/strelaypoolsrv/gui
	mkdir -p _build/src/$(PKG)/gui/default/vendor
	# Bootstrap
	mkdir _build/src/$(PKG)/gui/default/vendor/bootstrap
	cp -v -r /usr/share/javascript/bootstrap/css _build/src/$(PKG)/gui/default/vendor/bootstrap/css
	cp -v -r /usr/share/javascript/bootstrap/js _build/src/$(PKG)/gui/default/vendor/bootstrap/js
	# font-awesome
	mkdir _build/src/$(PKG)/gui/default/vendor/fork-awesome
	cp --dereference -v -r /usr/share/fonts-fork-awesome/css _build/src/$(PKG)/gui/default/vendor/fork-awesome/css
	cp --dereference -v -r /usr/share/fonts-fork-awesome/fonts _build/src/$(PKG)/gui/default/vendor/fork-awesome/fonts
	# build assets
	cd _build/src/$(PKG) && go run script/genassets.go gui > lib/auto/gui.files.go
	#cd _build/src/$(PKG) && \
	#    mkdir cmd/strelaypoolsrv/auto && \
	#    go run script/genassets.go cmd/strelaypoolsrv/gui > cmd/strelaypoolsrv/auto/gui.go
	# Now remove the vendor stuff, we don't really want to ship it in the -dev package.
	rm -rf _build/src/$(PKG)/gui/default/vendor

	###############
	## test data ##
	###############
	# tip: `find . -type d -name testdata`
	# then put them here in alphabetical order
	cp -rv $(SOURCE)/cmd/syncthing/testdata _build/src/$(PKG)/cmd/syncthing/
	cp -rv $(SOURCE)/lib/model/testdata _build/src/$(PKG)/lib/model/
	cp -rv $(SOURCE)/lib/ignore/testdata _build/src/$(PKG)/lib/ignore/
	cp -rv $(SOURCE)/lib/db/testdata _build/src/$(PKG)/lib/db/
	cp -rv $(SOURCE)/lib/config/testdata _build/src/$(PKG)/lib/config/
	cp -rv $(SOURCE)/lib/scanner/testdata _build/src/$(PKG)/lib/scanner/
	# syncthing/test
	cp -rv $(SOURCE)/test/h1 _build/src/$(PKG)/test/
	cp -rv $(SOURCE)/test/h2 _build/src/$(PKG)/test/
	cp -rv $(SOURCE)/test/h3 _build/src/$(PKG)/test/
	cp -rv $(SOURCE)/test/h4 _build/src/$(PKG)/test/
	cp -rv $(SOURCE)/test/logs _build/src/$(PKG)/test/
	mkdir _build/src/$(PKG)/lib/versioner/_external_test
	cp $(SOURCE)/lib/versioner/_external_test/external.sh _build/src/$(PKG)/lib/versioner/_external_test/external.sh

	# lintian: package-contains-vcs-control-file
	rm _build/src/$(PKG)/lib/db/testdata/.gitignore
	rm _build/src/$(PKG)/test/logs/.gitignore

override_dh_auto_build:
	dh_auto_build -- -ldflags "-X main.Version=$(ST_DEB_VERSION) \
	                           -X main.BuildUser=debian \
	                           -X main.BuildHost=debian \
	                           -X main.BuildStamp=$(SOURCE_DATE_EPOCH)" \
	                           -tags 'noupgrade purego'

# Don't run tests on architectures that are not supported
# by upstream.
SKIP_TESTS := True

ifeq ($(DEB_HOST_ARCH_CPU),amd64)
SKIP_TESTS := False
endif

ifeq ($(DEB_HOST_ARCH_CPU),i386)
SKIP_TESTS := False
endif

override_dh_auto_test:
	if [ "$(SKIP_TESTS)" = "True" ]; then \
		echo "Skipping tests"; \
	else \
		dh_auto_test; \
	fi