Skip to content

Commit 00769c0

Browse files
authored
Merge pull request #847 from yuvipanda/no-node
Remove nodesource' nodejs
2 parents 4da2e1e + 7aee21f commit 00769c0

15 files changed

+371
-361
lines changed

repo2docker/buildpacks/base.py

-30
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,6 @@
5252
--uid ${NB_UID} \
5353
${NB_USER}
5454
55-
RUN wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
56-
DISTRO="bionic" && \
57-
echo "deb https://deb.nodesource.com/node_14.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list && \
58-
echo "deb-src https://deb.nodesource.com/node_14.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list
59-
6055
# Base package installs are not super interesting to users, so hide their outputs
6156
# If install fails for some reason, errors will still be printed
6257
RUN apt-get -qq update && \
@@ -247,7 +242,6 @@ def get_base_packages(self):
247242
return {
248243
# Utils!
249244
"less",
250-
"nodejs",
251245
"unzip",
252246
}
253247

@@ -622,32 +616,8 @@ def get_build_env(self):
622616
"""Return env directives required for build"""
623617
return [
624618
("APP_BASE", "/srv"),
625-
("NPM_DIR", "${APP_BASE}/npm"),
626-
("NPM_CONFIG_GLOBALCONFIG", "${NPM_DIR}/npmrc"),
627619
]
628620

629-
def get_path(self):
630-
return super().get_path() + ["${NPM_DIR}/bin"]
631-
632-
def get_build_scripts(self):
633-
scripts = [
634-
(
635-
"root",
636-
r"""
637-
mkdir -p ${NPM_DIR} && \
638-
chown -R ${NB_USER}:${NB_USER} ${NPM_DIR}
639-
""",
640-
),
641-
(
642-
"${NB_USER}",
643-
r"""
644-
npm config --global set prefix ${NPM_DIR}
645-
""",
646-
),
647-
]
648-
649-
return super().get_build_scripts() + scripts
650-
651621
def get_env(self):
652622
"""Return env directives to be set after build"""
653623
return []

repo2docker/buildpacks/conda/__init__.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ def get_build_env(self):
5151
env = super().get_build_env() + [
5252
("CONDA_DIR", "${APP_BASE}/conda"),
5353
("NB_PYTHON_PREFIX", "${CONDA_DIR}/envs/notebook"),
54+
# We install npm / node from conda-forge
55+
("NPM_DIR", "${APP_BASE}/npm"),
56+
("NPM_CONFIG_GLOBALCONFIG", "${NPM_DIR}/npmrc"),
5457
("NB_ENVIRONMENT_FILE", self._nb_environment_file),
5558
]
5659
if self._nb_requirements_file:
@@ -85,6 +88,8 @@ def get_path(self):
8588
if self.py2:
8689
path.insert(0, "${KERNEL_PYTHON_PREFIX}/bin")
8790
path.insert(0, "${NB_PYTHON_PREFIX}/bin")
91+
# This is at the end of $PATH, for backwards compat reasons
92+
path.append("${NPM_DIR}/bin")
8893
return path
8994

9095
def get_build_scripts(self):
@@ -113,7 +118,14 @@ def get_build_scripts(self):
113118
bash -c 'time /tmp/install-miniforge.bash' && \
114119
rm -rf /tmp/install-miniforge.bash /tmp/env
115120
""",
116-
)
121+
),
122+
(
123+
"root",
124+
r"""
125+
mkdir -p ${NPM_DIR} && \
126+
chown -R ${NB_USER}:${NB_USER} ${NPM_DIR}
127+
""",
128+
),
117129
]
118130

119131
major_pythons = {"2": "2.7", "3": "3.7"}

repo2docker/buildpacks/conda/environment.lock

+70-67
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# AUTO GENERATED FROM environment.py-2.7.yml, DO NOT MANUALLY MODIFY
2-
# Frozen on 2021-10-06 07:32:48 UTC
2+
# Frozen on 2021-11-19 16:44:48 UTC
33
# Generated by conda-lock.
44
# platform: linux-64
55
# input_hash: 6e66c9e333cfc5d702bcabcb832e0f70ee70bd3ef21869e83a2db3596ce0d826
66
@EXPLICIT
77
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81
8-
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.5.30-ha878542_0.tar.bz2#6a777890e94194dc94a29a76d2a7e721
8+
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2#575611b8a84f45960e87722eeb51fa26
99
https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee
10-
https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_9.tar.bz2#a41b94921f55a353a8bbf5bb8d5ca335
11-
https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_9.tar.bz2#1090e28709184ec3d2f6ad6abd55fa31
10+
https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2#0bf83958e788f1e75ba26154cb702afe
11+
https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2#1d16527c76842bf9c41e9399d39d8097
1212
https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04
13-
https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_9.tar.bz2#84b1ec6f5b2d21968add479348515bba
13+
https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2#e3495f4f93cfd6b68021cbe2b5844cd5
1414
https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-he1b5a44_1007.tar.bz2#11389072d7d6036fd811c3d9460475cd
1515
https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.17-h516909a_0.tar.bz2#a98437ebf6fbbc6e498c64636f3958cf
1616
https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2#dcddf696ff5dfcab567100d691678e18
@@ -22,22 +22,22 @@ https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz
2222
https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2#3588c2c6cb9f9bcc65b544ab1c715d60
2323
https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2#84e76fb280e735fec1efd2d21fd9cb27
2424
https://conda.anaconda.org/conda-forge/linux-64/python-2.7.15-h5a48372_1011_cpython.tar.bz2#d1824ac0987155f58a03b7ffda01db38
25-
https://conda.anaconda.org/conda-forge/linux-64/backports-1.0-py27_1.tar.bz2#eda57aeca994883cc314e03b71968668
26-
https://conda.anaconda.org/conda-forge/linux-64/backports.shutil_get_terminal_size-1.0.0-py27_1.tar.bz2#539974750142343a3944ac010e475cb6
27-
https://conda.anaconda.org/conda-forge/linux-64/backports_abc-0.5-py27_0.tar.bz2#125cc4f050a230395060f1f1349ec18e
25+
https://conda.anaconda.org/conda-forge/noarch/backports-1.0-py_2.tar.bz2#0da16b293affa6ac31812376f8eb79dd
26+
https://conda.anaconda.org/conda-forge/noarch/backports_abc-0.5-py_1.tar.bz2#6ac8cc52b55791b066dc43469bbaf8f2
2827
https://conda.anaconda.org/conda-forge/noarch/decorator-4.4.2-py_0.tar.bz2#d2eabb9cabd212e1ec6a9463bd846243
29-
https://conda.anaconda.org/conda-forge/linux-64/ipython_genutils-0.2.0-py27_0.tar.bz2#5e8c18afa86e5f3af13248316e202288
28+
https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2#5071c982548b3a20caf70462f04f5287
3029
https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2#359eeb6536da0e687af562ed265ec263
3130
https://conda.anaconda.org/conda-forge/linux-64/python_abi-2.7-1_cp27mu.tar.bz2#02d6ad6bce3a798e6ee85494cd9b3d8d
32-
https://conda.anaconda.org/conda-forge/linux-64/simplegeneric-0.8.1-py27_0.tar.bz2#f1db3b1ec8ca72f3b1a26331b386aa51
31+
https://conda.anaconda.org/conda-forge/noarch/simplegeneric-0.8.1-py_1.tar.bz2#a561caf8601e8d85547c77a54ee99333
3332
https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2
3433
https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.1.9-pyh9f0ad1d_0.tar.bz2#ef10a99c7570762fa2a69218c171dbc8
3534
https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2#3aa2c3e25dd361b453d010388b9cdff1
35+
https://conda.anaconda.org/conda-forge/noarch/backports.shutil_get_terminal_size-1.0.0-py_3.tar.bz2#ed3c4ce59b457c5fd7ca79b94c57eff4
3636
https://conda.anaconda.org/conda-forge/linux-64/certifi-2019.11.28-py27h8c360ce_1.tar.bz2#a345324a2547908c1f9ca4b65d93f5ba
3737
https://conda.anaconda.org/conda-forge/linux-64/configparser-3.7.3-py27h8c360ce_2.tar.bz2#fce87da76335c7274cb858745fded401
3838
https://conda.anaconda.org/conda-forge/linux-64/enum34-1.1.10-py27h8c360ce_1.tar.bz2#0af4ab7b9189611125ba54d99163f58d
3939
https://conda.anaconda.org/conda-forge/linux-64/futures-3.3.0-py27h8c360ce_1.tar.bz2#2689f3fc54d3987298828719b0244005
40-
https://conda.anaconda.org/conda-forge/linux-64/pexpect-4.8.0-py27h8c360ce_1.tar.bz2#e772596cb72ea97421227a22aefba64a
40+
https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2#5909e7b978141dd80d28dbf9de627827
4141
https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.1-py_0.tar.bz2#0d0150ed9c2d25817f5324108d3f7571
4242
https://conda.anaconda.org/conda-forge/linux-64/pyzmq-19.0.0-py27h76efe43_1.tar.bz2#0f578fd2966e4b2b910ffb3d39951645
4343
https://conda.anaconda.org/conda-forge/linux-64/scandir-1.10.0-py27hdf8410d_1.tar.bz2#bfaf4b51772c5904b696ce7d68731397
@@ -52,6 +52,6 @@ https://conda.anaconda.org/conda-forge/linux-64/pickleshare-0.7.5-py27h8c360ce_1
5252
https://conda.anaconda.org/conda-forge/noarch/pip-20.1.1-pyh9f0ad1d_0.tar.bz2#cd67a20c73ff2514cf5f34cae28fc867
5353
https://conda.anaconda.org/conda-forge/noarch/pygments-2.5.2-py_0.tar.bz2#c48719b941c60b26add57de2b014ef96
5454
https://conda.anaconda.org/conda-forge/linux-64/jupyter_client-5.3.4-py27_1.tar.bz2#ec6099141189dfae14367478d3e96fa9
55-
https://conda.anaconda.org/conda-forge/linux-64/prompt_toolkit-1.0.15-py27_0.tar.bz2#e64d8ff5a16afcea0dff046bc837f6db
55+
https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-1.0.15-py_1.tar.bz2#f5bea0930b268df84653cb32c8d1542f
5656
https://conda.anaconda.org/conda-forge/linux-64/ipython-5.8.0-py27_1.tar.bz2#b95b11ff25dde76c6fa0c5620a8e90ad
5757
https://conda.anaconda.org/conda-forge/linux-64/ipykernel-4.8.2-py27_0.tar.bz2#18141b1342f87e1607c5b389c2c12a81

repo2docker/buildpacks/conda/environment.py-3.5.lock

+18-12
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
11
# py3.5 conda packages are no longer being updated as of 12/2018
2+
# note: one update 11/2021 to shift nodejs into conda-env
23
# this file is hand-maintained now
34
# and should only receive security fixes, no new features
45
@EXPLICIT
5-
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-main.tar.bz2
6-
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2018.10.15-ha4d7672_0.tar.bz2
7-
https://repo.anaconda.com/pkgs/main/linux-64/libstdcxx-ng-7.2.0-hdf63c60_3.conda
8-
https://repo.anaconda.com/pkgs/main/linux-64/libgcc-ng-7.2.0-hdf63c60_3.conda
6+
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
7+
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2
8+
https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2
9+
https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2
10+
https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2
11+
https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2
912
https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-h470a237_2.tar.bz2
1013
https://conda.anaconda.org/conda-forge/linux-64/gmp-6.1.2-hfc679d8_0.tar.bz2
11-
https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-hfc679d8_5.tar.bz2
14+
https://conda.anaconda.org/conda-forge/linux-64/icu-68.2-h9c3ff4c_0.tar.bz2
15+
https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2
1216
https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.16-h470a237_1.tar.bz2
13-
https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.1-hfc679d8_1.tar.bz2
14-
https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2p-h470a237_1.tar.bz2
15-
https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.4-h470a237_1.tar.bz2
17+
https://conda.anaconda.org/conda-forge/linux-64/libuv-1.42.0-h7f98852_0.tar.bz2
18+
https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2
19+
https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2
20+
https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2
1621
https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h470a237_3.tar.bz2
22+
https://conda.anaconda.org/conda-forge/linux-64/nodejs-14.17.4-h92b4a50_0.tar.bz2
1723
https://conda.anaconda.org/conda-forge/linux-64/pandoc-1.19.2-0.tar.bz2
18-
https://conda.anaconda.org/conda-forge/linux-64/readline-7.0-haf1bffa_1.tar.bz2
19-
https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.9-ha92aebf_0.tar.bz2
24+
https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2
25+
https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2
2026
https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.2.5-hfc679d8_6.tar.bz2
21-
https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.25.3-hb1c47c0_0.tar.bz2
22-
https://conda.anaconda.org/conda-forge/linux-64/python-3.5.5-h5001a0f_2.tar.bz2
27+
https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2
28+
https://repo.anaconda.com/pkgs/main/linux-64/python-3.5.6-h12debd9_1.conda
2329
https://conda.anaconda.org/conda-forge/noarch/backcall-0.1.0-py_0.tar.bz2
2430
https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.8.24-py35_1001.tar.bz2
2531
https://conda.anaconda.org/conda-forge/noarch/decorator-4.3.0-py_0.tar.bz2

0 commit comments

Comments
 (0)