summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
Diffstat (limited to 'ci')
-rw-r--r--ci/README.md16
-rw-r--r--ci/dockerfiles/gnome-3-28-1804/Dockerfile14
-rw-r--r--ci/dockerfiles/gnome-3-38-2004/Dockerfile15
-rw-r--r--ci/dockerfiles/snap-22.04/Dockerfile67
-rw-r--r--ci/dockerfiles/ubuntu-16.04/Dockerfile28
-rw-r--r--ci/dockerfiles/ubuntu-18.04/Dockerfile30
-rw-r--r--ci/dockerfiles/ubuntu-20.04/Dockerfile30
-rw-r--r--ci/dockerfiles/ubuntu-22.04/.gitkeep0
-rw-r--r--ci/dockerfiles/ubuntu-22.04/Dockerfile29
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