From 1e62da25193c17a04e528a20095d97f59b9921af Mon Sep 17 00:00:00 2001
From: Anupam Basak <anupam.basak27@gmail.com>
Date: Mon, 3 Jun 2024 19:01:09 +0530
Subject: [PATCH] Build zynthbox-qml and zyncoder from dev branches manually

---
 .gitlab-ci.yml | 71 +++++++++++++++++++++++++++++---------------------
 1 file changed, 42 insertions(+), 29 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a715b6c..c5c68f3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,9 +15,9 @@ build-zynthbox-image-armhf:
 
     - debian_release_name="bookworm"
     - image_name="zynthbox_rpi4_${debian_release_name}_$(date "+%F_%H%M").img"
-    - image_name_miko="zynthbox_miko_${debian_release_name}_$(date "+%F_%H%M").img"
+    - image_name_miko="zynthbox_miko_rpi5_${debian_release_name}_$(date "+%F_%H%M").img"
     - log_file_name="$image_name.build.log"
-    - KERN=6.1.54-llat-v7l+
+    #- KERN=6.1.54-llat-v7l+
     - mountdir=$(mktemp -d)
 
     # Ensuring key security
@@ -29,33 +29,33 @@ build-zynthbox-image-armhf:
     - apt-get update
     - apt-get install -y coreutils p7zip-full qemu-user-static sudo git wget curl python3 lsof fdisk xz-utils openssh-client jq zip
 
-    # Build custom base image with Low Latency Kernel
-    - wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2024-03-15/2024-03-15-raspios-bookworm-armhf-lite.img.xz' -O ./raspios-${debian_release_name}-armhf-lite.img.xz                                    
-    - xz -dv ./raspios-${debian_release_name}-armhf-lite.img.xz
-    - sudo mount -o loop,offset=$(get_partition_start_offset root ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size root ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir
-    - sudo mount -o loop,offset=$(get_partition_start_offset boot ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size boot ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir/boot
-    - sudo mount --bind /dev $mountdir/dev
-    - sudo mount --bind /dev/pts $mountdir/dev/pts
-    - sudo mount --bind /proc $mountdir/proc
-    - sudo mount --bind /sys $mountdir/sys
-    - echo "# Cleaning up old and unused kernels"
-    - sudo chroot $mountdir apt -yy remove "linux-headers-6.6.2*" "linux-image-6.6.2*" "linux-headers-rpi-v*" "linux-image-rpi-v*" "linux-kbuild-6.6.2*"
-    - echo "# Installing kernel ${KERN}"
-    - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-headers-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
-    - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-image-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
-    - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-libc-dev_6.1.54-1_armhf.deb
-    - sudo chroot $mountdir bash -c 'dpkg -i *.deb'
-    - sudo chroot $mountdir bash -c 'rm -v *.deb'
-    - sudo chroot $mountdir mkdir -p /boot/$KERN/overlays/
-    - sudo chroot $mountdir bash -c "cp -d /usr/lib/linux-image-$KERN/overlays/* /boot/$KERN/overlays/"
-    - sudo chroot $mountdir bash -c "cp -dr /usr/lib/linux-image-$KERN/* /boot/$KERN/"
-    - sudo chroot $mountdir touch /boot/$KERN/overlays/README
-    - sudo chroot $mountdir mv /boot/vmlinuz-$KERN /boot/$KERN/
-    - sudo chroot $mountdir mv /boot/System.map-$KERN /boot/$KERN/
-    - sudo chroot $mountdir cp /boot/config-$KERN /boot/$KERN/
-    - sudo umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
-    - sudo umount $mountdir
-    - zip ./raspios-${debian_release_name}-armhf-lite.img.zip ./raspios-${debian_release_name}-armhf-lite.img
+    # # Build custom base image with Low Latency Kernel
+    # - wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2024-03-15/2024-03-15-raspios-bookworm-armhf-lite.img.xz' -O ./raspios-${debian_release_name}-armhf-lite.img.xz
+    # - xz -dv ./raspios-${debian_release_name}-armhf-lite.img.xz
+    # - sudo mount -o loop,offset=$(get_partition_start_offset root ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size root ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir
+    # - sudo mount -o loop,offset=$(get_partition_start_offset boot ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size boot ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir/boot
+    # - sudo mount --bind /dev $mountdir/dev
+    # - sudo mount --bind /dev/pts $mountdir/dev/pts
+    # - sudo mount --bind /proc $mountdir/proc
+    # - sudo mount --bind /sys $mountdir/sys
+    # - echo "# Cleaning up old and unused kernels"
+    # - sudo chroot $mountdir apt -yy remove "linux-headers-6.6.2*" "linux-image-6.6.2*" "linux-headers-rpi-v*" "linux-image-rpi-v*" "linux-kbuild-6.6.2*"
+    # - echo "# Installing kernel ${KERN}"
+    # - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-headers-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
+    # - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-image-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
+    # - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-libc-dev_6.1.54-1_armhf.deb
+    # - sudo chroot $mountdir bash -c 'dpkg -i *.deb'
+    # - sudo chroot $mountdir bash -c 'rm -v *.deb'
+    # - sudo chroot $mountdir mkdir -p /boot/$KERN/overlays/
+    # - sudo chroot $mountdir bash -c "cp -d /usr/lib/linux-image-$KERN/overlays/* /boot/$KERN/overlays/"
+    # - sudo chroot $mountdir bash -c "cp -dr /usr/lib/linux-image-$KERN/* /boot/$KERN/"
+    # - sudo chroot $mountdir touch /boot/$KERN/overlays/README
+    # - sudo chroot $mountdir mv /boot/vmlinuz-$KERN /boot/$KERN/
+    # - sudo chroot $mountdir mv /boot/System.map-$KERN /boot/$KERN/
+    # - sudo chroot $mountdir cp /boot/config-$KERN /boot/$KERN/
+    # - sudo umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
+    # - sudo umount $mountdir
+    # - zip ./raspios-${debian_release_name}-armhf-lite.img.zip ./raspios-${debian_release_name}-armhf-lite.img
 
     # Clone repositories required to generate zynthbox image
     - echo "# Clone repositories required to generate zynthbox image"
@@ -99,6 +99,19 @@ build-zynthbox-image-armhf:
     - sudo chroot $mountdir apt install zynthbox-z2-setup
     - sudo chroot $mountdir apt -y clean
     - sudo chroot $mountdir rm -rf /var/lib/apt/lists/*
+    - |
+      set -x
+      cat << EOF | sudo chroot $mountdir
+      cd /zynthian
+      rm -rf zynthbox-qml
+      git clone https://github.com/zynthbox/zynthbox-qml.git -b dev-rpi5
+      apt install libgpiod-dev
+      git clone https://github.com/zynthbox/zyncoder.git -b dev-rpi5-libgpiod
+      mkdir -P zyncoder/build
+      cd zyncoder/build
+      ZYNTHIAN_WIRING_LAYOUT="Z2_V2" cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo
+      make -j$(nproc) install
+      EOF
     - sudo umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
     - sudo umount $mountdir
     # Compress miko image
-- 
GitLab