From 6c09f2a45c5541e9c207d14fc7aa21a4a0066bde Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 03:03:19 +0200 Subject: Merging upstream version 1:2.12.0. Signed-off-by: Daniel Baumann --- test/docker/Dockerfile | 6 -- test/docker/alpine/Dockerfile | 23 ++++++ test/docker/alpine/install-packages.sh | 14 ++++ test/docker/centos7/Dockerfile | 27 +++++++ test/docker/centos7/install-packages.sh | 15 ++++ test/docker/debian10/Dockerfile | 20 ++++++ test/docker/debian10/install-packages.sh | 113 ++++++++++++++++++++++++++++++ test/docker/docker-script.sh | 16 ----- test/docker/entrypoint.sh | 22 ++++++ test/docker/fedoradev/Dockerfile | 22 ++++++ test/docker/fedoradev/install-packages.sh | 25 +++++++ test/docker/ubuntu14/Dockerfile | 24 +++++++ test/docker/ubuntu14/install-packages.sh | 69 ++++++++++++++++++ 13 files changed, 374 insertions(+), 22 deletions(-) delete mode 100644 test/docker/Dockerfile create mode 100644 test/docker/alpine/Dockerfile create mode 100755 test/docker/alpine/install-packages.sh create mode 100644 test/docker/centos7/Dockerfile create mode 100755 test/docker/centos7/install-packages.sh create mode 100644 test/docker/debian10/Dockerfile create mode 100755 test/docker/debian10/install-packages.sh delete mode 100755 test/docker/docker-script.sh create mode 100755 test/docker/entrypoint.sh create mode 100644 test/docker/fedoradev/Dockerfile create mode 100755 test/docker/fedoradev/install-packages.sh create mode 100644 test/docker/ubuntu14/Dockerfile create mode 100755 test/docker/ubuntu14/install-packages.sh (limited to 'test/docker') diff --git a/test/docker/Dockerfile b/test/docker/Dockerfile deleted file mode 100644 index 200f918..0000000 --- a/test/docker/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -ARG DIST -FROM vskytta/bash-completion:$DIST - -WORKDIR /work -COPY . . -CMD ["test/docker/docker-script.sh"] diff --git a/test/docker/alpine/Dockerfile b/test/docker/alpine/Dockerfile new file mode 100644 index 0000000..e4d9f3b --- /dev/null +++ b/test/docker/alpine/Dockerfile @@ -0,0 +1,23 @@ +FROM alpine + +RUN apk add --no-cache \ + autoconf \ + automake \ + bash \ + gcc \ + make \ + musl-dev \ + py3-pexpect \ + py3-pytest-xdist \ + tar \ + xvfb \ + xvfb-run \ + xz + +# test-cmd-list.txt is just a cache buster here +ADD test-cmd-list.txt \ + docker/alpine/install-packages.sh \ + /tmp/ + +RUN /tmp/install-packages.sh \ + && rm -r /tmp/* diff --git a/test/docker/alpine/install-packages.sh b/test/docker/alpine/install-packages.sh new file mode 100755 index 0000000..7865703 --- /dev/null +++ b/test/docker/alpine/install-packages.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -xeuo pipefail + +cd "${TMPDIR:-/tmp}" + +apk upgrade + +# Nothing much here, at least yet. Useful this way already in order to +# test some very base executables, as well as ones that come from +# busybox. Don't lose that if adding stuff here! + +# An arbitrary package containing an init script or the like for +# testing service completion. +apk add nginx-openrc diff --git a/test/docker/centos7/Dockerfile b/test/docker/centos7/Dockerfile new file mode 100644 index 0000000..c0611e7 --- /dev/null +++ b/test/docker/centos7/Dockerfile @@ -0,0 +1,27 @@ +FROM centos:7 + +RUN set -x \ + && sed -i -e /tsflags=nodocs/d /etc/yum.conf \ + && yum -y install \ + https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \ + && yum -y upgrade \ + && yum -y install \ + /usr/bin/autoconf \ + /usr/bin/automake \ + /usr/bin/make \ + # /usr/bin/which: https://bugzilla.redhat.com/show_bug.cgi?id=1443357 \ + /usr/bin/which \ + /usr/bin/xvfb-run \ + python36-pexpect + +ADD test-cmd-list.txt \ + requirements.txt \ + docker/centos7/install-packages.sh \ + /tmp/ + +RUN set -x \ + && pip3 install --prefix /usr/local -Ir /tmp/requirements.txt + +RUN /tmp/install-packages.sh ,' ./*.c +cc -O2 -g -Wall -Wno-unused-const-variable -D_GNU_SOURCE ./*.c \ + -lbsd -o /usr/local/lib/bsd-bin/sed +cd .. +rm -r bsd-sed + +svn co https://svn.freebsd.org/base/release/11.1.0/contrib/one-true-awk +cd one-true-awk +sed -i -e /^__FBSDID/d ./*.c +make YACC="bison -d -y" +install a.out /usr/local/lib/bsd-bin/awk +cd .. +rm -r one-true-awk + +# Install slapt-get and slapt-src + +cd / +curl --fail https://software.jaos.org/slackpacks/slackware64-14.2/slapt-get/slapt-get-0.11.3-x86_64-1.txz | + tar xvJ +bash -x install/doinst.sh +mkdir -p var/lib/pkgtools/packages # 0.11.3 --available empty without this dir +rm -r install +curl --fail https://software.jaos.org/slackpacks/slackware64-14.2/slapt-src/slapt-src-0.3.6-x86_64-1.txz | + tar xvJ +bash -x install/doinst.sh +rm -r install +cp -a usr/lib64/* usr/lib/ +ln -s libcrypto.so.1.1 usr/lib/x86_64-linux-gnu/libcrypto.so.1 +rm -r usr/lib64 +cd - diff --git a/test/docker/docker-script.sh b/test/docker/docker-script.sh deleted file mode 100755 index b3f351f..0000000 --- a/test/docker/docker-script.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -ex - -if [ "$BSD" ]; then - PATH=/usr/local/lib/bsd-bin:$PATH - export PATH -fi - -export bashcomp_bash=bash -env - -autoreconf -i -./configure -make -j - -xvfb-run make distcheck \ - PYTESTFLAGS="--verbose --numprocesses=auto --dist=loadfile" diff --git a/test/docker/entrypoint.sh b/test/docker/entrypoint.sh new file mode 100755 index 0000000..c647782 --- /dev/null +++ b/test/docker/entrypoint.sh @@ -0,0 +1,22 @@ +#!/bin/sh -eux +# shellcheck shell=sh + +if [ "${BSD-}" ]; then + PATH=/usr/local/lib/bsd-bin:$PATH + export PATH +fi + +export bashcomp_bash=bash +env + +oldpwd=$(pwd) +cp -a . /work +cd /work + +autoreconf -i +./configure +make -j + +xvfb-run make distcheck \ + PYTESTFLAGS="${PYTESTFLAGS---verbose -p no:cacheprovider --numprocesses=auto --dist=loadfile}" +cp -p bash-completion-*.tar.* "$oldpwd/" diff --git a/test/docker/fedoradev/Dockerfile b/test/docker/fedoradev/Dockerfile new file mode 100644 index 0000000..7919ac2 --- /dev/null +++ b/test/docker/fedoradev/Dockerfile @@ -0,0 +1,22 @@ +FROM fedora:rawhide + +RUN echo install_weak_deps=False >> /etc/dnf/dnf.conf \ + && sed -i -e /tsflags=nodocs/d /etc/dnf/dnf.conf \ + && dnf -y --refresh upgrade \ + && dnf -y install \ + /usr/bin/autoconf \ + /usr/bin/automake \ + /usr/bin/make \ + /usr/bin/xvfb-run \ + /usr/bin/pytest-3 \ + python3-pexpect \ + python3-pytest-xdist \ + && ln -s $(type -P pytest-3) /usr/local/bin/pytest + +ADD test-cmd-list.txt \ + docker/fedoradev/install-packages.sh \ + /tmp/ + +RUN /tmp/install-packages.sh