-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
186 lines (129 loc) · 5.83 KB
/
Makefile
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
## TrEd Makefile -- interface to installation, releasing, and testing scripts
TREDNET=0
SIGNATURE=0
# Public Targets -- documented, well known, usable by anyone
all: help
help:
@cd admin && ./print-make-usage.sh
# UFAL installation: install TrEd and pre-installed extensions
# - updates and uses the source distribution tree
# - implemented as 'almost atomic' operation:
# (new versions created as %.new, then old versions moved to %.old
# and %.new renamed to %)
install: prereq update-dist-dir install-tred-extensions
cd admin && ./install-tred.sh
# make a fresh release of TrEd and upload it to testbed web site
# NOTE: this also includes 'install'
release-skip-signature: SIGNATURE=0
export SIGNATURE
release-skip-signature: release
release: TREDNET=0
export TREDNET
release: check-net release-core release-mac release-deb release-rpm
release-nomac-nonet: TREDNET=0
export TREDNET
release-nomac-nonet: release
# Connect to testing platform and execute tests.
# Note: this task can be performed only from UFAL VLAN,
# SSH certificate for pasword-less login of user tred is recommended.
test: check-net
ssh [email protected] '~/test-tred.sh'
# Check the status of the TrEd testbed.
testbed-status: check-net
ssh [email protected] '~/check-testbed.sh'
# Clear testbed, remove old (previous) testing results from VMs
testbed-clear: check-net
ssh [email protected] '~/clear-testbed.sh'
# Copy release from testbed (on virtualbox server) to TrEd oficial site on UFAL web server
# Note: this task can be performed only from UFAL VLAN,
# SSH certificate for pasword-less login of user tred is recommended.
#publish: check-net
# ssh -t [email protected] '~/publish-tred.sh'
publish:
cd admin && ./publish-tred.sh
#
# Public targets, but only for experienced users (not described in help)
#
# Check prerequisites (libraries, tools, CPAN modules ...)
prereq:
cd admin && ./prereq.sh
# Check we are in the UFAL VLAN, so we can access TrEd testing infrastructure
# and Mac OS X development infrastructure
check-net:
test ${TREDNET} -eq 1 && echo "Check that the current computer is in UFAL VLAN ..." && ping -c 1 virtualbox.ufal.hide.ms.mff.cuni.cz || test ${TREDNET} -eq 0
# Make a fres release of TrEd (except for the Mac OS package)
# the release is uploaded to testbed web site
release-core: prereq update-dist-dir build-dep-package pack-extensions prepare-tred-web-release sync-testbed-www
# Connect to TrEd releasing and testing platform and
# build Mac OS package for TrEd and upload it to testbed web site.
# Note that core release must be performed before mac package release.
#release-mac: check-net
# test ${TREDNET} -eq 1 && echo "Check that the current computer is in UFAL VLAN ..." && ssh [email protected] '~/build-tred-dmg.sh' || test ${net} -eq 0
release-mac:
# backup previouse release
cd admin && ./mac_backup_previous.sh
# copy core to manfred
cd admin && ./mac_prepare.sh
# run releaser
cd admin && ./mac_release.sh ${SIGNATURE}
# download release from mac
cd admin && ./mac_download_release.sh
# Use the generic unix install script and prepare a deb package for Debian-like linux distributions.
release-deb:
cd admin && ./release-deb.sh
# Use the generic unix install script and prepare a rpm package for Fedora and RHEL distributions.
release-rpm:
cd admin && ./release-rpm.sh
# Upload local release (made by release-core) to the testbed website.
# This target is automatically invoked by the release-core target. It should
# be re-invoked only if failed, but the release in the local directory is fresh.
sync-testbed-www:
test ${TREDNET} -eq 1 && cd admin && ./sync-testbed-www.sh || test ${TREDNET} -eq 0
#
# Private Targets -- not to be called from outside, except for debugging
#
# Update changelog in the working copy
make-changelog:
cd admin && ./make-changelog.sh
# Update distribution tree:
# The update is implemented as "atomic" operation to avoid problems when
# applications are using the distribution tree.
# - fresh SVN export
# - updated ChangeLog
# - TrEd version number (based on SVN revision)
# - compile the documentation from DocBook and POD (tred/devel/make_manual)
# - updated extensions dir (SVN working copy)
update-dist-dir: make-changelog
cd admin && ./update-dist-dir.sh
# UFAL installation: update pre-installed extensions pdt20 and pdt_vallex
install-tred-extensions:
cd admin && ./install-tred-extensions.sh
# Build latest versions of TrEd extension packages from the (working copy!)
# of the extension repository and copy them to the source WWW tree.
pack-extensions:
cd admin && ./pack-extensions.sh
# Auxiliary:
# Create TrEd distribution packages, update the documentation and Changelog
# in the source WWW tree from the source distribution tree
# The package sizes on the main page are computed by the admin/create_tred_packages.sh script
# update-dist-dir and build-dep-package should be run before prepare-tred-web-release
prepare-tred-web-release:
cd admin && ./prepare-tred-web-release.sh
# Update dependency packages, pack them, and move them to the release dir.
build-dep-package: update-dep-packages
cd admin && ./build-dep-package.sh
# Update dependency packages with CPAN modules and external libraries.
update-dep-packages: update-unix-dep-packages update-win32-dep-packages
# Fetch fresh dependency packages from CPAN and other sources
# (in the unix_install/packages_unix directory)
update-unix-dep-packages:
cd admin && ./update-unix-dep-packages.sh
update-win32-dep-packages:
cd admin && ./update-win32-dep-packages.sh
#### Treex::PML section
# not creatig ppm any more... build-treex-pml-ppm removed from chain
new-treex-pml: prereq compile-treex-pml-dist install-treex-pml
compile-treex-pml-dist:
cd admin && ./compile-treex-pml-dist.sh
install-treex-pml:
cd admin && ./install-treex-pml.sh