From 73fd055e8fffd49af15e826fb77e5db1aad5e96b Mon Sep 17 00:00:00 2001
From: cronyx <xcronyx@gmail.com>
Date: Sun, 15 May 2022 00:33:43 +0300
Subject: [PATCH] fix building scripts

---
 ...nown_unknown_hi3516ev300_ultimate_defconfig |  1 +
 building.sh                                    | 18 +++++++++++-------
 general/package/majestic-hi3516ev300/Config.in |  4 ++++
 .../majestic-hi3516ev300.mk                    | 10 +++++-----
 scripts/executing_commands_for_glibc.sh        |  6 +++++-
 scripts/executing_commands_for_musl.sh         |  6 +++++-
 scripts/executing_commands_for_uclibc.sh       |  6 +++++-
 7 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig
index be8ae4e2..8ca521c0 100644
--- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig
@@ -76,6 +76,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
 BR2_PACKAGE_LIBYAML=y
 BR2_PACKAGE_MAJESTIC_FONTS=y
 BR2_PACKAGE_MAJESTIC_HI3516EV300=y
+BR2_PACKAGE_MAJESTIC_ULTIMATE=y
 BR2_PACKAGE_MBEDTLS_OPENIPC=y
 # BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
 # BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
diff --git a/building.sh b/building.sh
index b2777ab5..99c633f2 100755
--- a/building.sh
+++ b/building.sh
@@ -1,12 +1,13 @@
 #!/bin/bash
 #
-# OpenIPC.org | v.20220224
+# OpenIPC.org | v.20220515
 #
 
 MAX_KERNEL_SIZE=0x200000               #    2MiB,  2097152
+MAX_KERNEL_SIZE_ULTIMATE=0x300000      #    3MiB,  3145728
 MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480  # ~3.9MiB,  4097152
 MAX_ROOTFS_SIZE=0x500000               #    5MiB,  5242880
-MAX_KERNEL_SIZE_ULTIMATE=0xC80000      # 12,5MiB, 13107200
+MAX_ROOTFS_SIZE_ULTIMATE=0xA00000      #   10MiB,  10485760
 
 clone() {
   sudo apt-get update -y ; apt-get install -y bc build-essential git unzip rsync autotools-dev automake libtool
@@ -32,10 +33,13 @@ should_fit() {
 }
 
 rename() {
-  should_fit uImage $MAX_KERNEL_SIZE
-  should_fit rootfs.squashfs $MAX_ROOTFS_SIZE
-  # If board have "_ultimate" as part...
-  # should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE
+  if grep -q ultimate_defconfig ./output/.config; then
+      should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE
+      should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE
+  else
+      should_fit uImage $MAX_KERNEL_SIZE
+      should_fit rootfs.squashfs $MAX_ROOTFS_SIZE
+  fi
   mv -v ./output/images/uImage ./output/images/uImage.${soc}
   mv -v ./output/images/rootfs.squashfs ./output/images/rootfs.squashfs.${soc}
   mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${soc}.cpio
@@ -570,7 +574,7 @@ xm550() {
 # hi3516ev200_dozor             # Dozor
 # hi3516ev200_eltis             # Eltis
 # hi3516ev200_vixand            # Vixand
-hi3516ev200_ultimate          # OpenIPC_ultimate version
+# hi3516ev200_ultimate          # OpenIPC_ultimate version
 # hi3516ev300                   # OpenIPC
 # hi3516ev300_dev               # OpenIPC development
 # hi3516ev300_glibc             # testing..
diff --git a/general/package/majestic-hi3516ev300/Config.in b/general/package/majestic-hi3516ev300/Config.in
index 8feeaa1b..8d7cccb2 100644
--- a/general/package/majestic-hi3516ev300/Config.in
+++ b/general/package/majestic-hi3516ev300/Config.in
@@ -5,3 +5,7 @@ config BR2_PACKAGE_MAJESTIC_HI3516EV300
 	  Tiny but powerful IPC streaming software
 
 	  https://openipc.org
+
+config BR2_PACKAGE_MAJESTIC_ULTIMATE
+ 	bool "Use this option for the ultimate build"
+	default n
diff --git a/general/package/majestic-hi3516ev300/majestic-hi3516ev300.mk b/general/package/majestic-hi3516ev300/majestic-hi3516ev300.mk
index 7011ddea..a3e801f2 100644
--- a/general/package/majestic-hi3516ev300/majestic-hi3516ev300.mk
+++ b/general/package/majestic-hi3516ev300/majestic-hi3516ev300.mk
@@ -10,11 +10,11 @@ MAJESTIC_HI3516EV300_SITE = https://openipc.s3-eu-west-1.amazonaws.com
 MAJESTIC_HI3516EV300_LICENSE = MIT
 MAJESTIC_HI3516EV300_LICENSE_FILES = LICENSE
 
-#ifeq ($(BR2_PACKAGE_MAJESTIC_HI3516EV300_ULTIMATE),y)
-#MAJESTIC_HI3516EV300_SOURCE = majestic.hi3516ev300.ultimate.master.tar.bz2
-#else
-#MAJESTIC_HI3516EV300_SOURCE = majestic.hi3516ev300.master.tar.bz2
-#endif
+ifeq ($(BR2_PACKAGE_MAJESTIC_ULTIMATE),y)
+MAJESTIC_HI3516EV300_SOURCE = majestic.hi3516ev300.ultimate.master.tar.bz2
+else
+MAJESTIC_HI3516EV300_SOURCE = majestic.hi3516ev300.lite.master.tar.bz2
+endif
 
 define MAJESTIC_HI3516EV300_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
diff --git a/scripts/executing_commands_for_glibc.sh b/scripts/executing_commands_for_glibc.sh
index b5f2c164..f9b7e81b 100755
--- a/scripts/executing_commands_for_glibc.sh
+++ b/scripts/executing_commands_for_glibc.sh
@@ -5,7 +5,11 @@
 
 date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release
 date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
-echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+if grep -q ultimate_defconfig ${BR2_CONFIG}; then
+    echo "BUILD_OPTION=ultimate" >>${TARGET_DIR}/usr/lib/os-release
+else
+    echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+fi
 #
 echo 'Note: BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"'
 #
diff --git a/scripts/executing_commands_for_musl.sh b/scripts/executing_commands_for_musl.sh
index 183c7d65..7827655a 100755
--- a/scripts/executing_commands_for_musl.sh
+++ b/scripts/executing_commands_for_musl.sh
@@ -5,7 +5,11 @@
 
 date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release
 date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
-echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+if grep -q ultimate_defconfig ${BR2_CONFIG}; then
+    echo "BUILD_OPTION=ultimate" >>${TARGET_DIR}/usr/lib/os-release
+else
+    echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+fi
 #
 echo 'Note: BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"'
 #
diff --git a/scripts/executing_commands_for_uclibc.sh b/scripts/executing_commands_for_uclibc.sh
index 7cac9917..2eff5bd0 100755
--- a/scripts/executing_commands_for_uclibc.sh
+++ b/scripts/executing_commands_for_uclibc.sh
@@ -5,7 +5,11 @@
 
 date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release
 date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
-echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+if grep -q ultimate_defconfig ${BR2_CONFIG}; then
+    echo "BUILD_OPTION=ultimate" >>${TARGET_DIR}/usr/lib/os-release
+else
+    echo "BUILD_OPTION=lite" >>${TARGET_DIR}/usr/lib/os-release
+fi
 #
 echo 'Note: BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"'
 #