Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nxd-bom
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kirill Smelkov
nxd-bom
Commits
fc3e704b
Commit
fc3e704b
authored
Sep 14, 2022
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
. (prepare to publish first draft)
parent
73de1995
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
408 additions
and
1 deletion
+408
-1
example/ors-bom.txt
example/ors-bom.txt
+383
-0
nxd-bom
nxd-bom
+25
-1
No files found.
example/ors-bom.txt
0 → 100644
View file @
fc3e704b
Bill of materials for ORS software
==================================
ORS software consists of
1) Base OS;
2) Amarisoft stack;
3) Slapos-node package;
4) ors-amarisoft software-release.
Below we describe requirements and options for the Base OS, and provide bill of
materials for components provided by Xunkongjian:
Base OS + Amarisoft stack
-------------------------
For Base OS Amarisoft stack requirements are:
A 64 bit Linux distribution. Fedora 34 is the officially supported distribution.
The following distributions are known as compatible:
Fedora 22 to 34
Cent OS 7
Ubuntu 14 to 20
In Nexedi we usually deploy Debian as the base OS, but for ORS, taking
Amarisoft recommendations into account, we currently deploy Ubuntu 20.04 .
Amarisoft stack details are listed in its documentation.
BOM(ors-amarisoft)
------------------
Python 2.7.18 http://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
apr 1.7.0 https://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2
apr-util 1.6.1 https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
autoconf 2.71 http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz
automake 1.16.5 https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz
bash 5.1 https://ftp.gnu.org/pub/gnu/bash/bash-5.1.tar.gz
bzip2 1.0.8 https://fossies.org/linux/misc/bzip2-1.0.8.tar.gz
ca-certificates 20210119 http://deb.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_20210119.tar.xz
config 5e531d391852a54e7fab2d8ff55625fca514b305 https://git.savannah.gnu.org/gitweb/?p=config.git;a=snapshot;h=5e531d391852a54e7fab2d8ff55625fca514b305;sf=tgz
coreutils 9.0 https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz
curl 7.79.1 http://curl.haxx.se/download/curl-7.79.1.tar.xz
dash 0.5.11 http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.tar.gz
dcron 4.5 http://www.jimpryor.net/linux/releases/dcron-4.5.tar.gz
expat 2.2.10 https://github.com/libexpat/libexpat/releases/download/R_2_2_10/expat-2.2.10.tar.lz
file 5.41 http://ftp.icm.edu.pl/packages/file/file-5.41.tar.gz
gdbm 1.22 http://ftp.gnu.org/gnu/gdbm/gdbm-1.22.tar.gz
gettext 0.21 http://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.lz
gmp 6.2.1 https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz
httpd 2.4.54 https://archive.apache.org/dist/httpd/httpd-2.4.54.tar.bz2
libffi 3.3 http://sourceware.org/pub/libffi/libffi-3.3.tar.gz
libtool 2.4.6 http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
libxml2 2.9.14 https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.14.tar.xz
libxslt 1.1.35 https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.35.tar.xz
logrotate 3.18.1 https://github.com/logrotate/logrotate/releases/download/3.18.1/logrotate-3.18.1.tar.xz
lunzip 1.13 http://download-mirror.savannah.gnu.org/releases/lzip/lunzip/lunzip-1.13.tar.gz
lz4 1.9.3 https://github.com/lz4/lz4/archive/v1.9.3.tar.gz
m4 1.4.19 http://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz
ncurses 6.2 http://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
nghttp2 1.40.0 https://github.com/nghttp2/nghttp2/archive/v1.40.0.tar.gz
openssl 1.1.1o https://www.openssl.org/source/openssl-1.1.1o.tar.gz
patch 2.7.6 http://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz
pcre 8.45 https://download.sourceforge.net/pcre/pcre/8.45/pcre-8.45.tar.bz2
perl 5.28.1 http://www.cpan.org/src/5.0/perl-5.28.1.tar.xz
pkg-config 0.29.2 https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
popt 1.18 http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz
readline 8.1 http://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz
sqlite-autoconf 3370200 https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz
util-linux 2.37.2 https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz
xz 5.2.5 https://tukaani.org/xz/xz-5.2.5.tar.bz2
yaml 0.2.5 http://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz
zlib 1.2.12 https://www.zlib.net/zlib-1.2.12.tar.gz
zstd 1.4.9 https://github.com/facebook/zstd/releases/download/v1.4.9/zstd-1.4.9.tar.gz
>>> eggs:
Jinja2 2.11.3 https://pypi.org/project/Jinja2/2.11.3/
PyRSS2Gen 1.1 https://pypi.org/project/PyRSS2Gen/1.1/
PyYAML 5.4.1 https://pypi.org/project/PyYAML/5.4.1/
backports.lzma 0.0.14 https://pypi.org/project/backports.lzma/0.0.14/
cffi 1.14.0 https://pypi.org/project/cffi/1.14.0/
cns.recipe.symlink 0.2.3 https://pypi.org/project/cns.recipe.symlink/0.2.3/
collective.recipe.template 2.0 https://pypi.org/project/collective.recipe.template/2.0/
cryptography 3.3.2 https://pypi.org/project/cryptography/3.3.2/
lxml 4.6.5 https://pypi.org/project/lxml/4.6.5/
plone.recipe.command 1.1 https://pypi.org/project/plone.recipe.command/1.1/
psutil 5.8.0 https://pypi.org/project/psutil/5.8.0/
pycurl 7.43.0 https://pypi.org/project/pycurl/7.43.0/
pyrsistent 0.16.1 https://pypi.org/project/pyrsistent/0.16.1/
slapos.cookbook 1.0.253 https://pypi.org/project/slapos.cookbook/1.0.253/
slapos.toolbox 0.128 https://pypi.org/project/slapos.toolbox/0.128/
BOM(slapos-node)
----------------
The bill of materials for slapos-node package consists of two parts:
1. list of software that slapos-node brings with itself;
2. list of Base OS packages that slapos-node requests to be installed when deployed on a minimal base system.
List of software that slapos-node brings with itself
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
autoconf 2.71
automake 1.16.5
bison 3.8.2
bzip2 1.0.8
ca-certificates 20210119
firewalld 0.8.6
gettext 0.21
glib 2.56.4
gnu-config 5e531d391852a54e7fab2d8ff55625fca514b305
gobject-introspection 1.50.0
intltool 0.51.0
iptables 1.8.7
libtool 2.4.6
libxml2 2.9.14
ncurses 6.2
nftables 0.9.8
openssl 1.1.1o
perl-Data-Dump 1.22
perl-Encode-Locale 1.03
perl-File-Listing 6.04
perl-HTML-Parser 3.71
perl-HTML-Tagset 3.20
perl-HTTP-Cookies 6.01
perl-HTTP-Daemon 6.01
perl-HTTP-Date 6.02
perl-HTTP-Message 6.06
perl-HTTP-Negotiate 6.01
perl-IO-HTML 1.00
perl-LWP-MediaTypes 6.02
perl-Net-HTTP 6.06
perl-URI 1.76
perl-WWW-RobotRules 6.02
perl-XML-Parser 2.46
perl-libwww-perl 6.06
perl 5.28.1
Python 3.7.7
swig 3.0.12
xz 5.2.5
>>> eggs:
CacheControl 0.12.6
Flask 1.1.2
Jinja2 2.11.3
MarkupSafe 1.0
PyYAML 5.4.1
Werkzeug 2.0.2
attrs 18.2.0
certifi 2020.6.20
cffi 1.14.0
charset_normalizer 2.0.12
click 8.1.3
cliff 2.8.3
cmd2 0.7.0
collective.recipe.template 2.0
cryptography 3.3.2
dbus-python 1.2.16
decorator 4.3.0
distro 1.7.0
idna 2.9
importlib_metadata 1.7.0
itsdangerous 0.24
jsonschema 3.0.2
lockfile 0.12.2
lxml 4.6.5
msgpack 0.6.2
netaddr 0.7.19
netifaces 0.10.7
pbr 2.0.0
plone.recipe.command 1.1
prettytable 0.7.2
psutil 5.8.0
pyOpenSSL 19.1.0
pycparser 2.20
pygobject 3.22.0
pyparsing 2.2.0
pyrsistent 0.16.1
python-slip 0.6.5
requests 2.27.1
six 1.12.0
slapos.core 1.7.10
slapos.libnetworkcache 0.25
slapos.rebootstrap 4.5
slapos.recipe.build 0.55
slapos.recipe.cmmi 0.19
stevedore 1.21.0
supervisor 4.1.0
uritemplate 3.0.0
urllib3 1.26.9
xml_marshaller 1.0.2
zc.buildout 2.7.1+slapos019
zc.recipe.egg 2.0.3+slapos003
zipp 1.2.0
zope.interface 4.3.3
List of base-OS packages installed by https://deploy.rapid.space/slapos
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Debian GNU/Linux 11 additional Base-OS packages installed by slapos-node are:
ansible 2.10.7+merged+base+2.10.8+dfsg-1
binutils 2.35.2-2
binutils-common:amd64 2.35.2-2
binutils-x86-64-linux-gnu 2.35.2-2
build-essential 12.9
bzip2 1.0.8-4
cpp 4:10.2.1-1
cpp-10 10.2.1-6
dirmngr 2.2.27-2+deb11u2
distro-info-data 0.51+deb11u2
dpkg-dev 1.20.11
fakeroot 1.25.3-1.1
fontconfig-config 2.13.1-4.2
fonts-dejavu-core 2.37-2
g++ 4:10.2.1-1
g++-10 10.2.1-6
gcc 4:10.2.1-1
gcc-10 10.2.1-6
gnupg 2.2.27-2+deb11u2
gnupg-l10n 2.2.27-2+deb11u2
gnupg-utils 2.2.27-2+deb11u2
gpg 2.2.27-2+deb11u2
gpg-agent 2.2.27-2+deb11u2
gpg-wks-client 2.2.27-2+deb11u2
gpg-wks-server 2.2.27-2+deb11u2
gpgconf 2.2.27-2+deb11u2
gpgsm 2.2.27-2+deb11u2
ieee-data 20210605.1
javascript-common 11+nmu1
libalgorithm-diff-perl 1.201-1
libalgorithm-diff-xs-perl 0.04-6+b1
libalgorithm-merge-perl 0.08-3
libasan6:amd64 10.2.1-6
libassuan0:amd64 2.5.3-7.1
libatomic1:amd64 10.2.1-6
libbinutils:amd64 2.35.2-2
libbrotli1:amd64 1.0.9-2+b2
libc-dev-bin 2.31-13+deb11u3
libc-devtools 2.31-13+deb11u3
libc6-dev:amd64 2.31-13+deb11u3
libcbor0:amd64 0.5.0+dfsg-2
libcc1-0:amd64 10.2.1-6
libcrypt-dev:amd64 1:4.4.18-4
libctf-nobfd0:amd64 2.35.2-2
libctf0:amd64 2.35.2-2
libdeflate0:amd64 1.7-1
libdpkg-perl 1.20.11
libevent-core-2.1-7:amd64 2.1.12-stable-1
libevent-pthreads-2.1-7:amd64 2.1.12-stable-1
libexpat1:amd64 2.2.10-2+deb11u3
libexpat1-dev:amd64 2.2.10-2+deb11u3
libfakeroot:amd64 1.25.3-1.1
libfido2-1:amd64 1.6.0-2
libfile-fcntllock-perl 0.22-3+b7
libfontconfig1:amd64 2.13.1-4.2
libfreetype6:amd64 2.10.4+dfsg-1+deb11u1
libfuse2:amd64 2.9.9-5
libgcc-10-dev:amd64 10.2.1-6
libgd3:amd64 2.3.0-2
libgdbm-compat4:amd64 1.19-2
libgdbm6:amd64 1.19-2
libgomp1:amd64 10.2.1-6
libisl23:amd64 0.23-1
libitm1:amd64 10.2.1-6
libjbig0:amd64 2.1-3.1+b2
libjpeg62-turbo:amd64 1:2.0.6-4
libjs-jquery 3.5.1+dfsg+~3.5.5-7
libjs-sphinxdoc 3.4.3-2
libjs-underscore 1.9.1~dfsg-3
libksba8:amd64 1.5.0-3
libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1
libldap-common 2.4.57+dfsg-3+deb11u1
liblsan0:amd64 10.2.1-6
libmpc3:amd64 1.2.0-1
libmpdec3:amd64 2.5.1-1
libmpfr6:amd64 4.1.0-3
libnpth0:amd64 1.6-3
libnsl-dev:amd64 1.3.0-2
libopts25:amd64 1:5.18.16-4
libperl5.32:amd64 5.32.1-4+deb11u2
libpng16-16:amd64 1.6.37-3
libpython3-dev:amd64 3.9.2-3
libpython3-stdlib:amd64 3.9.2-3
libpython3.9:amd64 3.9.2-1
libpython3.9-dev:amd64 3.9.2-1
libpython3.9-minimal:amd64 3.9.2-1
libpython3.9-stdlib:amd64 3.9.2-1
libquadmath0:amd64 10.2.1-6
libsasl2-2:amd64 2.1.27+dfsg-2.1+deb11u1
libsasl2-modules:amd64 2.1.27+dfsg-2.1+deb11u1
libsasl2-modules-db:amd64 2.1.27+dfsg-2.1+deb11u1
libsensors-config 1:3.6.0-7
libsensors5:amd64 1:3.6.0-7
libsqlite3-0:amd64 3.34.1-3
libstdc++-10-dev:amd64 10.2.1-6
libtiff5:amd64 4.2.0-1+deb11u1
libtirpc-dev:amd64 1.3.1-1
libtsan0:amd64 10.2.1-6
libubsan1:amd64 10.2.1-6
libwebp6:amd64 0.6.1-2.1
libx11-6:amd64 2:1.7.2-1
libx11-data 2:1.7.2-1
libxau6:amd64 1:1.0.9-1
libxcb1:amd64 1.14-3
libxdmcp6:amd64 1:1.1.2-3
libxext6:amd64 2:1.3.3-1.1
libxmuu1:amd64 2:1.1.2-2+b3
libxpm4:amd64 1:3.5.12-1
libyaml-0-2:amd64 0.2.2-1
linux-libc-dev:amd64 5.10.127-1
lm-sensors 1:3.6.0-7
lsb-release 11.1.0
make 4.3-4.1
manpages 5.10-1
manpages-dev 5.10-1
media-types 4.0.0
ntp 1:4.2.8p15+dfsg-1
openssh-client 1:8.4p1-5+deb11u1
patch 2.7.6-7
perl 5.32.1-4+deb11u2
perl-modules-5.32 5.32.1-4+deb11u2
pinentry-curses 1.1.0-4
python-apt-common 2.2.1
python-pip-whl 20.3.4-4+deb11u1
python3 3.9.2-3
python3-apt 2.2.1
python3-argcomplete 1.8.1-1.5
python3-certifi 2020.6.20-1
python3-cffi-backend:amd64 1.14.5-1
python3-chardet 4.0.0-1
python3-cryptography 3.3.2-1
python3-dev 3.9.2-3
python3-distutils 3.9.2-1
python3-dnspython 2.0.0-1
python3-httplib2 0.18.1-3
python3-idna 2.10-1
python3-jinja2 2.11.3-1
python3-jmespath 0.10.0-1
python3-kerberos 1.1.14-3.1+b3
python3-lib2to3 3.9.2-1
python3-libcloud 3.2.0-2
python3-lockfile 1:0.12.2-2.2
python3-markupsafe 1.1.1-1+b3
python3-minimal 3.9.2-3
python3-netaddr 0.7.19-5
python3-ntlm-auth 1.4.0-1
python3-packaging 20.9-2
python3-pip 20.3.4-4+deb11u1
python3-pkg-resources 52.0.0-4
python3-pycryptodome 3.9.7+dfsg1-1+b2
python3-pyparsing 2.4.7-1
python3-requests 2.25.1+dfsg-2
python3-requests-kerberos 0.12.0-2
python3-requests-ntlm 1.1.0-1.1
python3-requests-toolbelt 0.9.1-1
python3-selinux 3.1-3
python3-setuptools 52.0.0-4
python3-simplejson 3.17.2-1
python3-six 1.16.0-2
python3-urllib3 1.26.5-1~exp1
python3-wheel 0.34.2-1
python3-winrm 0.3.0-2
python3-xmltodict 0.12.0-2
python3-yaml 5.3.1-5
python3.9 3.9.2-1
python3.9-dev 3.9.2-1
python3.9-minimal 3.9.2-1
slapos-node 1.7.10+1.0.253+1-1
sntp 1:4.2.8p15+dfsg-1
ucf 3.0043
uml-utilities 20070815.4-1
unzip 6.0-26
xauth 1:1.1-1
xz-utils 5.2.5-2.1~deb11u1
zlib1g-dev:amd64 1:1.2.11.dfsg-2+deb11u1
nxd-bom
View file @
fc3e704b
...
@@ -18,10 +18,12 @@
...
@@ -18,10 +18,12 @@
#
#
# See COPYING file for full licensing terms.
# See COPYING file for full licensing terms.
# See https://www.nexedi.com/licensing for rationale and options.
# See https://www.nexedi.com/licensing for rationale and options.
"""Program nxd-bom generates bill of material for a software-release or slapos node
"""Program nxd-bom generates bill of material for a software-release or slapos node
.
Usage: nxd-bom software <path-to-installed-software>
Usage: nxd-bom software <path-to-installed-software>
nxd-bom node <slapos deploy-script>
nxd-bom node <slapos deploy-script>
An example of generated bill of material is provided in example/ors-bom.txt .
"""
"""
from
__future__
import
print_function
from
__future__
import
print_function
...
@@ -148,6 +150,28 @@ def bom_software(installed_software_path): # -> {} name -> PkgInfo
...
@@ -148,6 +150,28 @@ def bom_software(installed_software_path): # -> {} name -> PkgInfo
def
bom_node
(
XXX
):
def
bom_node
(
XXX
):
1
/
0
1
/
0
# TODO bom_node should:
#
# 1. retrieve list of software that slapos-node brings with itself
# since slapos-node is built via buildout this could be extracted via
# node_software from /opt/slapos/.installed.cfg once we fix slapos-node
# package to preserve that .installed.cfg in the package itself.
#
# 2. retrieve list of base-OS packages that are installed by https://deploy.rapid.space/slapos
# This can be computed as the difference in between two sets of base-OS packages:
# b) set of base-OS packages after deploy.rapid.space/slapos was run, and
# a) set of base-OS packages after minimal base-OS was installed.
#
# this computation could be automated via
# - preparing e.g. Debian 11 minimal chroot via debootstrap,
# - taking snapshot for list of installed packages via `dpkg -l`,
# - then deploying slapos-node in the chroot,
# - taking snapshot for the list of installed package again,
# - and finally computing the difference.
#
# Please see example/ors-bom.txt for "BOM(slapos-node)", "List of software
# that slapos-node brings with itself" and "List of base-OS packages
# installed by https://deploy.rapid.space/slapos" sections for what end result could look like.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment