]> git.proxmox.com Git - rustc.git/blob - src/rust-installer/README.md
Imported Upstream version 1.3.0+dfsg1
[rustc.git] / src / rust-installer / README.md
1 [![Build Status](https://travis-ci.org/rust-lang/rust-installer.svg?branch=master)](https://travis-ci.org/rust-lang/rust-installer)
2
3 A generator for the install.sh script commonly used to install Rust in
4 Unix environments. It is used By Rust, Cargo, and is intended to be
5 used by a future combined installer of Rust + Cargo.
6
7 # Usage
8
9 ```
10 ./gen-installer.sh --product-name=Rust \
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 \
16 --non-installed-overlay=./overlay \
17 --package-name=rustc-nightly-i686-apple-darwin \
18 --component-name=rustc \
19 --legacy-manifest-dirs=rustlib \
20 --bulk-dirs=share/doc
21 ```
22
23 Or, to just generate the script.
24
25 ```
26 ./gen-install-script.sh --product-name=Rust \
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
34 script's argument handling is broken with spaces.*
35
36 To combine installers.
37
38 ```
39 ./combine-installers.sh --product-name=Rust \
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
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.
65
66 # License
67
68 This software is distributed under the terms of both the MIT license
69 and/or the Apache License (Version 2.0), at your option.
70
71 See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details.