Satadru Pramanik, DO, MPH, MEng 43c334de5f Autosource ~/.bashrc (#9649)
* Autosource ~/.bashrc

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add exitmessage...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use env variable to gate USR1

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add logging

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust logging, add more documentation

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* move env sourced variable in const.rb

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update flag variable to be CREW_SOURCE_BASHRC_ACTIVATED

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Remove need for CREW_SOURCE_BASHRC_ACTIVATED env variable

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix logic for trap detection

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* revert to using env variable as flag for bash trap enablement

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add reversion to env based crew_profile_base trap detection

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* move SOURCE_BASHRC code block

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use fd instead of env variable, check for interactive terminal in selector

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix fd check

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add exit to shell for installer so that bashrc does not have to be sourced manually after install is run.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* do not use @pkg unless defined

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Do not tread on #9654

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add some debug code to progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup selector and progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* remove debug code from progress_bar

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* refactor to use changed bash process name

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust comment

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* disable more debug code

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix comparison

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix unit test

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add some debugging to selector

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* move crewlog to separate file

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use global verbose

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust timeout to 1 for selector

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* "workaround" using a global variable

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix CREW_VERBOSE

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use CREW_VERBOSE

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* switch all @opt_verbose to CREW_VERBOSE

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* try to work around missing constant on update

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add print_source_bashrc to ccache

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* uncommented crewlog lines in crew

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* remove debug crewlog lines

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-04-15 21:28:42 -05:00
2024-04-15 21:28:42 -05:00
2024-04-15 21:28:42 -05:00
2024-04-15 21:28:42 -05:00
2024-04-15 06:10:05 -04:00
2024-04-15 21:28:42 -05:00
2024-04-15 06:10:05 -04:00
2022-03-04 11:31:03 -06:00
2023-06-13 23:42:56 -04:00
2017-02-10 18:52:08 -07:00
2023-06-22 10:30:08 -05:00
2024-03-20 08:46:01 -04:00

Chromebrew icon

Chromebrew

The Missing Package Manager For Chrome OS

Chat With Us

Note

Discord is not currently syncing messages with Slack

Slack Invite Discord Invite

Overview

Chromebooks with ChromeOS run a Linux kernel. The only missing pieces to use them as full-featured Linux distro were gcc and make with their dependencies. Well, these pieces aren't missing anymore. Say hello to Chromebrew!

Prerequisites

You will need a Chromebook with developer mode enabled. To do so, select your device on the ChromiumOS Wiki and follow the instructions listed there.

Warning

Please be aware of the fact that developer mode is insecure if not properly configured.

Tip

Setting a password as instructed in the VT-2 login screen is recommended. It is also recommended to enable signed boot:

sudo chromeos-setdevpasswd
sudo crossystem dev_boot_signed_only=1

Supported Systems

Architecture Supported?
x86_64 Yes
i686 Yes*
armv7l Yes
aarch64 Yes

* We can only provide limited support for i686 since Google has discontinued support. Although we can no longer support GUI apps, we will try to continue to support CLI programs.

Installation

Important

The beta, dev, and Canary channels are not supported and should not be used with Chromebrew. Failure to take notice of this warning will cause major issues with your Chromebrew installation.

See issue #2890 and the FAQ for more details.

Warning

On ChromeOS M117+, the Chromebrew installer will not work in crosh anymore due to the security changes introduced in ChromeOS M117.

Open a VT-2 terminal session with Ctrl+Alt+-> and login with the chronos user and password if set above. (if you are unable to do this, please have a second look at the prerequisites and make sure your Chromebook is in developer mode)

Then run the installation script below:

exec bash --init-file <(curl -Ls git.io/vddgY)

Help

Please check out the wiki to find out more information about Chromebrew including helpful tips, resource links and frequently asked questions.

Also please check existing issues before submitting a new one.

Usage

crew <command> <package1> [<package2> ...]

Where available commands are:

Command Description
build build package(s) from source and store the archive and checksum in the current working directory
check check packages(s)
const display constant(s)
deps display dependencies of package(s)
download download package(s) to CREW_BREW_DIR (/usr/local/tmp/crew by default), but don't install
files display installed files of package(s)
help get information about command usage
install install package(s) along with dependencies after prompting for confirmation
list available, installed, compatible or incompatible packages
postinstall display postinstall messages of package(s)
prop display all package boolean properties
reinstall remove and install package(s)
remove remove package(s)
search look for package(s)
sysinfo show system information in markdown style
test test crew command(s)
update update crew itself
upgrade update all or specific package(s)
upload upload binaries for all or specific package(s)
whatprovides regex search for package(s) that contains file(s)

Available packages are listed in the packages directory.

Chromebrew will wipe its BREW_DIR (/usr/local/tmp/crew by default) after installation unless you pass -k or --keep when running crew install.

crew install --keep [...]

License

Copyright 2013-2024 Michal Siwek and all the awesome contributors.

This project including all of its source files is released under the terms of GNU General Public License (version 3 or later). This project embeds docopt.rb at lib/docopt.rb. We retain its MIT license.

GNU General Public License MIT License
Description
No description provided
Readme GPL-3.0 160 MiB
Languages
Ruby 98.6%
Shell 1.4%