| # Copyright 2017 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| """package_names.bzl contains definitions of functions that return lists of package names. |
| |
| This includes all package names for a given distro (i.e., def |
| <distro>_package_names) as well as private defs defining all packages for a |
| given tool (a tool requires several packages to be installed). This file also |
| contains a struct with the names of all tools. Lastly, this file defines a map |
| from tools to package names for each distro (i.e., def <distro>_tools()). |
| """ |
| |
| tool_names = struct( |
| bazel = "bazel", |
| binutils = "binutils", |
| curl = "curl", |
| ed = "ed", |
| file = "file", |
| gcc = "gcc", |
| git = "git", |
| java = "java", |
| java_no_ca_certs = "java_no_ca_certs", |
| lib_cpp = "lib_cpp", |
| openssh_client = "openssh_client", |
| python3_dev = "python3_dev", |
| python3_numpy = "python3_numpy", |
| python3_pip = "python3_pip", |
| python_dev = "python_dev", |
| python_numpy = "python_numpy", |
| python_pip = "python_pip", |
| wget = "wget", |
| zip = "zip", |
| ) |
| |
| def jessie_tools(): |
| return { |
| tool_names.binutils: _jessie_binutils_package_names(), |
| tool_names.curl: _jessie_curl_package_names(), |
| tool_names.ed: _jessie_ed_package_names(), |
| tool_names.file: _jessie_file_package_names(), |
| tool_names.gcc: _jessie_gcc_package_names(), |
| tool_names.git: _jessie_git_package_names(), |
| tool_names.java: _jessie_java_package_names(), |
| tool_names.java_no_ca_certs: _jessie_java_no_ca_certs_package_names(), |
| tool_names.lib_cpp: _jessie_lib_cpp_package_names(), |
| tool_names.openssh_client: _jessie_openssh_client_package_names(), |
| tool_names.python_dev: _jessie_python_dev_package_names(), |
| tool_names.python_numpy: _jessie_python_numpy_package_names(), |
| tool_names.python_pip: _jessie_python_pip_package_names(), |
| tool_names.python3_dev: _jessie_python3_dev_package_names(), |
| tool_names.python3_numpy: _jessie_python3_numpy_package_names(), |
| tool_names.python3_pip: _jessie_python3_pip_package_names(), |
| tool_names.wget: _jessie_wget_package_names(), |
| tool_names.zip: _zip_package_names(), |
| } |
| |
| def jessie_package_names(): |
| return _package_names(jessie_tools) |
| |
| def _package_names(tools): |
| packages = [] |
| for tool in tools().values(): |
| packages.extend(tool) |
| return depset(packages).to_list() |
| |
| def _jessie_binutils_package_names(): |
| return [ |
| "binutils", |
| ] |
| |
| def _jessie_curl_package_names(): |
| return [ |
| "curl", |
| "libcurl3", |
| "libffi6", |
| "libgmp10", |
| "libgnutls-deb0-28", |
| "libgssapi-krb5-2", |
| "libhogweed2", |
| "libidn11", |
| "libk5crypto3", |
| "libkeyutils1", |
| "libkrb5-3", |
| "libkrb5support0", |
| "libldap-2.4-2", |
| "libnettle4", |
| "libp11-kit0", |
| "librtmp1", |
| "libsasl2-2", |
| "libsasl2-modules-db", |
| "libssh2-1", |
| "libtasn1-6", |
| ] |
| |
| def _jessie_gcc_package_names(): |
| return [ |
| "binutils", |
| "cpp", |
| "cpp-4.9", |
| "g++", |
| "g++-4.9", |
| "gcc", |
| "gcc-4.9", |
| "libasan1", |
| "libatomic1", |
| "libc-dev-bin", |
| "libc6-dev", |
| "libcilkrts5", |
| "libcloog-isl4", |
| "libgcc-4.9-dev", |
| "libgmp10", |
| "libgomp1", |
| "libisl10", |
| "libitm1", |
| "liblsan0", |
| "libmpc3", |
| "libmpfr4", |
| "libquadmath0", |
| "libstdc++-4.9-dev", |
| "libtsan0", |
| "libubsan0", |
| "linux-libc-dev", |
| ] |
| |
| def _jessie_ed_package_names(): |
| return [ |
| "ed", |
| ] |
| |
| def _jessie_file_package_names(): |
| return [ |
| "file", |
| "libmagic1", |
| ] |
| |
| def _jessie_git_package_names(): |
| return [ |
| "git", |
| "git-man", |
| "libcurl3-gnutls", |
| "liberror-perl", |
| "libexpat1", |
| "libffi6", |
| "libgdbm3", |
| "libgmp10", |
| "libgnutls-deb0-28", |
| "libgssapi-krb5-2", |
| "libhogweed2", |
| "libidn11", |
| "libk5crypto3", |
| "libkeyutils1", |
| "libkrb5-3", |
| "libkrb5support0", |
| "libldap-2.4-2", |
| "libnettle4", |
| "libp11-kit0", |
| "librtmp1", |
| "libsasl2-2", |
| "libsasl2-modules-db", |
| "libssh2-1", |
| "libtasn1-6", |
| "perl", |
| "perl-modules", |
| # Though not strictly required, we get a 'Problem with the SSL CA cert' |
| # errror w/o these packages |
| "ca-certificates", |
| "libssl1.0.0", |
| "openssl", |
| ] |
| |
| def _jessie_java_no_ca_certs_package_names(): |
| return [ |
| "fontconfig-config", |
| "fonts-dejavu-core", |
| "java-common", |
| "libavahi-client3", |
| "libavahi-common-data", |
| "libavahi-common3", |
| "libcups2", |
| "libdbus-1-3", |
| "libexpat1", |
| "libffi6", |
| "libfontconfig1", |
| "libfreetype6", |
| "libgmp10", |
| "libgnutls-deb0-28", |
| "libgssapi-krb5-2", |
| "libhogweed2", |
| "libjpeg62-turbo", |
| "libk5crypto3", |
| "libkeyutils1", |
| "libkrb5-3", |
| "libkrb5support0", |
| "liblcms2-2", |
| "libnettle4", |
| "libnspr4", |
| "libnss3", |
| "libp11-kit0", |
| "libpcsclite1", |
| "libpng12-0", |
| "libsqlite3-0", |
| "libtasn1-6", |
| "libx11-6", |
| "libx11-data", |
| "libxau6", |
| "libxcb1", |
| "libxdmcp6", |
| "libxext6", |
| "libxi6", |
| "libxrender1", |
| "libxtst6", |
| "openjdk-8-jdk-headless", |
| "openjdk-8-jre-headless", |
| "ucf", |
| "x11-common", |
| "zlib1g", |
| ] |
| |
| def _jessie_java_package_names(): |
| return _jessie_java_no_ca_certs_package_names() + ["ca-certificates-java"] |
| |
| def _jessie_lib_cpp_package_names(): |
| return [ |
| "libasan1", |
| "libatomic1", |
| "libc-dev-bin", |
| "libc6-dev", |
| "libcilkrts5", |
| "libgcc-4.9-dev", |
| "libgomp1", |
| "libitm1", |
| "liblsan0", |
| "libquadmath0", |
| "libstdc++-4.9-dev", |
| "libtsan0", |
| "libubsan0", |
| "linux-libc-dev", |
| ] |
| |
| def _jessie_openssh_client_package_names(): |
| return [ |
| "libbsd0", |
| "libedit2", |
| "libgssapi-krb5-2", |
| "libk5crypto3", |
| "libkeyutils1", |
| "libkrb5-3", |
| "libkrb5support0", |
| "openssh-client", |
| ] |
| |
| def _jessie_python3_dev_package_names(): |
| return [ |
| "dh-python", |
| "libc-dev-bin", |
| "libc6-dev", |
| "libexpat1", |
| "libexpat1-dev", |
| "libffi6", |
| "libmpdec2", |
| "libpython3-dev", |
| "libpython3-stdlib", |
| "libpython3.4", |
| "libpython3.4-dev", |
| "libpython3.4-minimal", |
| "libpython3.4-stdlib", |
| "libsqlite3-0", |
| "linux-libc-dev", |
| "mime-support", |
| "python3", |
| "python3-dev", |
| "python3-minimal", |
| "python3.4", |
| "python3.4-dev", |
| "python3.4-minimal", |
| ] |
| |
| def _jessie_python3_numpy_package_names(): |
| return [ |
| "dh-python", |
| "libblas-common", |
| "libblas3", |
| "libexpat1", |
| "libffi6", |
| "libgfortran3", |
| "liblapack3", |
| "libmpdec2", |
| "libpython3-stdlib", |
| "libpython3.4-minimal", |
| "libpython3.4-stdlib", |
| "libquadmath0", |
| "libsqlite3-0", |
| "mime-support", |
| "python3", |
| "python3-minimal", |
| "python3-numpy", |
| "python3.4", |
| "python3.4-minimal", |
| ] |
| |
| def _jessie_python3_pip_package_names(): |
| return [ |
| "dh-python", |
| "libexpat1", |
| "libffi6", |
| "libmpdec2", |
| "libpython3-stdlib", |
| "libpython3.4-minimal", |
| "libpython3.4-stdlib", |
| "libsqlite3-0", |
| "mime-support", |
| "python3", |
| "python3-chardet", |
| "python3-colorama", |
| "python3-distlib", |
| "python3-html5lib", |
| "python3-minimal", |
| "python3-pip", |
| "python3-pkg-resources", |
| "python3-requests", |
| "python3-setuptools", |
| "python3-six", |
| "python3-urllib3", |
| "python3.4", |
| "python3.4-minimal", |
| ] |
| |
| def _jessie_python_dev_package_names(): |
| return [ |
| "libc-dev-bin", |
| "libc6-dev", |
| "libexpat1", |
| "libexpat1-dev", |
| "libffi6", |
| "libpython-dev", |
| "libpython-stdlib", |
| "libpython2.7", |
| "libpython2.7-dev", |
| "libpython2.7-minimal", |
| "libpython2.7-stdlib", |
| "libsqlite3-0", |
| "linux-libc-dev", |
| "mime-support", |
| "python", |
| "python-dev", |
| "python-minimal", |
| "python2.7", |
| "python2.7-dev", |
| "python2.7-minimal", |
| ] |
| |
| def _jessie_python_pip_package_names(): |
| return [ |
| "libexpat1", |
| "libffi6", |
| "libpython-stdlib", |
| "libpython2.7-minimal", |
| "libpython2.7-stdlib", |
| "libsqlite3-0", |
| "mime-support", |
| "python", |
| "python-chardet", |
| "python-colorama", |
| "python-distlib", |
| "python-html5lib", |
| "python-minimal", |
| "python-pip", |
| "python-pkg-resources", |
| "python-requests", |
| "python-setuptools", |
| "python-six", |
| "python-urllib3", |
| "python2.7", |
| "python2.7-minimal", |
| ] |
| |
| def _jessie_python_numpy_package_names(): |
| return [ |
| "libblas-common", |
| "libblas3", |
| "libexpat1", |
| "libffi6", |
| "libgfortran3", |
| "liblapack3", |
| "libpython-stdlib", |
| "libpython2.7-minimal", |
| "libpython2.7-stdlib", |
| "libquadmath0", |
| "libsqlite3-0", |
| "mime-support", |
| "python", |
| "python-minimal", |
| "python-numpy", |
| "python2.7", |
| "python2.7-minimal", |
| ] |
| |
| def _jessie_wget_package_names(): |
| return [ |
| "libffi6", |
| "libgmp10", |
| "libgnutls-deb0-28", |
| "libhogweed2", |
| "libicu52", |
| "libidn11", |
| "libnettle4", |
| "libp11-kit0", |
| "libpsl0", |
| "libtasn1-6", |
| "wget", |
| # Needed for cert validation done by wget |
| "ca-certificates", |
| "libssl1.0.0", |
| "openssl", |
| ] |
| |
| def _zip_package_names(): |
| return [ |
| "zip", |
| "unzip", |
| ] |