*/bootstrap.js
*bootstrap-theme.css
build/package-test-dockerfiles/centos7/localrepo.repo
+build/package-test-dockerfiles/rocky8/localrepo.repo
build/package-test-dockerfiles/ubuntu1604/etc-apt-preferences.d-arvados
*by-sa-3.0.html
*by-sa-3.0.txt
# SPDX-License-Identifier: AGPL-3.0
case "$TARGET" in
- centos*)
+ centos*|rocky*)
fpm_depends+=(git bison make automake gcc gcc-c++ graphviz shared-mime-info)
;;
ubuntu1804)
# SPDX-License-Identifier: AGPL-3.0
SHELL := '/bin/bash'
-all: centos7/generated debian10/generated debian11/generated ubuntu1804/generated ubuntu2004/generated
+all: centos7/generated debian10/generated debian11/generated rocky8/generated ubuntu1804/generated ubuntu2004/generated
centos7/generated: common-generated-all
test -d centos7/generated || mkdir centos7/generated
test -d debian11/generated || mkdir debian11/generated
cp -f -rlt debian11/generated common-generated/*
+rocky8/generated: common-generated-all
+ test -d rocky8/generated || mkdir rocky8/generated
+ cp -f -rlt rocky8/generated common-generated/*
+
ubuntu1804/generated: common-generated-all
test -d ubuntu1804/generated || mkdir ubuntu1804/generated
cp -f -rlt ubuntu1804/generated common-generated/*
--- /dev/null
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+ARG HOSTTYPE
+ARG BRANCH
+ARG GOVERSION
+
+FROM rockylinux:8.6-minimal as build_x86_64
+# Install go
+ONBUILD ARG GOVERSION
+ONBUILD ADD generated/go${GOVERSION}.linux-amd64.tar.gz /usr/local/
+ONBUILD RUN ln -s /usr/local/go/bin/go /usr/local/bin/
+# Install nodejs and npm
+ONBUILD ADD generated/node-v10.23.1-linux-x64.tar.xz /usr/local/
+ONBUILD RUN ln -s /usr/local/node-v10.23.1-linux-x64/bin/* /usr/local/bin/
+
+FROM rockylinux:8.6-minimal as build_aarch64
+# Install go
+ONBUILD ARG GOVERSION
+ONBUILD ADD generated/go${GOVERSION}.linux-arm64.tar.gz /usr/local/
+ONBUILD RUN ln -s /usr/local/go/bin/go /usr/local/bin/
+# Install nodejs and npm
+ONBUILD ADD generated/node-v10.23.1-linux-arm64.tar.xz /usr/local/
+ONBUILD RUN ln -s /usr/local/node-v10.23.1-linux-arm64/bin/* /usr/local/bin/
+
+FROM build_${HOSTTYPE}
+
+MAINTAINER Arvados Package Maintainers <packaging@arvados.org>
+
+# Install dependencies.
+RUN microdnf --enablerepo=devel install \
+ automake \
+ bison \
+ bzip2 \
+ fuse-devel \
+ gcc \
+ gcc-c++ \
+ git \
+ libattr-devel \
+ libcurl-devel \
+ libffi-devel \
+ libtool \
+ libyaml-devel \
+ make \
+ nss-devel \
+ openssl-devel \
+ pam-devel \
+ patch \
+ postgresql-devel \
+ procps-ng \
+ python3 \
+ python3-devel \
+ python3-pip \
+ python3-virtualenv \
+ readline-devel \
+ rpm-build \
+ ruby \
+ sqlite-devel \
+ tar \
+ unzip \
+ wget \
+ which \
+ xz-libs \
+ zlib-devel
+
+# Install RVM
+ADD generated/mpapis.asc /tmp/
+ADD generated/pkuczynski.asc /tmp/
+RUN gpg --import --no-tty /tmp/mpapis.asc && \
+ gpg --import --no-tty /tmp/pkuczynski.asc && \
+ curl -L https://get.rvm.io | bash -s stable && \
+ /usr/local/rvm/bin/rvm install 2.7 -j $(grep -c processor /proc/cpuinfo) && \
+ /usr/local/rvm/bin/rvm alias create default ruby-2.7 && \
+ echo "gem: --no-document" >> ~/.gemrc && \
+ /usr/local/rvm/bin/rvm-exec default gem install bundler --version 2.2.19 && \
+ /usr/local/rvm/bin/rvm-exec default gem install fpm --version 1.10.2
+
+RUN /usr/local/rvm/bin/rvm-exec default bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
+# Cf. https://build.betterup.com/one-weird-trick-that-will-speed-up-your-bundle-install/
+ENV MAKE "make --jobs $(grep -c processor /proc/cpuinfo)"
+
+# Preseed the go module cache and the ruby gems, using the currently checked
+# out branch of the source tree. This avoids potential compatibility issues
+# between the version of Ruby and certain gems.
+RUN git clone --depth 1 git://git.arvados.org/arvados.git /tmp/arvados && \
+ cd /tmp/arvados && \
+ if [[ -n "${BRANCH}" ]]; then git checkout ${BRANCH}; fi && \
+ cd /tmp/arvados/services/api && \
+ /usr/local/rvm/bin/rvm-exec default bundle install && \
+ cd /tmp/arvados/apps/workbench && \
+ /usr/local/rvm/bin/rvm-exec default bundle install && \
+ cd /tmp/arvados && \
+ go mod download
+
+ENV WORKSPACE /arvados
+CMD ["/usr/local/rvm/bin/rvm-exec", "default", "bash", "/jenkins/run-build-packages.sh", "--target", "rocky8"]
#
# SPDX-License-Identifier: AGPL-3.0
-all: centos7/generated debian10/generated debian11/generated ubuntu1804/generated ubuntu2004/generated
+all: centos7/generated debian10/generated debian11/generated rocky8/generated ubuntu1804/generated ubuntu2004/generated
centos7/generated: common-generated-all
test -d centos7/generated || mkdir centos7/generated
test -d debian11/generated || mkdir debian11/generated
cp -f -rlt debian11/generated common-generated/*
+rocky8/generated: common-generated-all
+ test -d rocky8/generated || mkdir rocky8/generated
+ cp -f -rlt rocky8/generated common-generated/*
+
ubuntu1804/generated: common-generated-all
test -d ubuntu1804/generated || mkdir ubuntu1804/generated
cp -f -rlt ubuntu1804/generated common-generated/*
--- /dev/null
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+FROM rockylinux:8.6-minimal
+MAINTAINER Arvados Package Maintainers <packaging@arvados.org>
+
+# Install dependencies.
+RUN microdnf --enablerepo=devel install \
+ autoconf \
+ automake \
+ bison \
+ bzip2 \
+ cpio \
+ diffutils \
+ findutils \
+ gcc-c++ \
+ glibc-devel \
+ glibc-headers \
+ gzip \
+ libffi-devel \
+ libtool \
+ make \
+ openssl-devel \
+ patch \
+ procps-ng \
+ python3 \
+ readline-devel \
+ ruby \
+ shadow-utils \
+ sqlite-devel \
+ tar \
+ wget \
+ which \
+ zlib-devel
+
+# Install RVM
+ADD generated/mpapis.asc /tmp/
+ADD generated/pkuczynski.asc /tmp/
+RUN touch /var/lib/rpm/* && \
+ gpg --import --no-tty /tmp/mpapis.asc && \
+ gpg --import --no-tty /tmp/pkuczynski.asc && \
+ curl -L https://get.rvm.io | bash -s stable && \
+ /usr/local/rvm/bin/rvm install 2.7 -j $(grep -c processor /proc/cpuinfo) && \
+ /usr/local/rvm/bin/rvm alias create default ruby-2.7 && \
+ /usr/local/rvm/bin/rvm-exec default gem install bundler --version 2.2.9
+
+COPY localrepo.repo /etc/yum.repos.d/localrepo.repo
--- /dev/null
+[localrepo]
+name=Arvados Test
+baseurl=file:///arvados/packages/rocky8
+gpgcheck=0
+enabled=1
yum install --assumeyes httpd
yum reinstall --assumeyes "$PACKAGE_NAME"
;;
+ rocky*)
+ microdnf install httpd
+ microdnf reinstall "$PACKAGE_NAME"
+ ;;
*)
echo -e "$0: Unknown target '$TARGET'.\n" >&2
exit 1
STDERR_IF_DEBUG=/dev/stderr
fi
-target=$(basename "$0" | grep -Eo '\bcentos[[:digit:]]+\b')
+target="$(basename "$0" .sh)"
+target="${target##*-}"
-yum -q clean all
+case "$target" in
+ centos*) yum -q clean all ;;
+ rocky*) microdnf clean all ;;
+esac
touch /var/lib/rpm/*
export ARV_PACKAGES_DIR="/arvados/packages/$target"
rpm -qa | sort > "$ARV_PACKAGES_DIR/$1.before"
-yum install --assumeyes -e 0 $1
+case "$target" in
+ centos*) yum install --assumeyes -e 0 $1 ;;
+ rocky*) microdnf install $1 ;;
+esac
rpm -qa | sort > "$ARV_PACKAGES_DIR/$1.after"
--- /dev/null
+rpm-common-test-packages.sh
\ No newline at end of file
PYTHON3_INSTALL_LIB=lib/python$PYTHON3_VERSION/site-packages
export PYCURL_SSL_LIBRARY=nss
;;
+ rocky*)
+ FORMAT=rpm
+ PYTHON3_PACKAGE=$(rpm -qf "$(which python"$PYTHON3_VERSION")" --queryformat '%{NAME}\n')
+ PYTHON3_PKG_PREFIX=python3
+ PYTHON3_PREFIX=/usr
+ PYTHON3_INSTALL_LIB=lib/python$PYTHON3_VERSION/site-packages
+ ;;
*)
echo -e "$0: Unknown target '$TARGET'.\n" >&2
exit 1
LICENSE_STRING=`grep license $WORKSPACE/$PKG_DIR/setup.py|cut -f2 -d=|sed -e "s/[',\\"]//g"`
COMMAND_ARR+=('--license' "$LICENSE_STRING")
- if [[ "$package_format" == "rpm" ]]; then
- # Make sure to conflict with the old rh-python36 packages we used to publish
- COMMAND_ARR+=('--conflicts' "rh-python36-python-$PKG")
- fi
-
if [[ "$DEBUG" != "0" ]]; then
COMMAND_ARR+=('--verbose' '--log' 'info')
fi
fi
COMMAND_ARR+=('--depends' "$PYTHON3_PACKAGE")
-
- # avoid warning
- COMMAND_ARR+=('--deb-no-default-config-files')
+ case "$package_format" in
+ deb)
+ COMMAND_ARR+=(
+ # Avoid warning
+ --deb-no-default-config-files
+ ) ;;
+ rpm)
+ COMMAND_ARR+=(
+ # Conflict with older packages we used to publish
+ --conflicts "rh-python36-python-$PKG"
+ # Do not generate /usr/lib/.build-id links on RH8+
+ # (otherwise our packages conflict with platform-python)
+ --rpm-rpmbuild-define "_build_id_links none"
+ ) ;;
+ esac
# Append --depends X and other arguments specified by fpm-info.sh in
# the package source dir. These are added last so they can override
fpm_depends+=(fuse)
case "$TARGET" in
- centos*)
+ centos*|rocky*)
fpm_depends+=(fuse-libs)
;;
esac
# SPDX-License-Identifier: Apache-2.0
fpm_depends+=(ca-certificates)
+case "$TARGET" in
+ rocky*) fpm_depends+=(pam) ;;
+esac
fpm_args+=(--conflicts=libpam-arvados)
fpm_depends+=('git >= 1.7.10')
case "$TARGET" in
- centos*)
+ centos*|rocky*)
fpm_depends+=(libcurl-devel postgresql-devel bison make automake gcc gcc-c++ postgresql shared-mime-info)
;;
ubuntu1804)
fpm_depends+=(fuse)
case "$TARGET" in
- centos*)
+ centos*|rocky*)
fpm_depends+=(fuse-libs)
;;
debian* | ubuntu*)
# SPDX-License-Identifier: AGPL-3.0
case "$TARGET" in
- centos*)
+ centos*|rocky*)
fpm_depends+=(mailcap)
;;
debian* | ubuntu*)