-
Notifications
You must be signed in to change notification settings - Fork 7
/
bootstrap.conf
220 lines (185 loc) · 5.41 KB
/
bootstrap.conf
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
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
# bootstrap.conf (GNU zile) version 2011-08-04
# Written by Gary V. Vaughan, 2010
# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is part of GNU zile.
#
# GNU zile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GNU zile is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
## -------------- ##
## Configuration. ##
## -------------- ##
# File that should exist relative to the top directory of a checked out
# hierarchy, but not in a distribution tarball.
checkout_only_file=gl/top/README-release.diff
# List of programs, minimum versions, and software urls required to
# bootstrap, maintain and release GNU Zile.
# Build prerequisites
buildreq='
git 1.5.5 http://git-scm.com
gpg 1.4.11 http://www.gnupg.org
help2man 1.29 http://www.gnu.org/s/help2man
perl 5.5 http://perl.com
tar - http://www.gnu.org/s/tar
'
# Non-default gnulib directory options.
gnulib_name=libzile
local_gl_dir=gl
# Additional gnulib-tool options to use.
gnulib_tool_options='
--no-changelog
--no-libtool
'
# gnulib modules used by this package.
gnulib_modules='
announce-gen
array-list
bootstrap
chown
copy-file
dirname
do-release-commit-and-tag
euidaccess
fcntl
gendocs
getcwd
getopt-gnu
gettimeofday
gitlog-to-changelog
gnupload
hash
linked-list
maintainer-makefile
manywarnings
memmem
minmax
pipe-filter-ii
pmccabe2html
progname
readme-release
regex
size_max
snippet/unused-parameter
stdarg
stdbool
warnings
xalloc-die
xgetcwd
xlist
xvasprintf-posix
'
# Extra gnulib files that are not in modules, which override files of
# the same name installed by other bootstrap tools.
gnulib_non_module_files="$gnulib_non_module_files"'
doc/COPYINGv3
'
## -------------------- ##
## Resource management. ##
## -------------------- ##
# require_source_base
# -------------------
# Ensure any source_base setting in this file or `gnulib-cache.m4`
# is used for $source_base. If both are the empty string before
# call this function, $source_base will still be the empty string
# afterwards. Use ${source_base-lib} if you are looking at files
# inside the gnulib directory.
require_source_base=zile_require_source_base
zile_require_source_base ()
{
$debug_cmd
test -n "$source_base" || {
$require_gnulib_cache
$require_macro_dir
func_extract_trace "gl_SOURCE_BASE" "$gnulib_cache"
source_base="$func_extract_trace_result"
test -n "$source_base" && func_verbose "source_base='$source_base'"
}
require_source_base=:
}
## --------------- ##
## Hook functions. ##
## --------------- ##
# zile_ignore_gnulib_ignore
# -------------------------
# gnulib-tool updates m4/.gitignore and lib/.gitignore, and keeping
# generated files under version control does not make sense. Since
# lib is entirely ignored, we only need to prepopulate the m4 ignore
# files with generated files not tracked by gnulib-tool.
zile_ignore_gnulib_ignore ()
{
$debug_cmd
$require_macro_dir
if test -f "$macro_dir/.gitignore" ; then
:
else
func_verbose "creating initial \`$macro_dir/.gitignore'"
cat > $macro_dir/.gitignore <<\EOF
# files created by gnulib, but that gnulib doesn't track
*~
.gitignore
gnulib-comp.m4
EOF
fi
}
func_add_hook func_prep zile_ignore_gnulib_ignore
# zile_force_changelog
# --------------------
# Automake requires that ChangeLog exist.
zile_force_changelog ()
{
$debug_cmd
echo "Autogenerated by \`make dist'" > ChangeLog || exit 1
}
func_add_hook func_gnulib_tool zile_force_changelog
# zile_readme_package_substitutions
# ---------------------------------
# Show our own package details instead of generic strings.
zile_readme_package_substitutions ()
{
$debug_cmd
$require_package
$require_source_base
my_srcfile="README-release"
my_destfile="HACKING"
# Perform substitutions to a temporary file
if test -f "$my_srcfile"; then
$SED -e "s,\@PACKAGE\@,$package,g" > "${my_destfile}T" \
"$my_srcfile"
rm -f "$my_srcfile"
else
func_error "Error: \`$my_srcfile' does not exist"
exit $EXIT_FAILURE
fi
# move-if-change ${my_destfile}T ${my_destfile}
if test -f "$my_destfile" \
&& func_cmp_s "$my_destfile" "${my_destfile}T"
then
rm -f "${my_destfile}T"
else
mv "${my_destfile}T" "$my_destfile"
func_echo "creating \`$my_destfile'$my_backup_msg"
fi
# Remove README-release reference from gnulib generated
# $source_base/Makefile.am
my_D="${source_base-lib}/Makefile.am"
my_T="${my_D}T"
sed -e '/\/README-release$/d' "$my_D" >"$my_T" && mv "$my_T" "$my_D"
}
func_add_hook func_fini zile_readme_package_substitutions
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "# bootstrap.conf (GNU zile) version "
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "$"
# End: