Skip to content

Commit 2a3bf50

Browse files
committed
updated script
1 parent ac12afd commit 2a3bf50

File tree

7 files changed

+106
-184
lines changed

7 files changed

+106
-184
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
__pycache__/
22
*.sw*
33
Dockerfile
4+
*.tar*

Dockerfile.template

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN pacman-key --lsign-key 7931B6D628C8D3BA
1111
COPY pacman.conf /opt
1212
RUN cat /opt/pacman.conf >> /etc/pacman.conf
1313
RUN rm /opt/pacman.conf
14-
RUN rm /usr/share/libalpm/hooks/package-cleanup.hook
14+
RUN mv /usr/share/libalpm/hooks/package-cleanup.hook /usr/share/libalpm/hooks/package-cleanup.hook.bak
1515

1616
# System upgrate
1717
RUN --mount=type=cache,target=/var/cache/pacman/pkg \
@@ -30,9 +30,11 @@ RUN chsh -s /usr/bin/zsh
3030
RUN --mount=type=cache,target=/var/cache/pacman/pkg \
3131
pacman -S --needed --noconfirm PACKAGES
3232

33-
# Clean up cache
33+
# Postprocess
3434
RUN --mount=type=cache,target=/var/cache/pacman/pkg \
3535
pacman -Sc --noconfirm
36+
RUN sed 's/#CheckSpace/CheckSpace/' -i /etc/pacman.conf
37+
RUN mv /usr/share/libalpm/hooks/package-cleanup.hook.bak /usr/share/libalpm/hooks/package-cleanup.hook
3638

3739
# Copy README
3840
COPY README.md /root/README.md

build.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.

calil.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/sh
2+
set -e
3+
4+
#python packages.py
5+
packages=$(grep -v '^#' packages.txt)
6+
packages=$(echo $packages)
7+
sed "s/PACKAGES/$packages/" Dockerfile.template | DOCKER_BUILDKIT=1 docker build -f - \
8+
--no-cache \
9+
--pull \
10+
--compress \
11+
--squash \
12+
-t arch4edu/base:latest .
13+
14+
docker save arch4edu/base | zstd -c -T32 --ultra -21 - > arch4edu.tar.zst
15+
docker push arch4edu/base:latest

nicelogger.py

Lines changed: 0 additions & 84 deletions
This file was deleted.

packages.py

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -10,90 +10,87 @@
1010
force['et_xmlfile'] = 'python-et-xmlfile'
1111
force['freetype'] = 'freetype2'
1212
force['glib'] = 'glib2'
13+
force['graphite2'] = 'graphite'
1314
force['importlib_metadata'] = 'python-importlib-metadata'
1415
force['intel-openmp'] = 'intel-openmp'
1516
force['ipython'] = 'ipython'
17+
force['jbig'] = 'jbigkit'
1618
force['jinja2'] = 'python-jinja'
19+
force['jpeg'] = 'libjpeg-turbo'
1720
force['jupyter'] = 'jupyter'
1821
force['jupyter_console'] = 'jupyter_console'
1922
force['jupyterlab'] = 'jupyterlab'
2023
force['jupyterlab_server'] = 'jupyterlab_server'
21-
force['libgcc-ng'] = 'gcc'
22-
force['libgfortran-ng'] = 'gcc-fortran'
24+
force['libgcc-ng'] = 'gcc-libs'
25+
force['libuuid'] = 'libutil-linux'
2326
force['lz4-c'] = 'lz4'
2427
force['mkl'] = 'intel-mkl'
2528
force['msgpack-python'] = 'python-msgpack'
2629
force['nbconvert'] = 'jupyter-nbconvert'
2730
force['nbformat'] = 'jupyter-nbformat'
2831
force['notebook'] = 'jupyter-notebook'
29-
force['numpy-base'] = 'python-numpy'
32+
force['numpy-base'] = 'python-numpy-mkl'
33+
force['pandoc'] = 'pandoc'
34+
force['py-lief'] = 'lief'
35+
force['pyyaml'] = 'python-yaml'
3036
force['pyqt'] = 'python-pyqt5'
3137
force['qt'] = 'qt5-base'
3238
force['ruamel_yaml'] = 'python-ruamel-yaml'
39+
force['scipy'] = 'python-scipy-mkl'
3340
force['spyder'] = 'spyder'
3441
force['widgetsnbextension'] = 'jupyter-widgetsnbextension'
42+
force['yaml'] = 'libyaml'
3543

3644
ignore = []
37-
ignore.append('_ipyw_jlab_nb_ext_conf')
38-
ignore.append('anaconda')
39-
ignore.append('anaconda-client')
40-
ignore.append('anaconda-navigator')
41-
ignore.append('anaconda-project')
42-
ignore.append('backports')
43-
ignore.append('backports.os')
44-
ignore.append('backports.shutil_get_terminal_size')
45-
ignore.append('conda-build')
46-
ignore.append('conda-env')
47-
ignore.append('conda-verify')
48-
ignore.append('clyent')
49-
ignore.append('distributed')
50-
ignore.append('libcurl')
51-
ignore.append('navigator-updater')
52-
ignore.append('singledispatch')
53-
ignore.append('unicodecsv')
54-
55-
# AUR
56-
ignore.append('astropy')
57-
ignore.append('backcall')
58-
ignore.append('bitarray')
59-
ignore.append('bkcharts')
60-
ignore.append('bokeh')
45+
ignore.append('_ipyw_jlab_nb_ext_conf') # anaconda related
46+
ignore.append('anaconda') # anaconda related
47+
ignore.append('anaconda-client') # anaconda related
48+
ignore.append('anaconda-navigator') # anaconda related
49+
ignore.append('anaconda-project') # anaconda related
50+
ignore.append('backcall') # already provided by ipython
51+
ignore.append('backports') # not needed for python3
52+
ignore.append('backports.os') # not needed for python3
53+
ignore.append('backports.shutil_get_terminal_size') # not needed for python3
54+
ignore.append('bkcharts') # unmaintained
55+
ignore.append('blas') # empty
56+
ignore.append('conda-build') # anaconda related
57+
ignore.append('conda-env') # anaconda related
58+
ignore.append('conda-verify') # anaconda related
59+
ignore.append('clyent') # not needed for linux
60+
ignore.append('dask-core') # already provided by python-dask
61+
ignore.append('distributed') # should use python-setuptools instead
62+
ignore.append('get_terminal_size') # empty
63+
ignore.append('ipython_genutils') # will be removed
64+
ignore.append('libcurl') # already provided by curl
65+
ignore.append('libgfortran-ng') # already provided by gcc-libs
66+
ignore.append('liblief') # already provided by lief
67+
ignore.append('libstdcxx-ng') # already provided by gcc-libs
68+
ignore.append('navigator-updater') # anaconda related
69+
ignore.append('simplegeneric') # already provided by ipython
70+
ignore.append('singledispatch') # not needed for python3
71+
ignore.append('sphinxcontrib') # empty
72+
ignore.append('unicodecsv') # not needed for python3
73+
74+
# In AUR but not in arch4edu yet
6175
ignore.append('cytoolz')
6276
ignore.append('dask')
63-
ignore.append('fastcache')
6477
ignore.append('heapdict')
65-
ignore.append('locket')
66-
ignore.append('multipledispatch')
6778
ignore.append('partd')
68-
ignore.append('pep8')
69-
ignore.append('pycrypto')
70-
ignore.append('pytest-arraydiff')
71-
ignore.append('pytest-astropy')
72-
ignore.append('pytest-doctestplus')
73-
ignore.append('pytest-openfiles')
74-
ignore.append('pytest-remotedata')
75-
ignore.append('simplegeneric')
76-
ignore.append('sortedcollections')
7779
ignore.append('toolz')
78-
ignore.append('wurlitzer')
7980
ignore.append('zict')
8081

81-
run_cmd(['sudo', 'pacman', '-Sy'], silent=True)
82-
8382
def check(pkgname):
8483
try:
8584
output = run_cmd(['pacman', '-Ssq', pkgname], silent=True)
8685
except:
8786
output = ''
8887
output = output.split('\n')
89-
if pkgname in output:
90-
return True
91-
output = run_cmd(['yay', '-Ssq', pkgname], silent=True)
92-
output = output.split('\n')
9388
return pkgname in output
9489

90+
run_cmd(['sudo', 'pacman', '-Sy'])
9591
lines = run_cmd(['ls', '/opt/anaconda/conda-meta'], silent=True).split('\n')
9692
output = []
93+
failed = False
9794

9895
for line in tqdm(lines):
9996
line = line.split('-')
@@ -125,7 +122,11 @@ def check(pkgname):
125122
output.append(package)
126123
continue
127124

128-
output.append('# failed %s' % '-'.join(line))
125+
print('%s failed' % '-'.join(line))
126+
failed = True
127+
128+
if failed:
129+
sys.exit(1)
129130

130131
with open('packages.txt', 'w') as f:
131132
f.writelines('\n'.join(output))

0 commit comments

Comments
 (0)