Skip to content

Check shell profile is writeable before modifying#544

Closed
atcruice wants to merge 1 commit intoNixOS:masterfrom
atcruice:install-script-shell-profile-modification
Closed

Check shell profile is writeable before modifying#544
atcruice wants to merge 1 commit intoNixOS:masterfrom
atcruice:install-script-shell-profile-modification

Conversation

@atcruice
Copy link
Contributor

The set -e at the top of the script causes the installation to fail to complete if the shell profile is not writeable. Checking file existence only is not enough.

I use a shell configuration tool, fresh, to build my setup. The .bash_profile present in my home directory is actually a symlink to a composed file managed by fresh. It's not writeable by the user running the nix install script and this was causing the install to fail abruptly when attempting to modify it. The installer assumed that testing file existence was enough to ensure writing to it was possible.

The `set -e` at the top of the script causes the installation to fail to
complete if the shell profile is not writeable. Checking file existence
only is not enough.
@atcruice atcruice closed this Feb 10, 2016
@atcruice atcruice deleted the install-script-shell-profile-modification branch February 10, 2016 01:33
roberth pushed a commit that referenced this pull request Nov 20, 2024
Before this change, expressions like:

with import <nixpkgs> {};
runCommand "foo" {} ''
  echo '@nix {}' >&$NIX_LOG_FD
''

would result in Lix crashing, because accessing nonexistent fields of
a JSON object throws an exception.

Rather than handling each field individually, we just catch JSON
exceptions wholesale. Since these log messages are an unusual
circumstance, log a warning when this happens.

Fixes #544.

Change-Id: Idc2d8acf6e37046b3ec212f42e29269163dca893
(cherry picked from commit e55cd3b)
roberth pushed a commit that referenced this pull request Nov 24, 2024
Before this change, expressions like:

with import <nixpkgs> {};
runCommand "foo" {} ''
  echo '@nix {}' >&$NIX_LOG_FD
''

would result in Lix crashing, because accessing nonexistent fields of
a JSON object throws an exception.

Rather than handling each field individually, we just catch JSON
exceptions wholesale. Since these log messages are an unusual
circumstance, log a warning when this happens.

Fixes #544.

Change-Id: Idc2d8acf6e37046b3ec212f42e29269163dca893
(cherry picked from commit e55cd3b)
roberth pushed a commit that referenced this pull request Dec 9, 2024
Before this change, expressions like:

with import <nixpkgs> {};
runCommand "foo" {} ''
  echo '@nix {}' >&$NIX_LOG_FD
''

would result in Lix crashing, because accessing nonexistent fields of
a JSON object throws an exception.

Rather than handling each field individually, we just catch JSON
exceptions wholesale. Since these log messages are an unusual
circumstance, log a warning when this happens.

Fixes #544.

Change-Id: Idc2d8acf6e37046b3ec212f42e29269163dca893
(cherry picked from commit e55cd3b)
mergify bot pushed a commit that referenced this pull request Dec 9, 2024
Before this change, expressions like:

with import <nixpkgs> {};
runCommand "foo" {} ''
  echo '@nix {}' >&$NIX_LOG_FD
''

would result in Lix crashing, because accessing nonexistent fields of
a JSON object throws an exception.

Rather than handling each field individually, we just catch JSON
exceptions wholesale. Since these log messages are an unusual
circumstance, log a warning when this happens.

Fixes #544.

Change-Id: Idc2d8acf6e37046b3ec212f42e29269163dca893
(cherry picked from commit e55cd3b)
(cherry picked from commit ee03fd4)
mergify bot pushed a commit that referenced this pull request Dec 9, 2024
Before this change, expressions like:

with import <nixpkgs> {};
runCommand "foo" {} ''
  echo '@nix {}' >&$NIX_LOG_FD
''

would result in Lix crashing, because accessing nonexistent fields of
a JSON object throws an exception.

Rather than handling each field individually, we just catch JSON
exceptions wholesale. Since these log messages are an unusual
circumstance, log a warning when this happens.

Fixes #544.

Change-Id: Idc2d8acf6e37046b3ec212f42e29269163dca893
(cherry picked from commit e55cd3b)
(cherry picked from commit ee03fd4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant