From 6ba7de48b7bd98bda895c8948ddbc011c8982c33 Mon Sep 17 00:00:00 2001 From: Chuck Lantz Date: Wed, 11 Dec 2019 20:50:33 +0000 Subject: [PATCH] Updates for 1.41 --- .devcontainer/Dockerfile | 17 ++++++++++------- .devcontainer/devcontainer.json | 23 ++++++++++------------- .gitignore | 2 ++ README.md | 13 +++++++++---- target/.rustc_info.json | 1 - target/rls/.rustc_info.json | 1 - 6 files changed, 31 insertions(+), 26 deletions(-) delete mode 100644 target/.rustc_info.json delete mode 100644 target/rls/.rustc_info.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 54d4a18..533a40f 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -5,7 +5,10 @@ FROM rust:1 -# Or your actual UID, GID on Linux if not the default 1000 +# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser" +# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs +# will be updated to match your local UID/GID (when using the dockerFile property). +# See https://aka.ms/vscode-remote/containers/non-root-user for details. ARG USERNAME=vscode ARG USER_UID=1000 ARG USER_GID=$USER_UID @@ -18,10 +21,10 @@ RUN apt-get update \ && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ # # Verify git, needed tools installed - && apt-get -y install git procps lsb-release \ + && apt-get -y install git iproute2 procps lsb-release \ # - # Install other dependencies - && apt-get install -y lldb \ + # Install lldb, vadimcn.vscode-lldb VSCode extension dependencies + && apt-get install -y lldb python3-minimal libpython3.7 \ # # Install Rust components && rustup update \ @@ -30,9 +33,9 @@ RUN apt-get update \ # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user. && groupadd --gid $USER_GID $USERNAME \ && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \ - # [Optional] Add sudo support for non-root user + # [Optional] Add sudo support for the non-root user && apt-get install -y sudo \ - && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ + && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\ && chmod 0440 /etc/sudoers.d/$USERNAME \ # # Clean up @@ -41,4 +44,4 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* # Switch back to dialog for any ad-hoc use of apt-get -ENV DEBIAN_FRONTEND= +ENV DEBIAN_FRONTEND=dialog diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f9e5030..6250f96 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,29 +1,26 @@ { "name": "Rust", "dockerFile": "Dockerfile", - - "runArgs": [ - // Comment out the next line to run as root instead. Linux users, - // update Dockerfile with your user's UID/GID if not 1000. - "-u", "vscode", - - "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" - ], + "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], // Use 'settings' to set *default* container specific settings.json values on container create. // You can edit these settings after create using File > Preferences > Settings > Remote. "settings": { - "lldb.adapterType": "bundled", - "lldb.executable": "/usr/bin/lldb", - "terminal.integrated.shell.linux": "/bin/bash" + "terminal.integrated.shell.linux": "/bin/bash", + "lldb.executable": "/usr/bin/lldb" }, - // Uncomment the next line if you want to publish any ports. + // Use 'appPort' to create a container with published ports. If the port isn't working, be sure + // your server accepts connections from all interfaces (0.0.0.0 or '*'), not just localhost. // "appPort": [], // Uncomment the next line to run commands after the container is created. - // "postCreateCommand": "rustc --version" + // "postCreateCommand": "rustc --version", + // Comment out the next line to run as root + "remoteUser": "vscode", + + // Add the IDs of extensions you want installed when the container is created in the array below. "extensions": [ "rust-lang.rust", "bungcip.better-toml", diff --git a/.gitignore b/.gitignore index 3e759b7..d92ee43 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore +target + # User-specific files *.suo *.user diff --git a/README.md b/README.md index 5524a73..e0d589c 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,23 @@ Follow these steps to open this sample in a container: 1. If this is your first time using a development container, please follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started). -2. **Linux users:** Update `USER_UID` and `USER_GID` in `.devcontainer/Dockerfile` with your user UID/GID if not 1000 to avoid creating files as root. +2. To use this repository, you can either open a locally cloned copy of the code: -3. If you're not yet in a development container: - - Clone this repository. + - Clone this repository to your local filesystem. - Press F1 and select the **Remote-Containers: Open Folder in Container...** command. - Select the cloned copy of this folder, wait for the container to start, and try things out! + Or open the repository in an isolated Docker volume: + + - Press F1 and select the **Remote-Containers: Try a Sample...** command. + - Choose the "Node" sample, wait for the container to start and try things out! + > **Note:** Under the hood, this will use **Remote-Containers: Open Repository in Container...** command to clone the source code in a Docker volume instead of the local filesystem. + ## Things to try Once you have this sample opened in a container, you'll be able to work with it like you would locally. -> **Note:** This container runs as a non-root user with sudo access by default. Comment out `"-u", "vscode"` in `.devcontainer/devcontainer.json` if you'd prefer to run as root. +> **Note:** This container runs as a non-root user with sudo access by default. Comment out `"remoteUser": "vscode"` in `.devcontainer/devcontainer.json` if you'd prefer to run as root. Some things to try: diff --git a/target/.rustc_info.json b/target/.rustc_info.json deleted file mode 100644 index 59899ea..0000000 --- a/target/.rustc_info.json +++ /dev/null @@ -1 +0,0 @@ -{"rustc_fingerprint":17875471065296811878,"outputs":{"15337506775154344876":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/usr/local/rustup/toolchains/1.34.1-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n",""],"1164083562126845933":["rustc 1.34.1 (fc50f328b 2019-04-24)\nbinary: rustc\ncommit-hash: fc50f328b0353b285421b8ff5d4100966387a997\ncommit-date: 2019-04-24\nhost: x86_64-unknown-linux-gnu\nrelease: 1.34.1\nLLVM version: 8.0\n",""],"1617349019360157463":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/usr/local/rustup/toolchains/1.34.1-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n",""]},"successes":{}} \ No newline at end of file diff --git a/target/rls/.rustc_info.json b/target/rls/.rustc_info.json deleted file mode 100644 index e9ae1fe..0000000 --- a/target/rls/.rustc_info.json +++ /dev/null @@ -1 +0,0 @@ -{"rustc_fingerprint":17875471065296811878,"outputs":{"1164083562126845933":["rustc 1.34.1 (fc50f328b 2019-04-24)\nbinary: rustc\ncommit-hash: fc50f328b0353b285421b8ff5d4100966387a997\ncommit-date: 2019-04-24\nhost: x86_64-unknown-linux-gnu\nrelease: 1.34.1\nLLVM version: 8.0\n",""],"15337506775154344876":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/usr/local/rustup/toolchains/1.34.1-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n",""],"1617349019360157463":["___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/usr/local/rustup/toolchains/1.34.1-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n",""]},"successes":{}} \ No newline at end of file