From 6c028fb38e7b0415a1339fe4bc311982761fc619 Mon Sep 17 00:00:00 2001 From: Apaczer <94932128+Apaczer@users.noreply.github.com> Date: Fri, 5 Jul 2024 23:00:03 +0200 Subject: [PATCH] BOARD/CONFIG: add `prebuild.sh` to create /var/lib/opkg structure (#112) --- board/miyoo/scripts/prebuild.sh | 28 ++++++++++++++++++++++++++++ configs/miyoo_musl_defconfig | 3 ++- configs/miyoo_uclibc_defconfig | 3 ++- package/pkg-generic.mk | 12 ++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100755 board/miyoo/scripts/prebuild.sh diff --git a/board/miyoo/scripts/prebuild.sh b/board/miyoo/scripts/prebuild.sh new file mode 100755 index 00000000..e52e18b7 --- /dev/null +++ b/board/miyoo/scripts/prebuild.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +ROOTFS_PATH="${TARGET_DIR}" + +mkdir -p ${ROOTFS_PATH}/var/lib/opkg/info +VAR_OPKG="${ROOTFS_PATH}/var/lib/opkg" + +# make -s printvars VARS=PACKAGES_TARGET +PKGS_ARRAY=(${5}) +PKGS="${PKGS_ARRAY[*]}" +PKGS_VERSION_ARRAY=(${6}) +PKGS_PKGDIR_ARRAY=(${7}) +PKGS_LICENSE_ARRAY=(${8}) + +echo "Current configuration suggest to install following pkgs to TARGET:" && echo "${PKGS}" + +for i in "${!PKGS_ARRAY[@]}"; do + echo -e \ +"Package: "${PKGS_ARRAY[i]}"\n\ +Version: "${PKGS_VERSION_ARRAY[i]}"\n\ +Source: https://github.com/MiyooCFW/buildroot/"${PKGS_PKGDIR_ARRAY[i]}"\n\ +License: "$(echo ${PKGS_LICENSE_ARRAY[i]} | tr '_' ' ')"\n\ +Status: install ok installed\n\ +Architecture: arm\n" >> ${VAR_OPKG}/status + touch ${VAR_OPKG}/info/${PKGS_ARRAY[i]}.list +done + +sleep 2 diff --git a/configs/miyoo_musl_defconfig b/configs/miyoo_musl_defconfig index ef202fa5..71bb4d13 100644 --- a/configs/miyoo_musl_defconfig +++ b/configs/miyoo_musl_defconfig @@ -20,8 +20,9 @@ BR2_TARGET_GENERIC_HOSTNAME="miyoo" BR2_TARGET_GENERIC_ISSUE="Welcome to Miyoo" # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set BR2_ROOTFS_OVERLAY="board/miyoo/rootfs" +BR2_ROOTFS_PRE_BUILD_SCRIPT="board/miyoo/scripts/prebuild.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/miyoo/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TOOLCHAIN_BUILDROOT_VENDOR} ${BR2_VERSION_FULL} ${BR2_TOOLCHAIN_BUILDROOT_LIBC}" +BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TOOLCHAIN_BUILDROOT_VENDOR} ${BR2_VERSION_FULL} ${BR2_TOOLCHAIN_BUILDROOT_LIBC} '${PACKAGES_TARGET}' '${PACKAGES_VERSION}' '${PACKAGES_PKGDIR}' '${PACKAGES_LICENSE}'" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MiyooCFW/kernel.git" diff --git a/configs/miyoo_uclibc_defconfig b/configs/miyoo_uclibc_defconfig index 1233aa76..f981b85d 100644 --- a/configs/miyoo_uclibc_defconfig +++ b/configs/miyoo_uclibc_defconfig @@ -20,8 +20,9 @@ BR2_TARGET_GENERIC_HOSTNAME="miyoo" BR2_TARGET_GENERIC_ISSUE="Welcome to Miyoo" # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set BR2_ROOTFS_OVERLAY="board/miyoo/rootfs" +BR2_ROOTFS_PRE_BUILD_SCRIPT="board/miyoo/scripts/prebuild.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/miyoo/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TOOLCHAIN_BUILDROOT_VENDOR} ${BR2_VERSION_FULL} ${BR2_TOOLCHAIN_BUILDROOT_LIBC}" +BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TOOLCHAIN_BUILDROOT_VENDOR} ${BR2_VERSION_FULL} ${BR2_TOOLCHAIN_BUILDROOT_LIBC} '${PACKAGES_TARGET}' '${PACKAGES_VERSION}' '${PACKAGES_PKGDIR}' '${PACKAGES_LICENSE}'" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MiyooCFW/kernel.git" diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index a88934b8..4c8d05fb 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -1207,6 +1207,18 @@ $(eval $(call check-deprecated-variable,$(2)_BUILD_OPT,$(2)_BUILD_OPTS)) $(eval $(call check-deprecated-variable,$(2)_GETTEXTIZE_OPT,$(2)_GETTEXTIZE_OPTS)) $(eval $(call check-deprecated-variable,$(2)_KCONFIG_OPT,$(2)_KCONFIG_OPTS)) +# Packages without a source assumed to be only needed for BR2 HOST build process +ifneq ($$(call qstrip,$$($(2)_SOURCE)),) +PACKAGES_TARGET += $(1) +PACKAGES_VERSION += $($(3)_VERSION) +PACKAGES_PKGDIR += $(pkgdir) +ifeq ($($(2)_LICENSE),) +PACKAGES_LICENSE += Unknown +else +PACKAGES_LICENSE += $(subst $(space),_,$($(2)_LICENSE)) +endif +endif + PACKAGES += $(1) ifneq ($$($(2)_PERMISSIONS),)