commit | fef1539547a8c5ea735ce8b0b9a2deab87d07813 | [log] [tgz] |
---|---|---|
author | Rich Kadel <richkadel@google.com> | Wed Dec 19 14:58:24 2018 -0800 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Fri Dec 21 18:38:06 2018 +0000 |
tree | 9da827c951c8dd34d53745525b587ace70cbd5c2 | |
parent | 6f0cf76be825204a19833f4769874a7aedfd8501 [diff] |
Addresses [shell scripts may fail if 'cd' writes to stdout](https://fuchsia.atlassian.net/browse/ZX-3212) Updated all //scripts/* scripts using cd to find a path, to suppress output, and calls to vars.sh now check for an error status. Output is suppressed by redirecting stdout to /dev/null. stderr is also redirected to /dev/null to ensure there are no unintended side effects of calling "cd" in a subshell (avoids unintentional escape sequences, such as updating a terminal window title bar to the wrong directory). Note that I found multiple ways the default (builtin) version of cd can output to stdout. GNU bash can output the path to stdout in some situations if CDPATH is set. zsh can output the path to stdout even if CDPATH is not set. Change-Id: I47da2bac4decd7c7ee8a325f9385d0fc4060aabe
This repository is for scripts useful when hacking on Fuchsia. This repository should contain scripts that perform tasks spanning multiple repositories. Scripts that only operate within a single repository should live in the relevant repository.
The push-package.py script pushes the files listed in the given manifests files. No checking is performed for incremental changes.
The sample command lines below can be used to build Modular and then push those files to the default device. This assumes you have already booted your device with a version of Fuchsia that contains the most recent version of all other packages. This command line uses the “system_manifest” file from each of the modular directories, such as modular, modular_dev, and modular_tests.
cd $FUCHSIA_DIR fx build peridot:modular_all scripts/push-package.py out/debug-x64/package/modular*/system_manifest
fx publish
will take a package from the build and create a Fuchsia package manager package from a build package. It will then add the package to a local update respository which, by default, is put at ${FUCHSIA_BUILD_DIR}/amber-files
. It will also add the package content files to the update repository and name these file after their Merkle Root. If a package name is supplied to fx publish
, only that package will be processed. If no name is supplied, all the packages made by the build will be included.