mirror of https://github.com/OpenIPC/firmware.git
Add Ambarella S3L
parent
46dbb359fd
commit
cb40a2e473
|
@ -0,0 +1,141 @@
|
|||
name: "Ambarella-S3L"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- production
|
||||
tags:
|
||||
- "v*"
|
||||
# schedule:
|
||||
# - cron: "00 03 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_core:
|
||||
name: OpenIPC firmware for Ambarella-s3l
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
id: checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install build dependencies
|
||||
id: install
|
||||
run: |
|
||||
make install-deps
|
||||
mkdir -p tmp
|
||||
|
||||
- name: Free disk space
|
||||
id: freshing
|
||||
run: |
|
||||
sudo swapoff -a
|
||||
sudo rm -f /swapfile
|
||||
sudo apt clean
|
||||
docker rmi $(docker image ls -aq)
|
||||
df -h
|
||||
|
||||
- name: Prepare buildroot
|
||||
id: prepare
|
||||
run: |
|
||||
HEAD_TAG=$(git tag --points-at HEAD)
|
||||
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
|
||||
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
|
||||
if [ -z "$HEAD_TAG" ]; then
|
||||
TAG_NAME="latest"
|
||||
RELEASE_NAME="Development Build"
|
||||
PRERELEASE=true
|
||||
else
|
||||
TAG_NAME=${{ github.ref }}
|
||||
RELEASE_NAME="Release ${{ github.ref }}"
|
||||
PRERELEASE=false
|
||||
fi
|
||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
||||
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
|
||||
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
|
||||
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
|
||||
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE
|
||||
make prepare
|
||||
|
||||
- name: Build Ambarella-s3l firmware
|
||||
id: build-ambarella-s3l-firmware
|
||||
continue-on-error: true
|
||||
run: |
|
||||
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.ambarella-s3l-br.tgz"
|
||||
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE
|
||||
make PLATFORM=ambarella BOARD=unknown_unknown_s3l_openipc all
|
||||
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... AMBARELLA-S3L" >> $GITHUB_ENV && exit 1
|
||||
# [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... AMBARELLA-S3L" >> $GITHUB_ENV && exit 1
|
||||
cd ${GITHUB_WORKSPACE}/output/images
|
||||
mv uImage uImage.s3l
|
||||
mv rootfs.squashfs rootfs.squashfs.s3l
|
||||
mv rootfs.ubi rootfs.ubi.s3l
|
||||
md5sum rootfs.squashfs.s3l > rootfs.squashfs.s3l.md5sum
|
||||
md5sum rootfs.ubi.s3l > rootfs.ubi.s3l.md5sum
|
||||
md5sum uImage.s3l > uImage.s3l.md5sum
|
||||
tar -cvzf $ARCHIVE_FW *s3l*
|
||||
|
||||
- name: Build Ambarella S3L SDK
|
||||
id: build-ambarella-s3l-sdk
|
||||
continue-on-error: true
|
||||
run: |
|
||||
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
|
||||
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE/output
|
||||
make sdk
|
||||
|
||||
- name: Send warning message to telegram channel
|
||||
env:
|
||||
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
|
||||
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
|
||||
if: steps.build-ambarella-s3l-firmware.outcome != 'success' || steps.build-ambarella-s3l-sdk.outcome != 'success'
|
||||
run: |
|
||||
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
|
||||
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... AMBARELLA-S3L}"
|
||||
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
|
||||
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
|
||||
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
|
||||
|
||||
- name: Create release
|
||||
uses: actions/create-release@v1
|
||||
continue-on-error: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ env.TAG_NAME }}
|
||||
release_name: ${{ env.RELEASE_NAME }}
|
||||
draft: false
|
||||
prerelease: ${{ env.PRERELEASE }}
|
||||
|
||||
- name: Upload FW to release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
continue-on-error: true
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.ARCHIVE_FW }}
|
||||
asset_name: "openipc.ambarella-s3l-br.tgz"
|
||||
tag: ${{ env.TAG_NAME }}
|
||||
overwrite: true
|
||||
|
||||
- name: Upload SDK to release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
continue-on-error: true
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.ARCHIVE_SDK }}
|
||||
asset_name: "arm-openipc-ambarella-s3l-linux-musleabi_sdk-buildroot.tar.gz"
|
||||
tag: ${{ env.TAG_NAME }}
|
||||
overwrite: true
|
||||
|
||||
- name: Send binary file to telegram channel
|
||||
env:
|
||||
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
|
||||
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
|
||||
run: |
|
||||
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
|
||||
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
|
||||
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
|
||||
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"
|
|
@ -1,4 +1,5 @@
|
|||
source "$BR2_EXTERNAL_AMBARELLA_PATH/linux/Config.ext.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/ambarella-osdrv-s3l/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/ambarella_patcher/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/aura-httpd/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/dropbear-openipc/Config.in"
|
||||
|
@ -15,7 +16,7 @@ source "$BR2_EXTERNAL_AMBARELLA_PATH/package/libsrt-openipc/Config.in"
|
|||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/libwebsockets-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/linux-firmware-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/majestic-fonts/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/majestic/Config.in"
|
||||
#source "$BR2_EXTERNAL_AMBARELLA_PATH/package/majestic/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/mbedtls-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/microbe-web/Config.in"
|
||||
source "$BR2_EXTERNAL_AMBARELLA_PATH/package/motors/Config.in"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
#
|
File diff suppressed because it is too large
Load Diff
|
@ -34,15 +34,16 @@ BR2_LINUX_KERNEL_EXT_AMBARELLA_PATCHER_LIST="$(BR2_EXTERNAL_AMBARELLA_PATH)/boar
|
|||
|
||||
# Filesystem
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
# BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
|
||||
|
||||
# OpenIPC configuration
|
||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.1"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
|
||||
BR2_TARGET_GENERIC_HOSTNAME="openipc-s3l"
|
||||
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
|
||||
|
||||
|
@ -51,7 +52,7 @@ BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
|
|||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
|
||||
BR2_PACKAGE_FWPRINTENV_OPENIPC=y
|
||||
# BR2_PACKAGE_AMBARELLA_OSDRV_S3L is not set
|
||||
BR2_PACKAGE_AMBARELLA_OSDRV_S3L=y
|
||||
BR2_PACKAGE_HASERL=y
|
||||
BR2_PACKAGE_HISI_GPIO=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
|
@ -95,5 +96,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
|
|||
# BR2_PACKAGE_RTL8188EU is not set
|
||||
|
||||
# WIREGUARD
|
||||
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||
# BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/linux/linux-ext-ambarella_patcher.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/ambarella-osdrv-s3l.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella_patcher/ambarella_patcher.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/aura-httpd/aura-httpd.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/dropbear-openipc/dropbear-openipc.mk
|
||||
|
@ -15,7 +16,7 @@ include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/libsrt-openipc/libsrt-openipc.mk
|
|||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/libwebsockets-openipc/libwebsockets-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/linux-firmware-openipc/linux-firmware-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/majestic-fonts/majestic-fonts.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/majestic/majestic.mk
|
||||
#include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/majestic/majestic.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/mbedtls-openipc/mbedtls-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/microbe-web/microbe-web.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/motors/motors.mk
|
||||
|
@ -24,4 +25,4 @@ include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/opus-openipc/opus-openipc.mk
|
|||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/rtl8188fu-openipc/rtl8188fu-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/uacme-openipc/uacme-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/vtund-openipc/vtund-openipc.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/yaml-cli/yaml-cli.mk
|
||||
include $(BR2_EXTERNAL_AMBARELLA_PATH)/package/yaml-cli/yaml-cli.mk
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../general/package/ambarella-osdrv-s3l
|
|
@ -0,0 +1 @@
|
|||
../../general/package/ambarella_patcher
|
12
building.sh
12
building.sh
|
@ -73,6 +73,13 @@ sdk() {
|
|||
|
||||
#################################################################################
|
||||
|
||||
ambarella-s3l() {
|
||||
soc="s3l"
|
||||
fresh && make PLATFORM=ambarella BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
ak3918ev200() {
|
||||
soc="ak3918ev200"
|
||||
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
|
@ -419,6 +426,11 @@ xm550() {
|
|||
#################################################################################
|
||||
|
||||
# Build firmware
|
||||
#######
|
||||
#
|
||||
ambarella-s3l # testing..
|
||||
#
|
||||
#######
|
||||
#
|
||||
# ak3918ev200 # testing..
|
||||
#
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
config BR2_PACKAGE_AMBARELLA_OSDRV_S3L
|
||||
bool "ambarella-osdrv-s3l"
|
||||
help
|
||||
ambarella-osdrv-s3l - Ambarella kernel modules and libs
|
||||
|
||||
https://openipc.org
|
|
@ -0,0 +1,34 @@
|
|||
################################################################################
|
||||
#
|
||||
# ambarella-osdrv-s3l
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AMBARELLA_OSDRV_S3L_VERSION =
|
||||
AMBARELLA_OSDRV_S3L_SITE =
|
||||
AMBARELLA_OSDRV_S3L_LICENSE = MIT
|
||||
AMBARELLA_OSDRV_S3L_LICENSE_FILES = LICENSE
|
||||
|
||||
|
||||
define AMBARELLA_OSDRV_S3L_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/script/S95ambarella
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors
|
||||
# $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/sensor/config/*.cfg
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/3.10.104/ambarella
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.10.104/ambarella $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/kmod/*.ko
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/script/load_ambarella
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/sensors
|
||||
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/sensor/*.so
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
|
||||
|
||||
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_AMBARELLA_PATH)/package/ambarella-osdrv-s3l/files/lib/xxx.so
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,73 @@
|
|||
#!/bin/sh
|
||||
|
||||
DAEMON="majestic"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
|
||||
DAEMON_ARGS="-s"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
load_majestic() {
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
|
||||
-- $DAEMON_ARGS
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
# The daemon does not create a pidfile, and use "-m" to instruct start-stop-daemon to create one.
|
||||
start() {
|
||||
logger -s -p daemon.info -t anyka "Check MAC for Xiongmai devices"
|
||||
if [ "$(fw_printenv -n ethaddr)" = "00:00:23:34:45:66" ]; then
|
||||
logger -s -p daemon.info -t anyka "The eth0 interface has a lousy MAC, let's try to change it.."
|
||||
XMMAC="$(ipcinfo --xm_mac)" && [ -n "${XMMAC}" ] && fw_setenv ethaddr ${XMMAC} && reboot -f || logger -s -p daemon.info -t anyka "It is not possible to install a new MAC on the eth0 interface.."
|
||||
else
|
||||
logger -s -p daemon.info -t anyka "The eth0 interface has a correct MAC - $(fw_printenv -n ethaddr)"
|
||||
fi
|
||||
#
|
||||
logger -s -p daemon.info -t anyka "Loading of kernel modules and initialization of the video system has started"
|
||||
export TZ=$(cat /etc/TZ)
|
||||
#load_anyka
|
||||
#
|
||||
#load_majestic
|
||||
}
|
||||
|
||||
stop() {
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
start-stop-daemon -K -q -p "$PIDFILE"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
rm -f "$PIDFILE"
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
sleep 1
|
||||
reload
|
||||
}
|
||||
|
||||
reload() {
|
||||
load_majestic
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart|reload)
|
||||
"$1";;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
config BR2_PACKAGE_AMBARELLA_PATCHER
|
||||
bool
|
|
@ -0,0 +1,13 @@
|
|||
################################################################################
|
||||
#
|
||||
# ambarella_patcher
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AMBARELLA_PATCHER_VERSION = 0.1
|
||||
AMBARELLA_PATCHER_INSTALL_TARGET = NO
|
||||
AMBARELLA_PATCHER_INSTALL_STAGING = NO
|
||||
AMBARELLA_PATCHER_SITE =
|
||||
AMBARELLA_PATCHER_SOURCE =
|
||||
|
||||
$(eval $(generic-package))
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
|
||||
function log() {
|
||||
echo "--- $@"
|
||||
}
|
||||
|
||||
function apply_patch() {
|
||||
DST=$1
|
||||
SRC=$2
|
||||
|
||||
if [[ -d $SRC ]]; then
|
||||
if [[ ${SRC:${#SRC}-1} != '/' ]]; then
|
||||
log Apply \"$SRC\" as overlay directory
|
||||
cp -r $SRC/* $DST/
|
||||
else
|
||||
log Apply \"$SRC\" as patches directory
|
||||
for P in $SRC/*.patch; do
|
||||
patch -d $DST -p1 < $P
|
||||
done
|
||||
fi
|
||||
else
|
||||
log Apply \"$SRC\" as single patch
|
||||
patch -d $DST -p1 < $SRC
|
||||
fi
|
||||
}
|
||||
|
||||
function apply_patches() {
|
||||
log Gonna apply "$@"
|
||||
while [[ $# -ge 1 ]]; do
|
||||
apply_patch $DST $1
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
DST=$1
|
||||
shift
|
||||
|
||||
if [ -f $DST/.ambarella-patched ]; then
|
||||
log Patched already
|
||||
exit
|
||||
fi
|
||||
|
||||
apply_patches $@
|
||||
touch $DST/.ambarella-patched
|
Loading…
Reference in New Issue