mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
FSociety
Change-Id: I54dea019d902e91dade536edd0d41cf31f1939cd
This commit is contained in:
parent
edd5cdec0b
commit
822b8a173b
16
.drone.yml
16
.drone.yml
@ -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
|
@ -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
|
||||
|
10
build.sh
10
build.sh
@ -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
|
||||
|
202
build_script.sh
202
build_script.sh
@ -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
|
@ -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
|
||||
|
||||
|
@ -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')
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user