5 case "$(git version 2>/dev/null)" in
9 echo >&2 "No git to bootstrap"
18 probed
=${p%/git-active/bin}
19 if test "$probed" != "$p"
32 for cv
in PYTHON_PATH
=python TCL_PATH
=tclsh TCLTKPATH
=wish
37 if test -f "/usr/bin/$cmd"
41 for p
in /usr
/bin
/usr
/local
/bin
45 echo "$var=$p/$cmd; export $var"
48 found
=$
(find "$p/$cmd"* -type f
2>/dev
/null |
head -n 1)
51 echo "$var=$found; export $var"
58 Wall
="-Wall -Wvla -Wdeclaration-after-statement -Wno-format-zero-length${Wall+ $Wall}"
59 tests
= jobs= skip
= oldtest
= with_dash
=
67 OLD_ICONV
=YesPlease
; export OLD_ICONV
71 OLD_ICONV
=YesPlease
; export OLD_ICONV
75 NEEDS_CRYPTO_WITH_SSL
=YesPlease
; export NEEDS_CRYPTO_WITH_SSL
76 NO_PEDANTIC
=CannotDo Wall
=
81 expr "$($GIT symbolic-ref HEAD 2>/dev/null)" : 'refs/heads/\(.*\)' ||
85 determine_version
() {
86 v
=`$GIT describe HEAD`
87 expr "$v" : '.*-g[0-9a-f]*$' >/dev
/null
&& {
88 echo >&2 "You are on 'snap' but $v is not an official version."
94 determine_long_version
() {
95 $GIT describe HEAD
2>/dev
/null ||
echo unknown-g00000000 |
99 BUILTIN_CLEAN_FIX
=8687f777
100 if ! git merge-base
--is-ancestor $BUILTIN_CLEAN_FIX HEAD
102 NO_PEDANTIC
=YesPlease
105 case "$NO_PEDANTIC" in
108 PEDANT
="-Werror -Wold-style-definition -std=c99 $PEDANT"
109 PEDANT
="-Wpointer-arith -Woverflow -Wunused $PEDANT"
110 PEDANT
="-Wold-style-declaration -Wstrict-prototypes $PEDANT"
114 while case $# in 0) break ;; esac
118 echo >&2 "(no need to say --pedantic)"
126 -noprove |
--noprove)
161 O
="${PEDANT}${PEDANT:+ }$O"
163 test -f /bin
/dash || with_dash
=
165 if test -z "$tests" && test -n "$skip"
167 GIT_SKIP_TESTS
="${GIT_SKIP_TESTS:-$skip}"
168 export GIT_SKIP_TESTS
170 if test -z "$oldtest" &&
171 sh
-c 'prove --version >/dev/null 2>&1' &&
172 sh
-c 'prove --exec : >/dev/null 2>&1'
174 DEFAULT_TEST_TARGET
=prove GIT_PROVE_OPTS
="$jobs"
175 export DEFAULT_TEST_TARGET GIT_PROVE_OPTS
181 branch
=$
(determine_branch
)
184 next | maint | master | pu | jch
)
185 prefix
="$inst_prefix/git-$branch"
188 v
=$
(determine_version
)
189 prefix
="$inst_prefix/git-snap-$v"
192 prefix
="$inst_prefix/git-test" ;;
195 determine_long_version
>version
197 set "prefix=$prefix" "$@"
198 if test -n "$with_dash" && test -f /bin
/dash
200 set "SHELL_PATH=/bin/dash" "$@"
203 set MAN_BASE_URL
='"http://www.kernel.org/pub/software/scm/git/docs/"' \
204 ASCIIDOC_NO_ROFF
=YesPlease \
205 ASCIIDOC8
=YesPlease \
211 if test -z "${make:+set}" && {
212 test -x /usr
/local
/bin
/gmake ||
213 test -x /usr
/pkg
/bin
/gmake ||
214 test -x /usr
/bin
/gmake
219 if test -f /bin
/ginstall
221 set INSTALL
=ginstall
"$@"
226 if test -n "${NO_CFLAGS+set}"
228 unset OK_TO_USE_CFLAGS
231 unset SSH_AGENT_PID SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION \
232 GPG_AGENT_INFO GNOME_KEYRING_CONTROL GNOME_KEYRING_PID \
233 XDG_SESSION_COOKIE XDG_SESSION_PATH XDG_SEAT_PATH XDG_DATA_DIRS \
234 PGPPATH AUTO_PROXY WINDOWID SESSION_MANAGER XDG_CONFIG_DIRS STY \
235 GDMSESSION KRB5CCNAME GNOME_DESKTOP_SESSION_ID \
236 DBUS_SESSION_BUS_ADDRESS LESSOPEN WINDOW DISPLAY GTK_IM_MODULE \
237 XDG_CURRENT_DESKTOP LESSCLOSE XAUTHORITY
241 ETC_GITCONFIG
=$prefix/etc
/gitconfig \
242 ${OK_TO_USE_CFLAGS+"CFLAGS=$CFLAGS"} \
243 ${tests:+"T=$tests"} \