summaryrefslogtreecommitdiff
path: root/debian/rules
blob: d7c427b0d20282e65725a83db3dd2653b9986806 (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
#!/usr/bin/make -f

DIR := debian/tmp
VYOS_SBIN_DIR := usr/sbin
VYOS_BIN_DIR := usr/bin
VYOS_LIBEXEC_DIR := usr/libexec/vyos
VYOS_DATA_DIR := usr/share/vyos
VYOS_CFG_TMPL_DIR := opt/vyatta/share/vyatta-cfg/templates
VYOS_OP_TMPL_DIR := opt/vyatta/share/vyatta-op/templates
VYOS_MIBS_DIR := usr/share/snmp/mibs
VYOS_LOCALUI_DIR := srv/localui
VYCONF_CONFIG_DIR := $(VYOS_LIBEXEC_DIR)/vyconf/config

MIGRATION_SCRIPTS_DIR := opt/vyatta/etc/config-migrate/migrate
ACTIVATION_SCRIPTS_DIR := usr/libexec/vyos/activate
SYSTEM_SCRIPTS_DIR := usr/libexec/vyos/system
SERVICES_DIR := usr/libexec/vyos/services

DEB_TARGET_ARCH := $(shell dpkg-architecture -qDEB_TARGET_ARCH)

%:
	dh $@ --with python3, --with quilt

# Skip dh_strip_nondeterminism - this is very time consuming
# and we have no non deterministic output (yet)
override_dh_strip_nondeterminism:

override_dh_gencontrol:
	dh_gencontrol -- -v$(shell (git describe --tags --long --match 'vyos/*' --match '1.4.*' --dirty 2>/dev/null || echo 0.0-no.git.tag) | sed -E 's%vyos/%%' | sed -E 's%-dirty%+dirty%')

override_dh_auto_build:
	make all

override_dh_auto_install:
	dh_auto_install

	cd python; python3 setup.py install --install-layout=deb --root ../$(DIR); cd ..

	# Install scripts
	mkdir -p $(DIR)/$(VYOS_SBIN_DIR)
	mkdir -p $(DIR)/$(VYOS_BIN_DIR)
	cp -r src/utils/* $(DIR)/$(VYOS_BIN_DIR)
	cp src/shim/vyshim $(DIR)/$(VYOS_SBIN_DIR)

	# Install conf mode scripts
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/conf_mode
	cp -r src/conf_mode/* $(DIR)/$(VYOS_LIBEXEC_DIR)/conf_mode

	# Install op mode scripts
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/op_mode
	cp -r src/op_mode/* $(DIR)/$(VYOS_LIBEXEC_DIR)/op_mode

	# Install op mode scripts
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/init
	cp -r src/init/* $(DIR)/$(VYOS_LIBEXEC_DIR)/init

	# Install validators
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/validators
	cp -r src/validators/* $(DIR)/$(VYOS_LIBEXEC_DIR)/validators

	# Install completion helpers
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/completion
	cp -r src/completion/* $(DIR)/$(VYOS_LIBEXEC_DIR)/completion

	# Install helper scripts
	cp -r src/helpers/* $(DIR)/$(VYOS_LIBEXEC_DIR)/

	# Install migration scripts
	mkdir -p $(DIR)/$(MIGRATION_SCRIPTS_DIR)
	cp -r src/migration-scripts/* $(DIR)/$(MIGRATION_SCRIPTS_DIR)

	# Install activation scripts
	mkdir -p $(DIR)/$(ACTIVATION_SCRIPTS_DIR)
	cp -r src/activation-scripts/* $(DIR)/$(ACTIVATION_SCRIPTS_DIR)

	# Install system scripts
	mkdir -p $(DIR)/$(SYSTEM_SCRIPTS_DIR)
	cp -r src/system/* $(DIR)/$(SYSTEM_SCRIPTS_DIR)

	# Install system services
	mkdir -p $(DIR)/$(SERVICES_DIR)
	cp -r src/services/* $(DIR)/$(SERVICES_DIR)

	# Install configuration command definitions
	mkdir -p $(DIR)/$(VYOS_CFG_TMPL_DIR)
	cp -r templates-cfg/* $(DIR)/$(VYOS_CFG_TMPL_DIR)

	# Install operational command definitions
	mkdir -p $(DIR)/$(VYOS_OP_TMPL_DIR)
	cp -r templates-op/* $(DIR)/$(VYOS_OP_TMPL_DIR)

	# Install data files
	mkdir -p $(DIR)/$(VYCONF_CONFIG_DIR)
	cp -r data/reftree.cache $(DIR)/$(VYCONF_CONFIG_DIR)
	mkdir -p $(DIR)/$(VYOS_DATA_DIR)
	cp -r data/* $(DIR)/$(VYOS_DATA_DIR)
	# Remove j2lint comments / linter configuration which would insert additional new-lines
	find $(DIR)/$(VYOS_DATA_DIR) -name "*.j2" -type f | xargs sed -i -e '/^{#.*#}/d'

	# Create localui dir
	mkdir -p $(DIR)/$(VYOS_LOCALUI_DIR)

	# Install SNMP MIBs
	mkdir -p $(DIR)/$(VYOS_MIBS_DIR)
	cp -d mibs/* $(DIR)/$(VYOS_MIBS_DIR)

	# Install etc configuration files
	mkdir -p $(DIR)/etc
	cp -r src/etc/* $(DIR)/etc

	# Install legacy Vyatta files
	mkdir -p $(DIR)/opt
	cp -r src/opt/* $(DIR)/opt

	# Install PAM configuration snippets
	mkdir -p $(DIR)/usr/share/pam-configs
	cp -r src/pam-configs/* $(DIR)/usr/share/pam-configs

	# Install systemd service units
	mkdir -p $(DIR)/lib/systemd/system
	cp -r src/systemd/* $(DIR)/lib/systemd/system

	# Make directory for generated configuration file
	mkdir -p $(DIR)/etc/vyos

	# Install smoke test scripts
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/smoke/
	cp -r smoketest/scripts/* $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/smoke

	# Install smoke test configs
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/config/
	cp -r smoketest/configs/* $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/config

	# Install smoke test config tests
	mkdir -p $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/config-tests/
	cp -r smoketest/config-tests/* $(DIR)/$(VYOS_LIBEXEC_DIR)/tests/config-tests

	# Install system programs
	mkdir -p $(DIR)/$(VYOS_BIN_DIR)
	cp -r smoketest/bin/* $(DIR)/$(VYOS_BIN_DIR)

	# Install udev script
	mkdir -p $(DIR)/usr/lib/udev
	cp src/helpers/vyos_net_name $(DIR)/usr/lib/udev

override_dh_installsystemd:
	dh_installsystemd -pvyos-1x --name vyos-router vyos-router.service
	dh_installsystemd -pvyos-1x --name vyos vyos.target