mirror of
https://github.com/rbenv/ruby-build.git
synced 2025-01-01 06:35:50 +01:00
Merge pull request #2297 from rbenv/man-page
Add ruby-build(1) man page
This commit is contained in:
commit
44e4797d23
10 changed files with 366 additions and 32 deletions
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/share/man/man[1-8]/*.[1-8] linguist-generated
|
8
Makefile
Normal file
8
Makefile
Normal file
|
@ -0,0 +1,8 @@
|
|||
release_version := $(shell grep "^RUBY_BUILD_VERSION" bin/ruby-build | cut -d\" -f2)
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
bash install.sh
|
||||
|
||||
share/man/man1/%.1: share/man/man1/%.1.adoc bin/ruby-build
|
||||
asciidoctor -b manpage -a version=$(release_version:v%=%) -o $@ $<
|
|
@ -2,27 +2,27 @@
|
|||
#
|
||||
# Summary: Install a Ruby version using ruby-build
|
||||
#
|
||||
# Usage: rbenv install [-f|-s] [-kpv] <version>
|
||||
# Usage: rbenv install [-f|-s] [-kpv] <version> [-- <configure-args...>]
|
||||
# rbenv install [-f|-s] [-kpv] <definition-file>
|
||||
# rbenv install -l|--list
|
||||
# rbenv install --list
|
||||
# rbenv install --version
|
||||
#
|
||||
# -l/--list List latest stable versions for each Ruby
|
||||
# -L/--list-all List all local versions
|
||||
# -f/--force Install even if the version appears to be installed already
|
||||
# -s/--skip-existing Skip if the version appears to be installed already
|
||||
# -l, --list List latest stable versions for each Ruby
|
||||
# -L, --list-all List all local versions, including outdated ones
|
||||
# -f, --force Allow overwriting an existing installed version
|
||||
# -s, --skip-existing Avoid overwriting an existing installed version
|
||||
#
|
||||
# ruby-build options:
|
||||
#
|
||||
# -k/--keep Keep source tree in $RBENV_BUILD_ROOT after installation
|
||||
# (defaults to $RBENV_ROOT/sources)
|
||||
# -p/--patch Apply a patch from stdin before building
|
||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||
# --version Show version of ruby-build
|
||||
# -v, --verbose Verbose mode: forward all build output to stdout/stderr
|
||||
# -p, --patch Apply a patch from stdin before building
|
||||
# -k, --keep Keep source tree in RBENV_BUILD_ROOT after installation
|
||||
# (defaults to "RBENV_ROOT/sources")
|
||||
# --version Show version of ruby-build
|
||||
#
|
||||
# For detailed information on installing Ruby versions with
|
||||
# ruby-build, including a list of environment variables for adjusting
|
||||
# compilation, see: https://github.com/rbenv/ruby-build#usage
|
||||
# For detailed information on installing Ruby versions with ruby-build,
|
||||
# including a list of environment variables for adjusting compilation,
|
||||
# see: https://github.com/rbenv/ruby-build#usage
|
||||
#
|
||||
set -e
|
||||
[ -n "$RBENV_DEBUG" ] && set -x
|
||||
|
@ -100,7 +100,7 @@ for option in "${OPTIONS[@]}"; do
|
|||
[ ! -t 1 ] || {
|
||||
echo
|
||||
echo "Only latest stable releases for each Ruby implementation are shown."
|
||||
echo "Use 'rbenv install --list-all / -L' to show all local versions."
|
||||
echo "Use \`rbenv install --list-all' to show all local versions."
|
||||
} 1>&2
|
||||
exit
|
||||
;;
|
||||
|
@ -239,7 +239,7 @@ if [ "$STATUS" == "2" ]; then
|
|||
echo "$candidates" | indent
|
||||
fi
|
||||
echo
|
||||
echo "See all available versions with \`rbenv install --list'."
|
||||
echo "See all available versions with \`rbenv install --list-all'."
|
||||
echo
|
||||
echo -n "If the version you need is missing, try upgrading ruby-build"
|
||||
if [ "$here" != "${here#"$(brew --prefix 2>/dev/null)"}" ]; then
|
||||
|
@ -247,7 +247,7 @@ if [ "$STATUS" == "2" ]; then
|
|||
echo " brew upgrade ruby-build"
|
||||
elif [ -d "${here}/.git" ]; then
|
||||
printf ":\n\n"
|
||||
echo " git -C ${here} pull"
|
||||
echo " git -C ${here/${HOME}\//~/} pull"
|
||||
else
|
||||
printf ".\n"
|
||||
fi
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Usage: ruby-build [-kpv] <definition> <prefix>
|
||||
# ruby-build --definitions
|
||||
# Usage: ruby-build [-kpv] <definition> <prefix> [-- <configure-args...>]
|
||||
# ruby-build {--list|--definitions}
|
||||
# ruby-build --version
|
||||
#
|
||||
# -k/--keep Do not remove source tree after installation
|
||||
# -p/--patch Apply a patch from stdin before building
|
||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||
# -4/--ipv4 Resolve names to IPv4 addresses only
|
||||
# -6/--ipv6 Resolve names to IPv6 addresses only
|
||||
# --definitions List all local definitions
|
||||
# -l/--list List latest stable releases for each Ruby
|
||||
# --version Show version of ruby-build
|
||||
# -l, --list List latest stable releases for each Ruby
|
||||
# --definitions List all local definitions, including outdated ones
|
||||
# --version Show version of ruby-build
|
||||
#
|
||||
# -v, --verbose Verbose mode: forward all build output to stdout/stderr
|
||||
# -p, --patch Apply a patch from stdin before building
|
||||
# -k, --keep Do not remove source tree after installation
|
||||
# -4, --ipv4 Resolve names to IPv4 addresses only
|
||||
# -6, --ipv6 Resolve names to IPv6 addresses only
|
||||
#
|
||||
|
||||
RUBY_BUILD_VERSION="20231025"
|
||||
|
|
|
@ -13,8 +13,10 @@ fi
|
|||
|
||||
BIN_PATH="${PREFIX}/bin"
|
||||
SHARE_PATH="${PREFIX}/share/ruby-build"
|
||||
MAN_PATH="${PREFIX}/share/man/man1"
|
||||
|
||||
mkdir -p "$BIN_PATH" "$SHARE_PATH"
|
||||
mkdir -p "$BIN_PATH" "$SHARE_PATH" "$MAN_PATH"
|
||||
|
||||
install -p bin/* "$BIN_PATH"
|
||||
install -p -m 0644 share/ruby-build/* "$SHARE_PATH"
|
||||
install -p -m 0644 share/man/man1/*.1 "$MAN_PATH"
|
||||
|
|
|
@ -39,8 +39,9 @@ fi
|
|||
|
||||
sed -i.bak -E "s!^(RUBY_BUILD_VERSION=).+!\\1\"${new_version}\"!" "$binfile"
|
||||
rm -f "${binfile}.bak"
|
||||
make share/man/man1/ruby-build.1
|
||||
|
||||
git commit -m "ruby-build ${new_version}" -- "$binfile"
|
||||
git commit -m "ruby-build ${new_version}" -- "$binfile" share/man/man1/ruby-build.1
|
||||
|
||||
git tag "$version_tag"
|
||||
git push origin master "${version_tag}"
|
||||
|
|
208
share/man/man1/ruby-build.1
generated
Normal file
208
share/man/man1/ruby-build.1
generated
Normal file
|
@ -0,0 +1,208 @@
|
|||
'\" t
|
||||
.\" Title: ruby-build
|
||||
.\" Author: Mislav Marohnić
|
||||
.\" Generator: Asciidoctor 2.0.20
|
||||
.\" Date: 2023-11-07
|
||||
.\" Manual: ruby-build Manual
|
||||
.\" Source: ruby-build 20231025
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "RUBY\-BUILD" "1" "2023-11-07" "ruby\-build 20231025" "ruby\-build Manual"
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.ss \n[.ss] 0
|
||||
.nh
|
||||
.ad l
|
||||
.de URL
|
||||
\fI\\$2\fP <\\$1>\\$3
|
||||
..
|
||||
.als MTO URL
|
||||
.if \n[.g] \{\
|
||||
. mso www.tmac
|
||||
. am URL
|
||||
. ad l
|
||||
. .
|
||||
. am MTO
|
||||
. ad l
|
||||
. .
|
||||
. LINKSTYLE blue R < >
|
||||
.\}
|
||||
.SH "NAME"
|
||||
ruby-build \- Download, compile, and install a version of Ruby.
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
ruby\-build [\-kpv] \fI<definition>\fP \fI<prefix>\fP [\-\- \fI<configure\-args...>\fP]
|
||||
.br
|
||||
ruby\-build {\-\-list|\-\-definitions}
|
||||
.br
|
||||
ruby\-build \-\-version
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
ruby\-build downloads, compiles, and installs a Ruby version named by the
|
||||
\fIdefinition\fP argument into the location specified by \fIprefix\fP. Optionally,
|
||||
extra Ruby configure arguments may be added after "\-\-".
|
||||
.sp
|
||||
The \fIdefinition\fP argument can be a path to a file on disk, in which case
|
||||
it is sourced into ruby\-build as a bash script.
|
||||
.sp
|
||||
By default, all compile output is redirected to a log file at:
|
||||
"$TMPDIR/ruby\-build.*.log". Activate the verbose mode to skip the log file
|
||||
and print everything to standard streams.
|
||||
.SH "ENVIRONMENT VARIABLES"
|
||||
.sp
|
||||
\fBTMPDIR\fP
|
||||
.RS 4
|
||||
The location to write temporary files on disk
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_BUILD_PATH\fP (default: a timestamped subdirectory of \fITMPDIR\fP)
|
||||
.RS 4
|
||||
The build location for downloading source files to and compiling
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_CACHE_PATH\fP (default: "~/.rbenv/cache" if invoked as rbenv plugin)
|
||||
.RS 4
|
||||
Where to cache downloaded package files
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_HTTP_CLIENT\fP (default: first tool found in PATH)
|
||||
.RS 4
|
||||
One of "aria2c", "curl", or "wget" to use for downloading
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_ARIA2_OPTS\fP
|
||||
.RS 4
|
||||
Additional options to pass to aria2c for downloading
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_CURL_OPTS\fP
|
||||
.RS 4
|
||||
Additional options to pass to curl for downloading
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_WGET_OPTS\fP
|
||||
.RS 4
|
||||
Additional options to pass to wget for downloading
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_MIRROR_URL\fP (default: a sponsored Amazon CloudFront mirror)
|
||||
.RS 4
|
||||
Custom mirror URL root to download packages from
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_MIRROR_PACKAGE_URL\fP
|
||||
.RS 4
|
||||
Custom complete mirror URL
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_SKIP_MIRROR\fP
|
||||
.RS 4
|
||||
Bypass the download mirror and fetch all package files from their original URLs
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_ROOT\fP (default: "share/ruby\-build" within ruby\-build install location)
|
||||
.RS 4
|
||||
Custom build definition directory
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_TARBALL_OVERRIDE\fP
|
||||
.RS 4
|
||||
Override the URL to fetch the ruby tarball from, optionally followed by "#<checksum>"
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_BUILD_DEFINITIONS\fP
|
||||
.RS 4
|
||||
Paths to search for build definitions in addition to \fIRUBY_BUILD_ROOT\fP
|
||||
.RE
|
||||
.sp
|
||||
\fBCC\fP
|
||||
.RS 4
|
||||
Path to the C compiler
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_CFLAGS\fP
|
||||
.RS 4
|
||||
Additional \f(CRCFLAGS\fP options to use for Ruby compilation
|
||||
.RE
|
||||
.sp
|
||||
\fBCONFIGURE_OPTS\fP
|
||||
.RS 4
|
||||
Additional "./configure" arguments
|
||||
.RE
|
||||
.sp
|
||||
\fBMAKE\fP (default: "make")
|
||||
.RS 4
|
||||
Custom make command (e.g., "gmake")
|
||||
.RE
|
||||
.sp
|
||||
\fBMAKE_OPTS\fP, \fBMAKEOPTS\fP
|
||||
.RS 4
|
||||
Additional arguments for "make"
|
||||
.RE
|
||||
.sp
|
||||
\fBMAKE_INSTALL_OPTS\fP
|
||||
.RS 4
|
||||
Additional arguments for "make install"
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_CONFIGURE_OPTS\fP
|
||||
.RS 4
|
||||
Additional "./configure" arguments that apply only to Ruby source
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_MAKE_OPTS\fP
|
||||
.RS 4
|
||||
Additional make arguments that apply only to Ruby source
|
||||
.RE
|
||||
.sp
|
||||
\fBRUBY_MAKE_INSTALL_OPTS\fP
|
||||
.RS 4
|
||||
Additional "make install" arguments that apply only to Ruby source
|
||||
.RE
|
||||
.sp
|
||||
\fBNO_COLOR\fP (default: allow colors when connected to terminal)
|
||||
.RS 4
|
||||
Disable ANSI colors in output
|
||||
.RE
|
||||
.sp
|
||||
\fBCLICOLOR_FORCE\fP
|
||||
.RS 4
|
||||
Use ANSI colors in output even when not connected to a terminal
|
||||
.RE
|
||||
.SH "NOTES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
. sp -1
|
||||
. IP \(bu 2.3
|
||||
.\}
|
||||
.URL "https://github.com/rbenv/ruby\-build#readme" "" ""
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
. sp -1
|
||||
. IP \(bu 2.3
|
||||
.\}
|
||||
.URL "https://github.com/rbenv/ruby\-build/wiki" "" ""
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
. sp -1
|
||||
. IP \(bu 2.3
|
||||
.\}
|
||||
.URL "https://github.com/rbenv/ruby\-build/discussions" "" ""
|
||||
.RE
|
||||
.SH "AUTHOR"
|
||||
.sp
|
||||
Mislav Marohnić
|
111
share/man/man1/ruby-build.1.adoc
Normal file
111
share/man/man1/ruby-build.1.adoc
Normal file
|
@ -0,0 +1,111 @@
|
|||
= ruby-build(1)
|
||||
Mislav Marohnić
|
||||
:doctype: manpage
|
||||
:man manual: ruby-build Manual
|
||||
:man source: ruby-build {version}
|
||||
:man-linkstyle: pass:[blue R < >]
|
||||
|
||||
== Name
|
||||
|
||||
ruby-build - Download, compile, and install a version of Ruby.
|
||||
|
||||
== Synopsis
|
||||
|
||||
ruby-build [-kpv] _<definition>_ _<prefix>_ [-- _<configure-args...>_] +
|
||||
ruby-build {--list|--definitions} +
|
||||
ruby-build --version
|
||||
|
||||
== Description
|
||||
|
||||
ruby-build downloads, compiles, and installs a Ruby version named by the
|
||||
_definition_ argument into the location specified by _prefix_. Optionally,
|
||||
extra Ruby configure arguments may be added after "--".
|
||||
|
||||
The _definition_ argument can be a path to a file on disk, in which case
|
||||
it is sourced into ruby-build as a bash script.
|
||||
|
||||
By default, all compile output is redirected to a log file at:
|
||||
"$TMPDIR/ruby-build.*.log". Activate the verbose mode to skip the log file
|
||||
and print everything to standard streams.
|
||||
|
||||
== Environment Variables
|
||||
|
||||
*TMPDIR*::
|
||||
The location to write temporary files on disk
|
||||
|
||||
*RUBY_BUILD_BUILD_PATH* (default: a timestamped subdirectory of _TMPDIR_)::
|
||||
The build location for downloading source files to and compiling
|
||||
|
||||
*RUBY_BUILD_CACHE_PATH* (default: "~/.rbenv/cache" if invoked as rbenv plugin)::
|
||||
Where to cache downloaded package files
|
||||
|
||||
*RUBY_BUILD_HTTP_CLIENT* (default: first tool found in PATH)::
|
||||
One of "aria2c", "curl", or "wget" to use for downloading
|
||||
|
||||
*RUBY_BUILD_ARIA2_OPTS*::
|
||||
Additional options to pass to aria2c for downloading
|
||||
|
||||
*RUBY_BUILD_CURL_OPTS*::
|
||||
Additional options to pass to curl for downloading
|
||||
|
||||
*RUBY_BUILD_WGET_OPTS*::
|
||||
Additional options to pass to wget for downloading
|
||||
|
||||
*RUBY_BUILD_MIRROR_URL* (default: a sponsored Amazon CloudFront mirror)::
|
||||
Custom mirror URL root to download packages from
|
||||
|
||||
*RUBY_BUILD_MIRROR_PACKAGE_URL*::
|
||||
Custom complete mirror URL
|
||||
|
||||
*RUBY_BUILD_SKIP_MIRROR*::
|
||||
Bypass the download mirror and fetch all package files from their original URLs
|
||||
|
||||
*RUBY_BUILD_ROOT* (default: "share/ruby-build" within ruby-build install location)::
|
||||
Custom build definition directory
|
||||
|
||||
*RUBY_BUILD_TARBALL_OVERRIDE*::
|
||||
Override the URL to fetch the ruby tarball from, optionally followed by "#<checksum>"
|
||||
|
||||
*RUBY_BUILD_DEFINITIONS*::
|
||||
Paths to search for build definitions in addition to _RUBY_BUILD_ROOT_
|
||||
|
||||
*CC*::
|
||||
Path to the C compiler
|
||||
|
||||
*RUBY_CFLAGS*::
|
||||
Additional `CFLAGS` options to use for Ruby compilation
|
||||
|
||||
*CONFIGURE_OPTS*::
|
||||
Additional "./configure" arguments
|
||||
|
||||
*MAKE* (default: "make")::
|
||||
Custom make command (e.g., "gmake")
|
||||
|
||||
*MAKE_OPTS*, *MAKEOPTS*::
|
||||
Additional arguments for "make"
|
||||
|
||||
*MAKE_INSTALL_OPTS*::
|
||||
Additional arguments for "make install"
|
||||
|
||||
*RUBY_CONFIGURE_OPTS*::
|
||||
Additional "./configure" arguments that apply only to Ruby source
|
||||
|
||||
*RUBY_MAKE_OPTS*::
|
||||
Additional make arguments that apply only to Ruby source
|
||||
|
||||
*RUBY_MAKE_INSTALL_OPTS*::
|
||||
Additional "make install" arguments that apply only to Ruby source
|
||||
|
||||
*NO_COLOR* (default: allow colors when connected to terminal)::
|
||||
Disable ANSI colors in output
|
||||
|
||||
*CLICOLOR_FORCE*::
|
||||
Use ANSI colors in output even when not connected to a terminal
|
||||
|
||||
== Notes
|
||||
|
||||
* https://github.com/rbenv/ruby-build#readme
|
||||
|
||||
* https://github.com/rbenv/ruby-build/wiki
|
||||
|
||||
* https://github.com/rbenv/ruby-build/discussions
|
|
@ -16,6 +16,8 @@ load test_helper
|
|||
|
||||
assert [ -e share/ruby-build/1.8.6-p383 ]
|
||||
assert [ -e share/ruby-build/ree-1.8.7-2012.02 ]
|
||||
assert [ -e share/man/man1/ruby-build.1 ]
|
||||
assert [ ! -e share/man/man1/ruby-build.1.adoc ]
|
||||
}
|
||||
|
||||
@test "build definitions don't have the executable bit" {
|
||||
|
|
|
@ -101,11 +101,11 @@ The following versions contain \`1.9.3' in the name:
|
|||
1.9.3-p0
|
||||
1.9.3-p194
|
||||
|
||||
See all available versions with \`rbenv install --list'.
|
||||
See all available versions with \`rbenv install --list-all'.
|
||||
|
||||
If the version you need is missing, try upgrading ruby-build:
|
||||
|
||||
git -C ${BATS_TEST_DIRNAME}/.. pull
|
||||
git -C ${BATS_TEST_DIRNAME/$HOME\//~/}/.. pull
|
||||
OUT
|
||||
|
||||
unstub brew
|
||||
|
@ -122,7 +122,7 @@ OUT
|
|||
assert_output <<OUT
|
||||
ERROR
|
||||
|
||||
See all available versions with \`rbenv install --list'.
|
||||
See all available versions with \`rbenv install --list-all'.
|
||||
|
||||
If the version you need is missing, try upgrading ruby-build:
|
||||
|
||||
|
|
Loading…
Reference in a new issue