Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pull ruby build #924

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
216084d
Add RUBY_BUILD_TARBALL_OVERRIDE to override the ruby tarball URL
eregon Sep 21, 2023
6663720
Cleanup in openssl compilation step
mislav Oct 13, 2023
47eda17
Remove implicit LDFLAGS, CPPFLAGS, and "ldflags_dirs" build step
mislav Oct 13, 2023
04ba857
Remove "ldflags_dirs" step from build definitions
mislav Oct 13, 2023
9b87491
Avoid compiling OpenSSL if the user supplied `--with-openssl-dir` on …
mislav Oct 13, 2023
5f4cea1
Merge pull request #2258 from eregon/overridable-url
mislav Oct 13, 2023
536495d
ruby-build 20231014
eregon Oct 14, 2023
7773f82
Cleanup in truffleruby+graalvm installation
mislav Oct 13, 2023
1d9b4e2
Merge pull request #2274 from rbenv/ruby-configure-opts
mislav Oct 14, 2023
7a741cf
Merge pull request #2270 from rbenv/openssl-clean
mislav Oct 16, 2023
aada31a
Avoiding excessive cd when fetching git repos (#2273)
mislav Oct 16, 2023
fe933ab
Merge pull request #2271 from rbenv/ldflags-clean
mislav Oct 16, 2023
a559b30
Improve `cached_tarball` test helper
mislav Oct 16, 2023
08b1cfa
Add `needs_openssl` test
mislav Oct 17, 2023
1dc3628
Merge pull request #2276 from rbenv/openssl-test
mislav Oct 17, 2023
0be9ae1
Add JRuby 9.4.4.0
headius Oct 18, 2023
0e4c61d
Merge pull request #2277 from headius/jruby-9.4.4.0
hsbt Oct 18, 2023
db600cc
TruffleRuby: remove explicit `openssl@1.1` requirement on macOS
mislav Oct 20, 2023
99fda28
JRuby: remove `openssl@1.1` requirement from `jruby-dev`
mislav Oct 20, 2023
c3bae8b
Fix fixing JRuby shebangs on macOS
mislav Oct 23, 2023
39f77ff
Skip ri/rdoc when installing jruby-launcher
eregon Oct 23, 2023
fbcb6bd
Bump up OpenSSL 3.1.4
hsbt Oct 25, 2023
4905179
Merge pull request #2283 from rbenv/openssl-3-1-4
hsbt Oct 25, 2023
4996d18
Add TruffleRuby and TruffleRuby GraalVM 23.1.1
eregon Oct 25, 2023
8afc6e1
ruby-build 20231025
eregon Oct 25, 2023
739a152
Merge ruby-build v20231025
jasonkarns Jun 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Avoiding excessive cd when fetching git repos (#2273)
mislav authored Oct 16, 2023
commit aada31aed5c71f63613b6882e0292d8038f1719b
44 changes: 17 additions & 27 deletions bin/ruby-build
Original file line number Diff line number Diff line change
@@ -494,37 +494,27 @@ fetch_git() {

echo "Cloning ${git_url}..." >&2

if type git &>/dev/null; then
if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then
# shellcheck disable=SC2164
pushd "$RUBY_BUILD_CACHE_PATH" >&4
local clone_name
clone_name="$(sanitize "$git_url")"
if [ -e "$clone_name" ]; then
{ # shellcheck disable=SC2164
cd "$clone_name"
git fetch --force "$git_url" "+${git_ref}:${git_ref}"
} >&4 2>&1
else
git clone --bare --branch "$git_ref" "$git_url" "${clone_name}" >&4 2>&1
fi
git_url="$RUBY_BUILD_CACHE_PATH/${clone_name}"
# shellcheck disable=SC2164
popd >&4
fi
if ! type git &>/dev/null; then
echo "error: please install \`git\` and try again" >&2
exit 1
fi

if [ -e "${package_name}" ]; then
( # shellcheck disable=SC2164
cd "${package_name}"
git fetch --depth 1 origin "+${git_ref}"
git checkout -q -B "$git_ref" "origin/${git_ref}"
) >&4 2>&1
if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then
local cache_dir
cache_dir="$RUBY_BUILD_CACHE_PATH/$(sanitize "$git_url")"
if [ -e "$cache_dir" ]; then
git -C "$cache_dir" fetch --force "$git_url" "+${git_ref}:${git_ref}" >&4 2>&1
else
git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" >&4 2>&1
git clone --bare --branch "$git_ref" "$git_url" "$cache_dir" >&4 2>&1
fi
git_url="$cache_dir"
fi

if [ -e "${package_name}" ]; then
git -C "$package_name" fetch --depth 1 origin "+${git_ref}" >&4 2>&1
git -C "$package_name" checkout -q -B "$git_ref" "origin/${git_ref}" >&4 2>&1
else
echo "error: please install \`git\` and try again" >&2
exit 1
git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" >&4 2>&1
fi
}

4 changes: 2 additions & 2 deletions test/fetch.bats
Original file line number Diff line number Diff line change
@@ -61,8 +61,8 @@ OUT
@test "updating existing git repository" {
mkdir -p "${RUBY_BUILD_BUILD_PATH}/package-dev"
stub git \
"fetch --depth 1 origin +master : true" \
"checkout -q -B master origin/master : true"
"-C package-dev fetch --depth 1 origin +master : true" \
"-C package-dev checkout -q -B master origin/master : true"

run_inline_definition <<DEF
install_git "package-dev" "http://example.com/packages/package.git" master copy