mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-07 20:31:01 -05:00
Merge branch 'ruby-build-20140408'
This commit is contained in:
commit
18ecb4ffbb
7 changed files with 111 additions and 47 deletions
|
@ -6,16 +6,17 @@
|
||||||
# pyenv install [-f] [-kvp] <definition-file>
|
# pyenv install [-f] [-kvp] <definition-file>
|
||||||
# pyenv install -l|--list
|
# pyenv install -l|--list
|
||||||
#
|
#
|
||||||
# -l/--list List all available versions
|
# -l/--list List all available versions
|
||||||
# -f/--force Install even if the version appears to be installed already
|
# -f/--force Install even if the version appears to be installed already
|
||||||
|
# -s/--skip-existing Skip if the version appears to be installed already
|
||||||
#
|
#
|
||||||
# python-build options:
|
# python-build options:
|
||||||
#
|
#
|
||||||
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
|
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
|
||||||
# (defaults to $PYENV_ROOT/sources)
|
# (defaults to $PYENV_ROOT/sources)
|
||||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||||
# -p/--patch Apply a patch from stdin before building
|
# -p/--patch Apply a patch from stdin before building
|
||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
# For detailed information on installing Python versions with
|
# For detailed information on installing Python versions with
|
||||||
# python-build, including a list of environment variables for adjusting
|
# python-build, including a list of environment variables for adjusting
|
||||||
|
@ -52,6 +53,7 @@ indent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
unset FORCE
|
unset FORCE
|
||||||
|
unset SKIP_EXISTING
|
||||||
unset KEEP
|
unset KEEP
|
||||||
unset VERBOSE
|
unset VERBOSE
|
||||||
unset HAS_PATCH
|
unset HAS_PATCH
|
||||||
|
@ -71,6 +73,9 @@ for option in "${OPTIONS[@]}"; do
|
||||||
"f" | "force" )
|
"f" | "force" )
|
||||||
FORCE=true
|
FORCE=true
|
||||||
;;
|
;;
|
||||||
|
"s" | "skip-existing" )
|
||||||
|
SKIP_EXISTING=true
|
||||||
|
;;
|
||||||
"k" | "keep" )
|
"k" | "keep" )
|
||||||
[ -n "${PYENV_BUILD_ROOT}" ] || PYENV_BUILD_ROOT="${PYENV_ROOT}/sources"
|
[ -n "${PYENV_BUILD_ROOT}" ] || PYENV_BUILD_ROOT="${PYENV_ROOT}/sources"
|
||||||
;;
|
;;
|
||||||
|
@ -134,14 +139,21 @@ PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||||
|
|
||||||
# If the installation prefix exists, prompt for confirmation unless
|
# If the installation prefix exists, prompt for confirmation unless
|
||||||
# the --force option was specified.
|
# the --force option was specified.
|
||||||
if [ -z "$FORCE" ] && [ -d "${PREFIX}/bin" ]; then
|
if [ -d "${PREFIX}/bin" ]; then
|
||||||
echo "pyenv: $PREFIX already exists" >&2
|
if [ -z "$FORCE" ] && [ -z "$SKIP_EXISTING" ]; then
|
||||||
read -p "continue with installation? (y/N) "
|
echo "pyenv: $PREFIX already exists" >&2
|
||||||
|
read -p "continue with installation? (y/N) "
|
||||||
|
|
||||||
case "$REPLY" in
|
case "$REPLY" in
|
||||||
y* | Y* ) ;;
|
y* | Y* ) ;;
|
||||||
* ) exit 1 ;;
|
* ) exit 1 ;;
|
||||||
esac
|
esac
|
||||||
|
elif [ -n "$SKIP_EXISTING" ]; then
|
||||||
|
# Since we know the python version is already installed, and are opting to
|
||||||
|
# not force installation of existing versions, we just `exit 0` here to
|
||||||
|
# leave things happy
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If PYENV_BUILD_ROOT is set, always pass keep options to python-build.
|
# If PYENV_BUILD_ROOT is set, always pass keep options to python-build.
|
||||||
|
@ -158,7 +170,7 @@ fi
|
||||||
|
|
||||||
# Default PYENV_VERSION to the friendly Python version. (The
|
# Default PYENV_VERSION to the friendly Python version. (The
|
||||||
# CPython installer requires an existing Python installation to run. An
|
# CPython installer requires an existing Python installation to run. An
|
||||||
# unsatisfied local python version can cause the installer to
|
# unsatisfied local .python-version file can cause the installer to
|
||||||
# fail.)
|
# fail.)
|
||||||
if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
||||||
for version in "${VERSION_NAME%-dev}" "${VERSION_NAME%.*}" "${VERSION_NAME%%.*}"; do
|
for version in "${VERSION_NAME%-dev}" "${VERSION_NAME%.*}" "${VERSION_NAME%%.*}"; do
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="20140225"
|
PYTHON_BUILD_VERSION="20140408"
|
||||||
|
|
||||||
set -E
|
set -E
|
||||||
exec 3<&2 # preserve original stderr at fd 3
|
exec 3<&2 # preserve original stderr at fd 3
|
||||||
|
@ -245,7 +245,7 @@ http_head_curl() {
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_curl() {
|
http_get_curl() {
|
||||||
curl -C - -o "${2:--}" -qsSLf "$1"
|
curl -q -o "${2:--}" -sSLf "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
http_head_wget() {
|
http_head_wget() {
|
||||||
|
@ -253,7 +253,7 @@ http_head_wget() {
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_wget() {
|
http_get_wget() {
|
||||||
wget -nv -c -O "${2:--}" "$1"
|
wget -nv -O "${2:--}" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_tarball() {
|
fetch_tarball() {
|
||||||
|
@ -283,7 +283,7 @@ fetch_tarball() {
|
||||||
tar_args="${tar_args/z/j}"
|
tar_args="${tar_args/z/j}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! symlink_tarball_from_cache "$package_filename" "$checksum"; then
|
if ! reuse_existing_tarball "$package_filename" "$checksum"; then
|
||||||
echo "Downloading ${package_filename}..." >&2
|
echo "Downloading ${package_filename}..." >&2
|
||||||
http head "$mirror_url" &&
|
http head "$mirror_url" &&
|
||||||
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
||||||
|
@ -300,13 +300,19 @@ fetch_tarball() {
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
symlink_tarball_from_cache() {
|
reuse_existing_tarball() {
|
||||||
[ -n "$PYTHON_BUILD_CACHE_PATH" ] || return 1
|
|
||||||
|
|
||||||
local package_filename="$1"
|
local package_filename="$1"
|
||||||
local cached_package_filename="${PYTHON_BUILD_CACHE_PATH}/$package_filename"
|
|
||||||
local checksum="$2"
|
local checksum="$2"
|
||||||
|
|
||||||
|
# Reuse existing file in build location
|
||||||
|
if [ -e "$package_filename" ] && verify_checksum "$package_filename" "$checksum"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reuse previously downloaded file in cache location
|
||||||
|
[ -n "$PYTHON_BUILD_CACHE_PATH" ] || return 1
|
||||||
|
local cached_package_filename="${PYTHON_BUILD_CACHE_PATH}/$package_filename"
|
||||||
|
|
||||||
[ -e "$cached_package_filename" ] || return 1
|
[ -e "$cached_package_filename" ] || return 1
|
||||||
verify_checksum "$cached_package_filename" "$checksum" >&4 2>&1 || return 1
|
verify_checksum "$cached_package_filename" "$checksum" >&4 2>&1 || return 1
|
||||||
ln -s "$cached_package_filename" "$package_filename" >&4 2>&1 || return 1
|
ln -s "$cached_package_filename" "$package_filename" >&4 2>&1 || return 1
|
||||||
|
@ -429,7 +435,7 @@ fetch_jar() {
|
||||||
|
|
||||||
local package_filename="${package_name}.jar"
|
local package_filename="${package_name}.jar"
|
||||||
|
|
||||||
if ! symlink_tarball_from_cache "$package_filename" "$checksum"; then
|
if ! reuse_existing_tarball "$package_filename" "$checksum"; then
|
||||||
echo "Downloading ${package_filename}..." >&2
|
echo "Downloading ${package_filename}..." >&2
|
||||||
http head "$mirror_url" &&
|
http head "$mirror_url" &&
|
||||||
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
||||||
|
@ -463,7 +469,7 @@ fetch_zip() {
|
||||||
|
|
||||||
local package_filename="${package_name}.zip"
|
local package_filename="${package_name}.zip"
|
||||||
|
|
||||||
if ! symlink_tarball_from_cache "$package_filename" "$checksum"; then
|
if ! reuse_existing_tarball "$package_filename" "$checksum"; then
|
||||||
echo "Downloading ${package_filename}..." >&2
|
echo "Downloading ${package_filename}..." >&2
|
||||||
http head "$mirror_url" &&
|
http head "$mirror_url" &&
|
||||||
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
||||||
|
@ -497,7 +503,7 @@ fetch_script() {
|
||||||
|
|
||||||
local package_filename="${package_name}.sh" # TODO: extract suffix from ${package_url}
|
local package_filename="${package_name}.sh" # TODO: extract suffix from ${package_url}
|
||||||
|
|
||||||
if ! symlink_tarball_from_cache "$package_filename" "$checksum"; then
|
if ! reuse_existing_tarball "$package_filename" "$checksum"; then
|
||||||
echo "Downloading ${package_filename}..." >&2
|
echo "Downloading ${package_filename}..." >&2
|
||||||
http head "$mirror_url" &&
|
http head "$mirror_url" &&
|
||||||
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
download_tarball "$mirror_url" "$package_filename" "$checksum" ||
|
||||||
|
@ -860,7 +866,9 @@ fix_rbx_gem_binstubs() {
|
||||||
for file in "$gemdir"/*; do
|
for file in "$gemdir"/*; do
|
||||||
binstub="${bindir}/${file##*/}"
|
binstub="${bindir}/${file##*/}"
|
||||||
rm -f "$binstub"
|
rm -f "$binstub"
|
||||||
sed -E "s:^#\!.+:#\!${bindir}/ruby:" < "$file" > "$binstub"
|
{ echo "#!${bindir}/ruby"
|
||||||
|
cat "$file"
|
||||||
|
} > "$binstub"
|
||||||
chmod +x "$binstub"
|
chmod +x "$binstub"
|
||||||
done
|
done
|
||||||
rm -rf "$gemdir"
|
rm -rf "$gemdir"
|
||||||
|
|
|
@ -56,7 +56,7 @@ assert_build_log() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "yaml is installed for python" {
|
@test "yaml is installed for python" {
|
||||||
cached_tarball "yaml-0.1.5"
|
cached_tarball "yaml-0.1.6"
|
||||||
cached_tarball "Python-3.2.1"
|
cached_tarball "Python-3.2.1"
|
||||||
|
|
||||||
stub brew false
|
stub brew false
|
||||||
|
@ -69,7 +69,7 @@ assert_build_log() {
|
||||||
unstub make
|
unstub make
|
||||||
|
|
||||||
assert_build_log <<OUT
|
assert_build_log <<OUT
|
||||||
yaml-0.1.5: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
yaml-0.1.6: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||||
make -j 2
|
make -j 2
|
||||||
make install
|
make install
|
||||||
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||||
|
@ -79,7 +79,7 @@ OUT
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "apply python patch before building" {
|
@test "apply python patch before building" {
|
||||||
cached_tarball "yaml-0.1.5"
|
cached_tarball "yaml-0.1.6"
|
||||||
cached_tarball "Python-3.2.1"
|
cached_tarball "Python-3.2.1"
|
||||||
|
|
||||||
stub brew false
|
stub brew false
|
||||||
|
@ -94,7 +94,7 @@ OUT
|
||||||
unstub patch
|
unstub patch
|
||||||
|
|
||||||
assert_build_log <<OUT
|
assert_build_log <<OUT
|
||||||
yaml-0.1.5: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
yaml-0.1.6: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||||
make -j 2
|
make -j 2
|
||||||
make install
|
make install
|
||||||
patch -p0 -i -
|
patch -p0 -i -
|
||||||
|
@ -153,6 +153,7 @@ OUT
|
||||||
@test "readline is not linked from Homebrew when explicitly defined" {
|
@test "readline is not linked from Homebrew when explicitly defined" {
|
||||||
cached_tarball "Python-3.2.1"
|
cached_tarball "Python-3.2.1"
|
||||||
|
|
||||||
|
# python-build
|
||||||
readline_libdir="$TMP/custom"
|
readline_libdir="$TMP/custom"
|
||||||
mkdir -p "$readline_libdir/include/readline"
|
mkdir -p "$readline_libdir/include/readline"
|
||||||
touch "$readline_libdir/include/readline/rlconf.h"
|
touch "$readline_libdir/include/readline/rlconf.h"
|
||||||
|
|
|
@ -11,7 +11,7 @@ setup() {
|
||||||
|
|
||||||
@test "packages are saved to download cache" {
|
@test "packages are saved to download cache" {
|
||||||
stub md5 true
|
stub md5 true
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/without-checksum
|
install_fixture definitions/without-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -59,7 +59,7 @@ setup() {
|
||||||
|
|
||||||
stub md5 true "echo invalid" "echo $checksum"
|
stub md5 true "echo invalid" "echo $checksum"
|
||||||
stub curl "-*I* : true" \
|
stub curl "-*I* : true" \
|
||||||
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
|
"-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
|
||||||
|
|
||||||
touch "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"
|
touch "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ setup() {
|
||||||
|
|
||||||
@test "nonexistent cache directory is ignored" {
|
@test "nonexistent cache directory is ignored" {
|
||||||
stub md5 true
|
stub md5 true
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
export PYTHON_BUILD_CACHE_PATH="${TMP}/nonexistent"
|
export PYTHON_BUILD_CACHE_PATH="${TMP}/nonexistent"
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
@test "package URL without checksum" {
|
@test "package URL without checksum" {
|
||||||
stub md5 true
|
stub md5 true
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/without-checksum
|
install_fixture definitions/without-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -20,7 +20,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
@test "package URL with valid checksum" {
|
@test "package URL with valid checksum" {
|
||||||
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -33,7 +33,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
@test "package URL with invalid checksum" {
|
@test "package URL with invalid checksum" {
|
||||||
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-invalid-checksum
|
install_fixture definitions/with-invalid-checksum
|
||||||
[ "$status" -eq 1 ]
|
[ "$status" -eq 1 ]
|
||||||
|
@ -46,7 +46,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
@test "package URL with checksum but no MD5 support" {
|
@test "package URL with checksum but no MD5 support" {
|
||||||
stub md5 false
|
stub md5 false
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -59,7 +59,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
@test "package with invalid checksum" {
|
@test "package with invalid checksum" {
|
||||||
stub md5 true "echo invalid"
|
stub md5 true "echo invalid"
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 1 ]
|
[ "$status" -eq 1 ]
|
||||||
|
@ -68,3 +68,46 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||||
unstub curl
|
unstub curl
|
||||||
unstub md5
|
unstub md5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "existing tarball in build location is reused" {
|
||||||
|
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||||
|
stub curl false
|
||||||
|
stub wget false
|
||||||
|
|
||||||
|
export -n PYTHON_BUILD_CACHE_PATH
|
||||||
|
export PYTHON_BUILD_BUILD_PATH="${TMP}/build"
|
||||||
|
|
||||||
|
mkdir -p "$PYTHON_BUILD_BUILD_PATH"
|
||||||
|
ln -s "${FIXTURE_ROOT}/package-1.0.0.tar.gz" "$PYTHON_BUILD_BUILD_PATH"
|
||||||
|
|
||||||
|
run_inline_definition <<DEF
|
||||||
|
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
|
||||||
|
DEF
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
[ -x "${INSTALL_ROOT}/bin/package" ]
|
||||||
|
|
||||||
|
unstub md5
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "existing tarball in build location is discarded if not matching checksum" {
|
||||||
|
stub md5 true \
|
||||||
|
"echo invalid" \
|
||||||
|
"echo 83e6d7725e20166024a1eb74cde80677"
|
||||||
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
|
export -n PYTHON_BUILD_CACHE_PATH
|
||||||
|
export PYTHON_BUILD_BUILD_PATH="${TMP}/build"
|
||||||
|
|
||||||
|
mkdir -p "$PYTHON_BUILD_BUILD_PATH"
|
||||||
|
touch "${PYTHON_BUILD_BUILD_PATH}/package-1.0.0.tar.gz"
|
||||||
|
|
||||||
|
run_inline_definition <<DEF
|
||||||
|
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
|
||||||
|
DEF
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
[ -x "${INSTALL_ROOT}/bin/package" ]
|
||||||
|
|
||||||
|
unstub md5
|
||||||
|
}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz" --if needs_yaml
|
install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz" --if needs_yaml
|
||||||
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
|
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
|
||||||
|
|
|
@ -8,7 +8,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
@test "package URL without checksum bypasses mirror" {
|
@test "package URL without checksum bypasses mirror" {
|
||||||
stub md5 true
|
stub md5 true
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/without-checksum
|
install_fixture definitions/without-checksum
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
@ -22,7 +22,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
@test "package URL with checksum but no MD5 support bypasses mirror" {
|
@test "package URL with checksum but no MD5 support bypasses mirror" {
|
||||||
stub md5 false
|
stub md5 false
|
||||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -39,7 +39,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
stub md5 true "echo $checksum"
|
stub md5 true "echo $checksum"
|
||||||
stub curl "-*I* $mirror_url : true" \
|
stub curl "-*I* $mirror_url : true" \
|
||||||
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
|
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -56,7 +56,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
stub md5 true "echo $checksum"
|
stub md5 true "echo $checksum"
|
||||||
stub curl "-*I* $mirror_url : false" \
|
stub curl "-*I* $mirror_url : false" \
|
||||||
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -73,8 +73,8 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
stub md5 true "echo invalid" "echo $checksum"
|
stub md5 true "echo invalid" "echo $checksum"
|
||||||
stub curl "-*I* $mirror_url : true" \
|
stub curl "-*I* $mirror_url : true" \
|
||||||
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
|
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
|
||||||
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
echo "$output" >&2
|
echo "$output" >&2
|
||||||
|
@ -92,7 +92,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
|
|
||||||
stub md5 true "echo $checksum"
|
stub md5 true "echo $checksum"
|
||||||
stub curl "-*I* : true" \
|
stub curl "-*I* : true" \
|
||||||
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
|
"-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
|
||||||
|
|
||||||
install_fixture definitions/with-checksum
|
install_fixture definitions/with-checksum
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
|
Loading…
Reference in a new issue