]> git.proxmox.com Git - rustc.git/blame - src/rust-installer/README.md
New upstream version 1.18.0+dfsg1
[rustc.git] / src / rust-installer / README.md
CommitLineData
1a4d82fc
JJ
1[![Build Status](https://travis-ci.org/rust-lang/rust-installer.svg?branch=master)](https://travis-ci.org/rust-lang/rust-installer)
2
3A generator for the install.sh script commonly used to install Rust in
4Unix environments. It is used By Rust, Cargo, and is intended to be
5used by a future combined installer of Rust + Cargo.
6
7# Usage
8
9```
10./gen-installer.sh --product-name=Rust \
1a4d82fc
JJ
11 --rel-manifest-dir=rustlib \
12 --success-message=Rust-is-ready-to-roll. \
13 --image-dir=./install-image \
14 --work-dir=./temp \
15 --output-dir=./dist \
85aaf69f 16 --non-installed-overlay=./overlay \
1a4d82fc
JJ
17 --package-name=rustc-nightly-i686-apple-darwin \
18 --component-name=rustc \
19 --legacy-manifest-dirs=rustlib \
20 --bulk-dirs=share/doc
21```
22
23Or, to just generate the script.
24
25```
26./gen-install-script.sh --product-name=Rust \
1a4d82fc
JJ
27 --rel-manifest-dir=rustlib \
28 --success-message=Rust-is-ready-to-roll. \
29 --output-script=install.sh \
30 --legacy-manifest-dirs=rustlib
31```
32
33*Note: the dashes in `success-message` are converted to spaces. The
34script's argument handling is broken with spaces.*
35
36To combine installers.
37
38```
39./combine-installers.sh --product-name=Rust \
1a4d82fc
JJ
40 --rel-manifest-dir=rustlib \
41 --success-message=Rust-is-ready-to-roll. \
42 --work-dir=./temp \
43 --output-dir=./dist \
44 --non-installed-overlay=./overlay \
45 --package-name=rustc-nightly-i686-apple-darwin \
46 --legacy-manifest-dirs=rustlib \
47 --input-tarballs=./rustc.tar.gz,cargo.tar.gz
85aaf69f
SL
48```
49
50# Future work
51
52* Make install.sh not have to be customized, pull it's data from a
53 config file.
54* Be more resiliant to installation failures, particularly if the disk
55 is full.
56* Pre-install and post-uninstall scripts.
57* Allow components to depend on or contradict other components.
58* Sanity check that expected destination dirs (bin, lib, share exist)?
59* Add --docdir flag. Is there a standard name for this?
60* Remove empty directories on uninstall.
61* Detect mismatches in --prefix, --mandir, etc. in follow-on
62 installs/uninstalls.
63* Fix argument handling for spaces.
64* Add --bindir.
c1a9b12d
SL
65
66# License
67
68This software is distributed under the terms of both the MIT license
69and/or the Apache License (Version 2.0), at your option.
70
71See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details.