Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

scripts/eosio_build.sh is unfriendly when asking "Do you wish to update repositories"? #6931

Closed
matthewdarwin opened this issue Mar 14, 2019 · 6 comments
Assignees

Comments

@matthewdarwin
Copy link

Pressing simply ENTER at the prompt below, has the build script exit. It should prompt again if it didn't get the answer it wanted.

OS name: Ubuntu
OS Version: 18.04
CPU speed: 2400.099Mhz
CPU cores: 8
Physical Memory: 32150 Mgb
Disk install: /dev/sda2
Disk space total: 16663G
Disk space available: 10815G
Do you wish to update repositories with apt-get update? (y/n)
Please type 'y' for yes or 'n' for no.
[now the program exits]

Actually I never want the script to auto-update the repo... just tell me what it needs if they are not there and fail due to missing requirements.

@taokayan taokayan added the bug label Mar 14, 2019
@NorseGaud NorseGaud self-assigned this Mar 14, 2019
@matthewdarwin
Copy link
Author

Actually for unattended builds, I don't want it to ask any questions. (I could pass command line argument to supress the prompt if you really want to prompt for users who don't have automated builds)

@NorseGaud
Copy link
Contributor

There is a new non-interactive flag you can pass in that will answer yes to all prompts: -y

@matthewdarwin
Copy link
Author

Except, that I don't want package install automatically thanks. I'm trying to run a build machine that compiles multiple versions of nodeos at the same time. So anything modifying the O/S needs my manual intervention.

As a block producer, I need to support multiple versions of nodeos at the same time because different chains move at different speeds. It's normal to have 3 versions running at the same time (1.5.x, 1.6.x and 1.7.x)

@NorseGaud
Copy link
Contributor

NorseGaud commented Mar 14, 2019

Debian packages are available which are intended to function with other versions installed:
wget https://github.com/eosio/eos/releases/download/v1.7.0/eosio_1.7.0-1-ubuntu-18.04_amd64.deb
$ sudo apt install ./eosio_1.7.0-1-ubuntu-18.04_amd64.deb

I’m told that the build scripts are mostly intended for our internal automated build/testing. There are however some changes I can make which will allow the setting of environment variables like BOOST_ROOT before you run the script, avoiding the reinstallation of dependencies between 1.6.x and 1.7.0. The problem is that versions might change and there is no way to guarantee that, should we change a dependency version, you’re not going to still be loading the older version and potentially break something without noticing it.

@matthewdarwin
Copy link
Author

I can't use the pre-built binaries because I need to be able to apply patches when B1 releases them. Patches are released as a git diff file. Unless B1 is changing the release strategy for that. I also need custom plugins. eosio doesn't support dynamically loading plugins, so needs to be done at compile time.

As a workaround, for now I will change $HOME before calling eosio_build using a unique path for each version.

@NorseGaud
Copy link
Contributor

New build scripts will address all concerns within this issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants