From 1be98e1698b810b06c49774e41f3abee8651bc73 Mon Sep 17 00:00:00 2001
From: Sebastian Fricke <sebastian.fricke@collabora.com>
Date: Mon, 11 Sep 2023 09:13:19 +0200
Subject: [PATCH] Store kernel locally to slim down the image, add script to
 run container

---
 container.sh      | 33 +++++++++++++++++++++++++++++++++
 prepare_kernel.sh |  6 ++++++
 2 files changed, 39 insertions(+)
 create mode 100755 container.sh
 create mode 100755 prepare_kernel.sh

diff --git a/container.sh b/container.sh
new file mode 100755
index 0000000..367b30d
--- /dev/null
+++ b/container.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+IMAGE_TAG="$(date +"%Y-%m-%d")_media_build"
+
+case "$1" in
+  run)
+    if [ ! "$2" ]; then
+      echo "Usage: $0 run IMAGE_TAG"
+      exit 1
+    fi
+    docker run -it \
+    --mount type=bind,source="$(pwd)"/custom_data/env.sh,destination=/build-scripts/env.sh,readonly \
+    --mount type=bind,source="$(pwd)"/kernel,destination=/build-scripts/media-git \
+    "$2" \
+    /bin/bash
+    ;;
+  build)
+    mkdir -p custom_data
+    cat > custom_data/env.sh << EOF
+myrepo=git://linuxtv.org/hverkuil/media_tree.git
+name="Example Name"
+email="example@mail.com"
+EOF
+    if [ ! -d kernel ]; then
+      ./prepare_kernel.sh
+    fi
+    docker build -t $IMAGE_TAG .
+    ;;
+  *)
+    echo "Usage: $0 {run IMAGE_TAG|build}"
+    exit 1
+esac
+
diff --git a/prepare_kernel.sh b/prepare_kernel.sh
new file mode 100755
index 0000000..2d02722
--- /dev/null
+++ b/prepare_kernel.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git kernel
+cd kernel
+git remote add media_tree git://linuxtv.org/media_tree.git
+git remote add media_stage git://linuxtv.org/media_stage.git
-- 
GitLab