diff options
Diffstat (limited to 'ci')
-rw-r--r-- | ci/README.md | 16 | ||||
-rw-r--r-- | ci/dockerfiles/gnome-3-28-1804/Dockerfile | 14 | ||||
-rw-r--r-- | ci/dockerfiles/gnome-3-38-2004/Dockerfile | 15 | ||||
-rw-r--r-- | ci/dockerfiles/snap-22.04/Dockerfile | 67 | ||||
-rw-r--r-- | ci/dockerfiles/ubuntu-16.04/Dockerfile | 28 | ||||
-rw-r--r-- | ci/dockerfiles/ubuntu-18.04/Dockerfile | 30 | ||||
-rw-r--r-- | ci/dockerfiles/ubuntu-20.04/Dockerfile | 30 | ||||
-rw-r--r-- | ci/dockerfiles/ubuntu-22.04/.gitkeep | 0 | ||||
-rw-r--r-- | ci/dockerfiles/ubuntu-22.04/Dockerfile | 29 |
9 files changed, 229 insertions, 0 deletions
diff --git a/ci/README.md b/ci/README.md new file mode 100644 index 0000000..98f3994 --- /dev/null +++ b/ci/README.md @@ -0,0 +1,16 @@ +# Remmina docker images + +To update/push images you need permissions for this repository: + +https://gitlab.com/Remmina/Remmina/container_registry/ + +To build and push: + +```shell +# cd where is the Dockerfile +# login with your Gitlab account and a personal access token +docker build -t registry.gitlab.com/remmina/remmina/ubuntu:20.04 --no-cache --force-rm --compress . +docker push registry.gitlab.com/remmina/remmina/ubuntu:20.04 +``` + + diff --git a/ci/dockerfiles/gnome-3-28-1804/Dockerfile b/ci/dockerfiles/gnome-3-28-1804/Dockerfile new file mode 100644 index 0000000..8346f8f --- /dev/null +++ b/ci/dockerfiles/gnome-3-28-1804/Dockerfile @@ -0,0 +1,14 @@ +FROM docker.io/ubuntudesktop/gnome-3-28-1804:latest + +LABEL description="Bootstrap image used to build the Remmina snap with" \ + maintainer="Antenore Gatta <antenore@simbiosi.org>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.gnome-3-28-1804" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get -y update -qq \ + && apt-get autoremove -y \ + && apt-get clean -y diff --git a/ci/dockerfiles/gnome-3-38-2004/Dockerfile b/ci/dockerfiles/gnome-3-38-2004/Dockerfile new file mode 100644 index 0000000..c1c8228 --- /dev/null +++ b/ci/dockerfiles/gnome-3-38-2004/Dockerfile @@ -0,0 +1,15 @@ +FROM docker.io/ubuntudesktop/gnome-3-38-2004:latest + +LABEL description="Bootstrap image used to build the Remmina snap with" \ + maintainer="Antenore Gatta <antenore@simbiosi.org>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.gnome-3-38-2004" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get -y update -qq \ + && apt install -y -qq snapcraft \ + && apt-get autoremove -y \ + && apt-get clean -y diff --git a/ci/dockerfiles/snap-22.04/Dockerfile b/ci/dockerfiles/snap-22.04/Dockerfile new file mode 100644 index 0000000..3a052a3 --- /dev/null +++ b/ci/dockerfiles/snap-22.04/Dockerfile @@ -0,0 +1,67 @@ +ARG RISK=edge +ARG UBUNTU=jammy + +FROM ubuntu:$UBUNTU as builder +ARG RISK +ARG UBUNTU +RUN echo "Building snapcraft:$RISK in ubuntu:$UBUNTU" + +# Grab dependencies +RUN apt-get update +RUN apt-get dist-upgrade --yes +RUN apt-get install --yes \ + curl \ + jq \ + squashfs-tools + +# Grab the core snap (for backwards compatibility) from the stable channel and +# unpack it in the proper place. +RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap +RUN mkdir -p /snap/core +RUN unsquashfs -d /snap/core/current core.snap + +# Grab the core22 snap (which snapcraft uses as a base) from the stable channel +# and unpack it in the proper place. +RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core22' | jq '.download_url' -r) --output core22.snap +RUN mkdir -p /snap/core22 +RUN unsquashfs -d /snap/core22/current core22.snap + +# Grab the snapcraft snap from the $RISK channel and unpack it in the proper +# place. +RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel='$RISK | jq '.download_url' -r) --output snapcraft.snap +RUN mkdir -p /snap/snapcraft +RUN unsquashfs -d /snap/snapcraft/current snapcraft.snap + +# Fix Python3 installation: Make sure we use the interpreter from +# the snapcraft snap: +RUN unlink /snap/snapcraft/current/usr/bin/python3 +RUN ln -s /snap/snapcraft/current/usr/bin/python3.* /snap/snapcraft/current/usr/bin/python3 +RUN echo /snap/snapcraft/current/lib/python3.*/site-packages >> /snap/snapcraft/current/usr/lib/python3/dist-packages/site-packages.pth + +# Create a snapcraft runner (TODO: move version detection to the core of +# snapcraft). +RUN mkdir -p /snap/bin +RUN echo "#!/bin/sh" > /snap/bin/snapcraft +RUN snap_version="$(awk '/^version:/{print $2}' /snap/snapcraft/current/meta/snap.yaml | tr -d \')" && echo "export SNAP_VERSION=\"$snap_version\"" >> /snap/bin/snapcraft +RUN echo 'exec "$SNAP/usr/bin/python3" "$SNAP/bin/snapcraft" "$@"' >> /snap/bin/snapcraft +RUN chmod +x /snap/bin/snapcraft + +# Multi-stage build, only need the snaps from the builder. Copy them one at a +# time so they can be cached. +FROM ubuntu:$UBUNTU +COPY --from=builder /snap/core /snap/core +COPY --from=builder /snap/core22 /snap/core22 +COPY --from=builder /snap/snapcraft /snap/snapcraft +COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft + +# Generate locale and install dependencies. +RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo locales && locale-gen en_US.UTF-8 + +# Set the proper environment. +ENV LANG="en_US.UTF-8" +ENV LANGUAGE="en_US:en" +ENV LC_ALL="en_US.UTF-8" +ENV PATH="/snap/bin:/snap/snapcraft/current/usr/bin:$PATH" +ENV SNAP="/snap/snapcraft/current" +ENV SNAP_NAME="snapcraft" +ENV SNAP_ARCH="amd64" diff --git a/ci/dockerfiles/ubuntu-16.04/Dockerfile b/ci/dockerfiles/ubuntu-16.04/Dockerfile new file mode 100644 index 0000000..2a6da3d --- /dev/null +++ b/ci/dockerfiles/ubuntu-16.04/Dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:16.04 + +LABEL description="Bootstrap image used to build and test Remmina with Ubuntu 16.04" \ + maintainer="Antenore Gatta <antenore@simbiosi.org>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.ubuntu-16.04" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get update -qq \ + && apt-get install -y -qq software-properties-common python3-software-properties \ + && apt-add-repository ppa:remmina-ppa-team/remmina-next-daily -y \ + && apt-get update -qq \ + && apt-get install -y -qq build-essential git-core cmake libssl-dev \ + libx11-dev libxext-dev libxinerama-dev libxcursor-dev libxdamage-dev \ + libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \ + libxrandr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ + libxi-dev libavutil-dev libavcodec-dev libxtst-dev libgtk-3-dev \ + libgcrypt11-dev libssh-dev libpulse-dev libvte-2.91-dev libxkbfile-dev \ + libtelepathy-glib-dev libjpeg-dev libgnutls28-dev libgnome-keyring-dev \ + libavahi-ui-gtk3-dev libvncserver-dev libappindicator3-dev intltool \ + libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libsystemd-dev \ + libsoup2.4-dev libjson-glib-dev libavresample-dev freerdp2-dev \ + libspice-protocol-dev libspice-client-gtk-3.0-dev libfuse-dev wget \ + && apt-get autoremove -y \ + && apt-get clean -y diff --git a/ci/dockerfiles/ubuntu-18.04/Dockerfile b/ci/dockerfiles/ubuntu-18.04/Dockerfile new file mode 100644 index 0000000..51a6c90 --- /dev/null +++ b/ci/dockerfiles/ubuntu-18.04/Dockerfile @@ -0,0 +1,30 @@ +FROM ubuntu:18.04 + +LABEL description="Bootstrap image used to build and test Remmina with Ubuntu 18.04" \ + maintainer="Antenore Gatta <antenore@simbiosi.org>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.ubuntu-18.04" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get update -qq \ + && apt-get install -y -qq software-properties-common python3-software-properties \ + && apt-add-repository ppa:remmina-ppa-team/remmina-next-daily -y \ + && apt-add-repository ppa:alexlarsson/flatpak -y \ + && apt-get update -qq \ + && apt-get install -y -qq flatpak-builder flatpak build-essential git-core \ + cmake curl freerdp2-dev intltool libappindicator3-dev libasound2-dev \ + libavahi-ui-gtk3-dev libavcodec-dev libavresample-dev libavutil-dev \ + libcups2-dev libgcrypt11-dev libgnome-keyring-dev libgnutls28-dev \ + libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev \ + libjpeg-dev libjson-glib-dev libpcre2-8-0 libpcre2-dev libpulse-dev \ + libsecret-1-dev libsodium-dev libsoup2.4-dev libspice-client-gtk-3.0-dev \ + libspice-protocol-dev libssh-dev libssl-dev libsystemd-dev \ + libtelepathy-glib-dev libvncserver-dev libvte-2.91-dev libwebkit2gtk-4.0-dev \ + libx11-dev libxcursor-dev libxdamage-dev libxext-dev libxi-dev \ + libxinerama-dev libxkbfile-dev libxkbfile-dev libxml2 libxml2-dev \ + libxrandr-dev libxtst-dev libxv-dev python3 python3-dev wget \ + && apt-get autoremove -y \ + && apt-get clean -y diff --git a/ci/dockerfiles/ubuntu-20.04/Dockerfile b/ci/dockerfiles/ubuntu-20.04/Dockerfile new file mode 100644 index 0000000..3c76ffe --- /dev/null +++ b/ci/dockerfiles/ubuntu-20.04/Dockerfile @@ -0,0 +1,30 @@ +FROM ubuntu:20.04 + +LABEL description="Bootstrap image used to build and test Remmina with Ubuntu 20.04" \ + maintainer="Antenore Gatta <antenore@simbiosi.org>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.ubuntu-20.04" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get update -qq \ + && apt-get install -y -qq software-properties-common python3-software-properties \ + && apt-add-repository ppa:remmina-ppa-team/remmina-next-daily -y \ + && apt-add-repository ppa:alexlarsson/flatpak -y \ + && apt-get update -qq \ + && apt install -y -qq flatpak-builder flatpak build-essential git-core \ + cmake curl freerdp2-dev intltool libappindicator3-dev libasound2-dev \ + libavahi-ui-gtk3-dev libavcodec-dev libavresample-dev libavutil-dev \ + libcups2-dev libgcrypt20-dev libgnutls28-dev \ + libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev \ + libjpeg-dev libjson-glib-dev libpcre2-8-0 libpcre2-dev libpulse-dev \ + libsecret-1-dev libsodium-dev libsoup2.4-dev libspice-client-gtk-3.0-dev \ + libspice-protocol-dev libssh-dev libssl-dev libsystemd-dev \ + libtelepathy-glib-dev libvncserver-dev libvte-2.91-dev libwebkit2gtk-4.0-dev \ + libx11-dev libxcursor-dev libxdamage-dev libxext-dev libxi-dev \ + libxinerama-dev libxkbfile-dev libxkbfile-dev libxml2 libxml2-dev \ + libxrandr-dev libxtst-dev libxv-dev python3 python3-dev wget \ + && apt-get autoremove -y \ + && apt-get clean -y diff --git a/ci/dockerfiles/ubuntu-22.04/.gitkeep b/ci/dockerfiles/ubuntu-22.04/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/ci/dockerfiles/ubuntu-22.04/.gitkeep diff --git a/ci/dockerfiles/ubuntu-22.04/Dockerfile b/ci/dockerfiles/ubuntu-22.04/Dockerfile new file mode 100644 index 0000000..ca2b42f --- /dev/null +++ b/ci/dockerfiles/ubuntu-22.04/Dockerfile @@ -0,0 +1,29 @@ +FROM ubuntu:22.04 + +LABEL description="Bootstrap image used to build and test Remmina with Ubuntu 22.04" \ + maintainer="Hiroyuki Tanaka <myheroyuki@outlook.com>" \ + vendor="Remmina Project" \ + name="org.remmina.Remmina.images.ubuntu-22.04" + +# Set noninteractive +ENV DEBIAN_FRONTEND noninteractive + +RUN \ + LC_ALL=en_US.UTF-8 apt-get update -qq \ + && apt-get install -y -qq software-properties-common python3-software-properties \ + && apt-add-repository ppa:remmina-ppa-team/remmina-next-daily -y \ + && apt-get update -qq \ + && apt install -y -qq flatpak-builder flatpak build-essential git-core \ + cmake curl libcurl4-openssl-dev freerdp2-dev intltool libappindicator3-dev libasound2-dev \ + libavahi-ui-gtk3-dev libavcodec-dev libavutil-dev \ + libcups2-dev libgcrypt20-dev libgnutls28-dev \ + libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev \ + libjpeg-dev libjson-glib-dev libpcre2-8-0 libpcre2-dev libpulse-dev \ + libsecret-1-dev libsodium-dev libsoup2.4-dev libspice-client-gtk-3.0-dev \ + libspice-protocol-dev libssh-dev libssl-dev libsystemd-dev \ + libtelepathy-glib-dev libvncserver-dev libvte-2.91-dev libwebkit2gtk-4.0-dev \ + libx11-dev libxcursor-dev libxdamage-dev libxext-dev libxi-dev \ + libxinerama-dev libxkbfile-dev libxml2 libxml2-dev \ + libxrandr-dev libxtst-dev libxv-dev python3 python3-dev wget \ + && apt-get autoremove -y \ + && apt-get clean -y |