Skip to content

The Bourne shell installer used by Rust and Cargo

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

rust-lang/rust-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7effdc4 · Aug 8, 2017
May 31, 2017
Oct 5, 2016
May 5, 2017
Mar 14, 2017
May 6, 2017
May 31, 2017
Jul 10, 2015
Jul 10, 2015
Jul 10, 2015
Aug 8, 2017
Aug 8, 2017
Aug 8, 2017
Aug 8, 2017
May 5, 2017
Feb 6, 2015
Aug 8, 2017

Repository files navigation

Build Status

A generator for the install.sh script commonly used to install Rust in Unix environments. It is used By Rust, Cargo, and is intended to be used by a future combined installer of Rust + Cargo.

Usage

./gen-installer.sh --product-name=Rust \
                   --rel-manifest-dir=rustlib \
                   --success-message=Rust-is-ready-to-roll. \
                   --image-dir=./install-image \
                   --work-dir=./temp \
                   --output-dir=./dist \
                   --non-installed-overlay=./overlay \
                   --package-name=rustc-nightly-i686-apple-darwin \
                   --component-name=rustc \
                   --legacy-manifest-dirs=rustlib \
                   --bulk-dirs=share/doc

Or, to just generate the script.

./gen-install-script.sh --product-name=Rust \
                        --rel-manifest-dir=rustlib \
                        --success-message=Rust-is-ready-to-roll. \
                        --output-script=install.sh \
                        --legacy-manifest-dirs=rustlib

Note: the dashes in success-message are converted to spaces. The script's argument handling is broken with spaces.

To combine installers.

./combine-installers.sh --product-name=Rust \
                        --rel-manifest-dir=rustlib \
                        --success-message=Rust-is-ready-to-roll. \
                        --work-dir=./temp \
                        --output-dir=./dist \
                        --non-installed-overlay=./overlay \
                        --package-name=rustc-nightly-i686-apple-darwin \
                        --legacy-manifest-dirs=rustlib \
                        --input-tarballs=./rustc.tar.gz,cargo.tar.gz

Future work

  • Make install.sh not have to be customized, pull it's data from a config file.
  • Be more resiliant to installation failures, particularly if the disk is full.
  • Pre-install and post-uninstall scripts.
  • Allow components to depend on or contradict other components.
  • Sanity check that expected destination dirs (bin, lib, share exist)?
  • Add --docdir flag. Is there a standard name for this?
  • Remove empty directories on uninstall.
  • Detect mismatches in --prefix, --mandir, etc. in follow-on installs/uninstalls.
  • Fix argument handling for spaces.
  • Add --bindir.

License

This software is distributed under the terms of both the MIT license and/or the Apache License (Version 2.0), at your option.

See LICENSE-APACHE, LICENSE-MIT for details.

About

The Bourne shell installer used by Rust and Cargo

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published