Change-Id: I54dea019d902e91dade536edd0d41cf31f1939cd
This commit is contained in:
Richard Raya 2023-11-12 02:03:52 -03:00
parent edd5cdec0b
commit 822b8a173b
7 changed files with 11 additions and 242 deletions

View File

@ -1,16 +0,0 @@
---
clone:
depth: 1
kind: pipeline
name: azrimPipeline
steps:
-
environment:
TG_TOKEN:
from_secret: TOKEN
CHANNEL_ID:
from_secret: CHATID
commands:
- "bash build_script.sh"
image: azrim89/kernel:latest
name: Build

View File

@ -48,8 +48,8 @@ CONFIG_THREAD_INFO_IN_TASK=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="-SiLonT:[Richelieu]"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCALVERSION="-FSociety"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set

View File

@ -1,13 +1,13 @@
#!/bin/bash
#
# Compile script for QuicksilveR kernel
# Compile script for FSociety kernel
# Copyright (C) 2020-2021 Adithya R.
SECONDS=0 # builtin bash timer
ZIPNAME="QuicksilveR-surya-$(date '+%Y%m%d-%H%M').zip"
ZIPNAME="FSociety-surya-$(date '+%Y%m%d-%H%M').zip"
TC_DIR="$(pwd)/tc/clang-neutron"
AK3_DIR="$(pwd)/android/AnyKernel3"
DEFCONFIG="vendor/surya-perf_defconfig"
DEFCONFIG="surya_defconfig"
if test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
head=$(git rev-parse --verify HEAD 2>/dev/null); then
@ -63,14 +63,14 @@ if [ -f "$kernel" ] && [ -f "$dtb" ] && [ -f "$dtbo" ]; then
echo -e "\nKernel compiled succesfully! Zipping up...\n"
if [ -d "$AK3_DIR" ]; then
cp -r $AK3_DIR AnyKernel3
elif ! git clone -q https://github.com/ghostrider-reborn/AnyKernel3 -b surya; then
elif ! git clone -q https://github.com/rd-stuffs/AnyKernel3 -b FSociety; then
echo -e "\nAnyKernel3 repo not found locally and couldn't clone from GitHub! Aborting..."
exit 1
fi
cp $kernel $dtb $dtbo AnyKernel3
rm -rf out/arch/arm64/boot
cd AnyKernel3
git checkout surya &> /dev/null
git checkout FSociety &> /dev/null
zip -r9 "../$ZIPNAME" * -x .git README.md *placeholder
cd ..
rm -rf AnyKernel3

View File

@ -1,202 +0,0 @@
#!/bin/bash
#
# Copyright (C) 2020 azrim.
# All rights reserved.
# Init
KERNEL_DIR="${PWD}"
cd "$KERNEL_DIR" || exit
DTB_TYPE="" # define as "single" if want use single file
KERN_IMG="${KERNEL_DIR}"/out/arch/arm64/boot/Image.gz # if use single file define as Image.gz-dtb instead
KERN_DTBO="${KERNEL_DIR}"/out/arch/arm64/boot/dtbo.img # and comment this variable
KERN_DTB="${KERNEL_DIR}"/out/arch/arm64/boot/dtb.img
ANYKERNEL="${HOME}"/anykernel
LOGS="${HOME}"/${CHEAD}.log
# Repo URL
ANYKERNEL_REPO="https://github.com/azrim/anykernel3.git"
ANYKERNEL_BRANCH="master"
# Repo info
PARSE_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
PARSE_ORIGIN="$(git config --get remote.origin.url)"
COMMIT_POINT="$(git log --pretty=format:'%h : %s' -1)"
CHEAD="$(git rev-parse --short HEAD)"
LATEST_COMMIT="[$COMMIT_POINT](https://github.com/silont-project/kernel_xiaomi_surya/commit/$CHEAD)"
LOGS_URL="[See Drone CI Build Logs Here](https://cloud.drone.io/silont-project/kernel_xiaomi_surya/$DRONE_BUILD_NUMBER)"
# Compiler
mkdir -p "/mnt/workdir/silont-clang"
COMP_TYPE="clang" # unset if want to use gcc as compiler
CLANG_DIR="/mnt/workdir/silont-clang"
CLANG_URL="https://github.com/silont-project/silont-clang/archive/20210117.tar.gz"
GCC_DIR="" # Doesn't needed if use proton-clang
GCC32_DIR="" # Doesn't needed if use proton-clang
CLANG_FILE="/mnt/workdir/clang.tar.gz"
git clone https://gitlab.com/zlatanr/dora-clang-1 --depth=1 --single-branch $CLANG_DIR
if [[ "${COMP_TYPE}" =~ "clang" ]]; then
CSTRING=$("$CLANG_DIR"/bin/clang --version | head -n 1 | perl -pe 's/\(http.*?\)//gs' | sed -e 's/ */ /g' -e 's/[[:space:]]*$//')
COMP_PATH="$CLANG_DIR/bin:${PATH}"
else
COMP_PATH="${GCC_DIR}/bin:${GCC32_DIR}/bin:${PATH}"
fi
# Defconfig
DEFCONFIG="surya_defconfig"
REGENERATE_DEFCONFIG="" # unset if don't want to regenerate defconfig
# Telegram
CHATID="-1001156668998" # Group/channel chatid (use rose/userbot to get it)
TELEGRAM_TOKEN="${TG_TOKEN}"
# Export Telegram.sh
TELEGRAM_FOLDER="${HOME}"/telegram
if ! [ -d "${TELEGRAM_FOLDER}" ]; then
git clone https://github.com/fabianonline/telegram.sh/ "${TELEGRAM_FOLDER}"
fi
TELEGRAM="${TELEGRAM_FOLDER}"/telegram
tg_cast() {
curl -s -X POST https://api.telegram.org/bot"$TELEGRAM_TOKEN"/sendMessage -d disable_web_page_preview="true" -d chat_id="$CHATID" -d "parse_mode=MARKDOWN" -d text="$(
for POST in "${@}"; do
echo "${POST}"
done
)" &> /dev/null
}
tg_ship() {
"${TELEGRAM}" -f "${ZIPNAME}" -t "${TELEGRAM_TOKEN}" -c "${CHATID}" -H \
"$(
for POST in "${@}"; do
echo "${POST}"
done
)"
}
tg_fail() {
"${TELEGRAM}" -f "${LOGS}" -t "${TELEGRAM_TOKEN}" -c "${CHATID}" -H \
"$(
for POST in "${@}"; do
echo "${POST}"
done
)"
}
# Versioning
versioning() {
TMP=$(cat arch/arm64/configs/${DEFCONFIG} | grep CONFIG_LOCALVERSION= | tr '[' '+' )
DEF=$(echo $TMP | sed 's/-SiLonT:+//g' | sed 's/]//g' | sed 's/"//g' | sed 's/CONFIG_LOCALVERSION/KERNELTYPE/g')
export $DEF
}
# Patch Defconfig
patch_config() {
sed -i "s/${KERNELTYPE}/${KERNELTYPE}-TEST/g" "${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
sed -i 's/CONFIG_THINLTO=y/CONFIG_THINLTO=n/g' arch/arm64/configs/"${DEFCONFIG}"
sed -i 's/# CONFIG_LOCALVERSION_AUTO is not set/CONFIG_LOCALVERSION_AUTO=y/g' arch/arm64/configs/"${DEFCONFIG}"
sed -i 's/# CONFIG_LOCALVERSION_BRANCH_SHA is not set/CONFIG_LOCALVERSION_AUTO=y/g' arch/arm64/configs/"${DEFCONFIG}"
}
# Costumize
patch_config
versioning
KERNEL="[TEST]-SiLonT"
DEVICE="Surya"
KERNELNAME="${KERNEL}-${DEVICE}-${KERNELTYPE}-$(date +%y%m%d-%H%M)"
TEMPZIPNAME="${KERNELNAME}-unsigned.zip"
ZIPNAME="${KERNELNAME}.zip"
# Regenerating Defconfig
regenerate() {
cp out/.config arch/arm64/configs/"${DEFCONFIG}"
git add arch/arm64/configs/"${DEFCONFIG}"
git commit -m "defconfig: Regenerate"
}
# Build Failed
build_failed() {
END=$(date +"%s")
DIFF=$(( END - START ))
echo -e "Kernel compilation failed, See buildlog to fix errors"
tg_fail "Build for ${DEVICE} <b>failed</b> in $((DIFF / 60)) minute(s) and $((DIFF % 60)) second(s)!"
exit 1
}
# Building
makekernel() {
echo "azrim@Hearthaka" > "$KERNEL_DIR"/.builderdata
export PATH="${COMP_PATH}"
make O=out ARCH=arm64 ${DEFCONFIG}
if [[ "${REGENERATE_DEFCONFIG}" =~ "true" ]]; then
regenerate
fi
if [[ "${COMP_TYPE}" =~ "clang" ]]; then
make -j$(nproc --all) CC=clang CROSS_COMPILE=aarch64-linux-gnu- O=out ARCH=arm64 LLVM=1 2>&1 | tee "$LOGS"
else
make -j$(nproc --all) O=out ARCH=arm64 CROSS_COMPILE="${GCC_DIR}/bin/aarch64-elf-"
fi
# Check If compilation is success
packingkernel
}
# Packing kranul
packingkernel() {
# Copy compiled kernel
if [ -d "${ANYKERNEL}" ]; then
rm -rf "${ANYKERNEL}"
fi
git clone "$ANYKERNEL_REPO" -b "$ANYKERNEL_BRANCH" "${ANYKERNEL}"
if ! [ -f "${KERN_IMG}" ]; then
build_failed
fi
if ! [ -f "${KERN_DTBO}" ]; then
build_failed
fi
if [[ "${DTB_TYPE}" =~ "single" ]]; then
cp "${KERN_IMG}" "${ANYKERNEL}"/Image.gz-dtb
else
cp "${KERN_IMG}" "${ANYKERNEL}"/Image.gz
cp "${KERN_DTBO}" "${ANYKERNEL}"/dtbo.img
cp "${KERN_DTB}" "${ANYKERNEL}"/dtb.img
fi
# Zip the kernel, or fail
cd "${ANYKERNEL}" || exit
zip -r9 "${TEMPZIPNAME}" ./* -x .git README.md *placeholder
# Sign the zip before sending it to Telegram
curl -sLo zipsigner-4.0.jar https://raw.githubusercontent.com/baalajimaestro/AnyKernel3/master/zipsigner-4.0.jar
java -jar zipsigner-4.0.jar "${TEMPZIPNAME}" "${ZIPNAME}"
END=$(date +"%s")
DIFF=$(( END - START ))
# Ship it to the CI channel
tg_ship "<b>-------- $DRONE_BUILD_NUMBER Build Succeed --------</b>" \
"" \
"<b>Device:</b> ${DEVICE}" \
"<b>Version:</b> ${KERNELTYPE}" \
"<b>Commit Head:</b> ${CHEAD}" \
"<b>Time elapsed:</b> $((DIFF / 60)):$((DIFF % 60))" \
"" \
"Leave a comment below if encountered any bugs!"
}
# Starting
NOW=$(date +%d/%m/%Y-%H:%M)
START=$(date +"%s")
tg_cast "*$DRONE_BUILD_NUMBER CI Build Triggered*" \
"Compiling with *$(nproc --all)* CPUs" \
"-----------------------------------------" \
"*Compiler:* ${CSTRING}" \
"*Device:* ${DEVICE}" \
"*Kernel:* ${KERNEL}" \
"*Version:* ${KERNELTYPE}" \
"*Linux Version:* $(make kernelversion)" \
"*Branch:* ${DRONE_BRANCH}" \
"*Clocked at:* ${NOW}" \
"*Latest commit:* ${LATEST_COMMIT}" \
"------------------------------------------" \
"${LOGS_URL}"
makekernel

View File

@ -114,15 +114,6 @@ config LOCALVERSION_AUTO
which is done within the script "scripts/setlocalversion".)
config LOCALVERSION_BRANCH_SHA
bool "Leave only branch name and current tree"
default y
depends on LOCALVERSION_AUTO
depends on !COMPILE_TEST
help
A cleaner version of LOCALVERSION_AUTO, contains branch name
and current tree.
config HAVE_KERNEL_GZIP
bool

View File

@ -75,8 +75,8 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_BY \"`echo azrim | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_HOST \"`echo Hearthaka | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
CC_VERSION=$($CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//;s/ ([^()]*)//g')
LD_VERSION=$($LD -v | head -n1 | sed 's/[[:space:]]*$//;s/ ([^()]*)//g')

View File

@ -47,12 +47,8 @@ scm_version()
if test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
head=$(git rev-parse --verify HEAD 2>/dev/null); then
# Get branch name, get commit sha, leave.
if test "$CONFIG_LOCALVERSION_BRANCH_SHA" = "y"; then
last_commit=$(git rev-parse --verify --short=8 HEAD)
printf '%s' "/$last_commit"
return
fi
printf '%s' "/$(echo $head | cut -c1-8)"
return
# If we are at a tagged commit (like "v2.6.30-rc6"), we ignore
# it, because this version is defined in the top level Makefile.