From 49e25507f14e7dfbcdc2f29757d820b61ed8f6ab Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Tue, 11 Feb 2020 19:34:08 -0800 Subject: [PATCH 1/4] Add git-lfs Large File Storage support "Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server." https://git-lfs.github.com/ This is useful when including proprietary pre-built binaries and also when adding virtualization guests, such as Windows as a Guest or Android as a Guest. Since http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a2d6792f3a531b557bffaec4387d8e0e4eb3dab0 git-lfs is a non-fatal HOST_TOOLS addition, meaning it will be linked if present. debian-9 only supports it with stretch-backports, patch to follow opensuse-15.0,-15.1 do not have git-lfs except in package cloud, patch to follow ubuntu-16.04 does not have git-lfs except in package cloud, patch to follow Signed-off-by: Tim Orling --- dockerfiles/centos/centos-7/centos-7-base/Dockerfile | 1 + dockerfiles/debian/debian-10/debian-10-base/Dockerfile | 3 ++- dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile | 3 ++- dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile | 3 ++- dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile | 3 ++- dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile | 3 ++- dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile | 3 ++- 7 files changed, 13 insertions(+), 6 deletions(-) diff --git a/dockerfiles/centos/centos-7/centos-7-base/Dockerfile b/dockerfiles/centos/centos-7/centos-7-base/Dockerfile index 83f316c..8f45803 100644 --- a/dockerfiles/centos/centos-7/centos-7-base/Dockerfile +++ b/dockerfiles/centos/centos-7/centos-7-base/Dockerfile @@ -51,6 +51,7 @@ RUN yum -y install epel-release centos-release-scl && \ tmux \ sudo \ devtoolset-8 \ + git-lfs \ which && \ rm /opt/rh/devtoolset-8/root/usr/bin/sudo && \ cp -af /etc/skel/ /etc/vncskel/ && \ diff --git a/dockerfiles/debian/debian-10/debian-10-base/Dockerfile b/dockerfiles/debian/debian-10/debian-10-base/Dockerfile index b78b39b..3560466 100644 --- a/dockerfiles/debian/debian-10/debian-10-base/Dockerfile +++ b/dockerfiles/debian/debian-10/debian-10-base/Dockerfile @@ -41,7 +41,8 @@ RUN apt-get clean && \ sudo \ fluxbox \ procps \ - tightvncserver && \ + tightvncserver \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile b/dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile index 4dbd0ec..41323a1 100644 --- a/dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile +++ b/dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile @@ -57,7 +57,8 @@ RUN dnf -y update && \ fluxbox \ hostname \ procps \ - tigervnc-server && \ + tigervnc-server \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile b/dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile index 9fde15c..06c2e52 100644 --- a/dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile +++ b/dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile @@ -57,7 +57,8 @@ RUN dnf -y update && \ fluxbox \ hostname \ procps \ - tigervnc-server && \ + tigervnc-server \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile b/dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile index 835f781..4f0f0b0 100644 --- a/dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile +++ b/dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile @@ -58,7 +58,8 @@ RUN dnf -y update && \ fluxbox \ hostname \ procps \ - tigervnc-server && \ + tigervnc-server \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile b/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile index 82174d6..35e8359 100644 --- a/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile +++ b/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile @@ -40,7 +40,8 @@ RUN apt-get update && \ sudo \ iputils-ping \ fluxbox \ - tightvncserver && \ + tightvncserver \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile b/dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile index 5de3dc7..13e3922 100644 --- a/dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile +++ b/dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile @@ -41,7 +41,8 @@ RUN apt-get update && \ iputils-ping \ iproute2 \ fluxbox \ - tightvncserver && \ + tightvncserver \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ From 02853659a546dedcbcf6c5db804168c048e0a4cc Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Mon, 9 Mar 2020 15:12:58 -0700 Subject: [PATCH 2/4] debian-9: add git-lfs from stretch-backports Add stretch-backports to /etc/apt/sources.list and use it to install git-lfs. Signed-off-by: Tim Orling --- dockerfiles/debian/debian-9/debian-9-base/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dockerfiles/debian/debian-9/debian-9-base/Dockerfile b/dockerfiles/debian/debian-9/debian-9-base/Dockerfile index b2f1128..04b362c 100644 --- a/dockerfiles/debian/debian-9/debian-9-base/Dockerfile +++ b/dockerfiles/debian/debian-9/debian-9-base/Dockerfile @@ -16,7 +16,8 @@ FROM debian:9 -RUN apt-get clean && \ +RUN echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && \ + apt-get clean && \ apt-get update && \ apt-get install -y \ gawk \ @@ -42,6 +43,7 @@ RUN apt-get clean && \ fluxbox \ procps \ tightvncserver && \ + apt-get install -y -t stretch-backports git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ From 4c736708f46fbc810271753e3886eb76694030a2 Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Mon, 9 Mar 2020 17:18:57 -0700 Subject: [PATCH 3/4] opensuse: install git-lfs from packagecloud rpm repo Add "github_git-lfs" rpm repo excerpted from install script: https://packagecloud.io/github/git-lfs/install#bash-rpm (e.g. https://packagecloud.io/install/repositories/github/git-lfs/config_file.repo?os=opensuse&dist=15.0&source=script) Automatically add gpg keys with: zypper --gpg-auto-import-keys refresh github_git-lfs Signed-off-by: Tim Orling --- .../opensuse-15.0/opensuse-15.0-base/Dockerfile | 16 ++++++++++++++-- .../opensuse-15.1/opensuse-15.1-base/Dockerfile | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/dockerfiles/opensuse/opensuse-15.0/opensuse-15.0-base/Dockerfile b/dockerfiles/opensuse/opensuse-15.0/opensuse-15.0-base/Dockerfile index b90d164..0dde367 100644 --- a/dockerfiles/opensuse/opensuse-15.0/opensuse-15.0-base/Dockerfile +++ b/dockerfiles/opensuse/opensuse-15.0/opensuse-15.0-base/Dockerfile @@ -16,7 +16,18 @@ FROM opensuse/leap:15.0 -RUN zypper --non-interactive install python \ +RUN echo $'[github_git-lfs] \n\ +name=github_git-lfs \n\ +baseurl=https://packagecloud.io/github/git-lfs/opensuse/15.0/$basearch \n\ +repo_gpgcheck=1 \n\ +pkg_gpgcheck=0 \n\ +enabled=1 \n\ +gpgkey=https://packagecloud.io/github/git-lfs/gpgkey \n\ +autorefresh=1 \n\ +type=rpm-md \n\ +' >> /etc/zypp/repos.d/github_git-lfs.repo && \ + zypper --gpg-auto-import-keys refresh github_git-lfs && \ + zypper --non-interactive install python \ python3 \ gcc \ gcc-c++ \ @@ -39,7 +50,8 @@ RUN zypper --non-interactive install python \ net-tools \ xorg-x11-Xvnc \ gzip \ - bzip2 && \ + bzip2 \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ diff --git a/dockerfiles/opensuse/opensuse-15.1/opensuse-15.1-base/Dockerfile b/dockerfiles/opensuse/opensuse-15.1/opensuse-15.1-base/Dockerfile index 2d65027..e85d2e9 100644 --- a/dockerfiles/opensuse/opensuse-15.1/opensuse-15.1-base/Dockerfile +++ b/dockerfiles/opensuse/opensuse-15.1/opensuse-15.1-base/Dockerfile @@ -16,7 +16,18 @@ FROM opensuse/leap:15.1 -RUN zypper --non-interactive install python \ +RUN echo $'[github_git-lfs] \n\ +name=github_git-lfs \n\ +baseurl=https://packagecloud.io/github/git-lfs/opensuse/15.1/$basearch \n\ +repo_gpgcheck=1 \n\ +pkg_gpgcheck=0 \n\ +enabled=1 \n\ +gpgkey=https://packagecloud.io/github/git-lfs/gpgkey \n\ +autorefresh=1 \n\ +type=rpm-md \n\ +' >> /etc/zypp/repos.d/github_git-lfs.repo && \ + zypper --gpg-auto-import-keys refresh github_git-lfs && \ + zypper --non-interactive install python \ python3 \ gcc \ gcc-c++ \ @@ -39,7 +50,8 @@ RUN zypper --non-interactive install python \ net-tools \ xorg-x11-Xvnc \ gzip \ - bzip2 && \ + bzip2 \ + git-lfs && \ cp -af /etc/skel/ /etc/vncskel/ && \ echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \ mkdir /etc/vncskel/.vnc && \ From 25f4a875f8e3a77a932d5cd78818c360e83d6676 Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Mon, 9 Mar 2020 16:30:30 -0700 Subject: [PATCH 4/4] ubuntu-16.04: add git-lfs via packagecloud apt repo Install gpg key from wget https://packagecloud.io/github/git-lfs/gpgkey Install apt-transport-https as packagecloud is https only Add packagecloud apt repo, as excerpted from install script: https://packagecloud.io/github/git-lfs/install#bash-deb (e.g. https://packagecloud.io/install/repositories/github/git-lfs/config_file.list?os=ubuntu&dist=xenial&source=script) Signed-off-by: Tim Orling --- .../ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile b/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile index 35e8359..69bf196 100644 --- a/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile +++ b/dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile @@ -16,7 +16,12 @@ FROM ubuntu:16.04 -RUN apt-get update && \ +# apt-key is using fingerprint from https://packagecloud.io/github/git-lfs/gpgkey +# wget -O - https://packagecloud.io/github/git-lfs/gpgkey | gpg --with-fingerprint +RUN apt-get update && apt-get install -y apt-transport-https && \ + echo "deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main" >> /etc/apt/sources.list && \ + apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 6D398DBD30DD78941E2C4797FE2A5F8BDC282033 && \ + apt-get update && \ apt-get install -y \ gawk \ wget \