208 lines
6.7 KiB
Bash
208 lines
6.7 KiB
Bash
#!/usr/bin/env bash
|
|
sudo rm -rfv "${GITHUB_WORKSPACE}"/linux*/
|
|
sudo rm -rfv /tmp/*
|
|
sed -i "/deb-src/s/# //g" /etc/apt/sources.list
|
|
sudo apt update
|
|
sudo apt install python3-pyquery python3-requests -y
|
|
sudo apt install gpg python3-pyquery -y
|
|
aria2c $KEY
|
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
|
python3 get-newest-version-xanmod.py $1
|
|
#curl https://www.xanmod.org/
|
|
#exit
|
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
|
# add deb-src to sources.list
|
|
#$1
|
|
VERSION=`cat /tmp/kernelversion.txt`
|
|
URL=`cat /tmp/kernelurl.txt`
|
|
MAINVERSION=`expr substr $VERSION 1 1`
|
|
SHOWVERSION=$VERSION
|
|
# 使用 deepin hwe config编译
|
|
if [[ $2 == 1 ]]; then
|
|
SHOWVERSION=$VERSION-hwe
|
|
fi
|
|
if [[ $2 == 1 ]]; then
|
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-$1-xanmod-hwe/linux-kernel-gxde-gfdgdxi-xanmod-$1-hwe_${VERSION}_amd64.deb | grep 404
|
|
result=$?
|
|
else
|
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1-xanmod/linux-kernel-gxde-gfdgdxi-xanmod-${1}_${VERSION}_amd64.deb | grep 404
|
|
result=$?
|
|
fi
|
|
if [[ $result != 0 ]]; then
|
|
exit
|
|
fi
|
|
# install dep
|
|
sudo apt install -y wget xz-utils make gcc flex bison dpkg-dev bc rsync kmod cpio libssl-dev git lsb vim libelf-dev
|
|
sudo apt build-dep -y linux
|
|
|
|
# change dir to workplace
|
|
cd "${GITHUB_WORKSPACE}" || exit
|
|
|
|
# download kernel source
|
|
wget $URL
|
|
tar -xf "$VERSION".tar.bz2
|
|
cd linux-"$VERSION"* || exit
|
|
|
|
# copy config file
|
|
if [[ $2 == 1 ]]; then
|
|
cp ../config-6.1.11-amd64-desktop-hwe .config
|
|
else
|
|
cp ../config .config
|
|
fi
|
|
#
|
|
# disable DEBUG_INFO to speedup build
|
|
scripts/config --set-str SYSTEM_TRUSTED_KEYS ""
|
|
scripts/config --set-str SYSTEM_REVOCATION_KEYS ""
|
|
scripts/config --undefine DEBUG_INFO
|
|
scripts/config --undefine DEBUG_INFO_COMPRESSED
|
|
scripts/config --undefine DEBUG_INFO_REDUCED
|
|
scripts/config --undefine DEBUG_INFO_SPLIT
|
|
scripts/config --undefine GDB_SCRIPTS
|
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
|
scripts/config --set-val DEBUG_INFO_NONE y
|
|
# apply patches
|
|
# shellcheck source=src/util.sh
|
|
# source ../patch.d/*.sh
|
|
|
|
# build deb packages
|
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make bindeb-pkg -j"$CPU_CORES"
|
|
# 移动 deb
|
|
mkdir /tmp/deb-result
|
|
cp ../*.deb /tmp/deb-result
|
|
rm /tmp/deb-result/linux-libc-dev*.deb
|
|
rm /tmp/deb-result/*dbg*.deb
|
|
if [[ $2 == 1 ]]; then
|
|
# move deb packages to artifact dir
|
|
cd ..
|
|
mkdir "artifact"
|
|
#cp ./*.deb artifact/
|
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
|
mkdir dclc-kernel
|
|
mkdir dclc-kernel/$SHOWVERSION
|
|
mkdir dclc-kernel/head
|
|
rm -rfv *dbg*.deb
|
|
mv ./*.deb dclc-kernel/$SHOWVERSION
|
|
cd dclc-kernel/$SHOWVERSION
|
|
cd ..
|
|
cd head
|
|
mkdir deb/DEBIAN -vp
|
|
cat > deb/DEBIAN/control <<EOF
|
|
Package: linux-kernel-gxde-gfdgdxi-xanmod-hwe
|
|
Version: $VERSION
|
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
|
Architecture: amd64
|
|
Severity: serious
|
|
Certainty: possible
|
|
Check: binaries
|
|
Type: binary, udeb
|
|
Priority: optional
|
|
Depends: linux-headers-$VERSION-amd64-xanmod-gfdgdxi-desktop-hwe, linux-image-$VERSION-amd64-xanmod-gfdgdxi-desktop-hwe
|
|
Section: utils
|
|
Installed-Size: 0
|
|
Description: Xanmod 内核 $VERSION
|
|
EOF
|
|
if [[ ! -d deb-$MAINVERSION-xanmod ]]; then
|
|
mkdir -pv deb-$MAINVERSION-xanmod/DEBIAN
|
|
fi
|
|
cat > deb-$MAINVERSION-xanmod/DEBIAN/control <<EOF
|
|
Package: linux-kernel-gxde-$1-xanmod-hwe
|
|
Version: $VERSION
|
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
|
Architecture: amd64
|
|
Severity: serious
|
|
Certainty: possible
|
|
Check: binaries
|
|
Type: binary, udeb
|
|
Priority: optional
|
|
Depends: linux-headers-$VERSION-amd64-xanmod-gfdgdxi-desktop-hwe, linux-image-$VERSION-amd64-xanmod-gfdgdxi-desktop-hwe
|
|
Section: utils
|
|
Installed-Size: 0
|
|
Description: Xanmod HWE 内核 $VERSION
|
|
EOF
|
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-xanmod-hwe_${VERSION}_amd64.deb
|
|
dpkg-deb -Z xz -b deb-$MAINVERSION-xanmod linux-kernel-gxde-gfdgdxi-xanmod-$1-hwe_${VERSION}_amd64.deb
|
|
cd ../../gxde-linux-kernel
|
|
#bash ./repack-zstd --scan .
|
|
#./build.py
|
|
./move-letter-path.py ../dclc-kernel/$SHOWVERSION/*.deb
|
|
./move-letter-path.py ../dclc-kernel/head/*.deb
|
|
./move-letter-path.py /tmp/deb-result/*.deb
|
|
rm -rfv l/linux-libc-dev/
|
|
touch l/linux-headers-$VERSION-amd64-xanmod-gfdgdxi-desktop-hwe/lock
|
|
git add .
|
|
#git pull
|
|
git config --global user.email 3025613752@qq.com
|
|
git config --global user.name gfdgd-xi
|
|
git commit -m 提交$VERSION
|
|
git push
|
|
else
|
|
# move deb packages to artifact dir
|
|
cd ..
|
|
mkdir "artifact"
|
|
#cp ./*.deb artifact/
|
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
|
#cd dclc-kernel
|
|
mkdir dclc-kernel/$VERSION
|
|
mkdir dclc-kernel/head
|
|
rm -rfv *dbg*.deb
|
|
mv ./*.deb dclc-kernel/$VERSION
|
|
cd dclc-kernel/$VERSION
|
|
cd ..
|
|
cd head
|
|
mkdir deb/DEBIAN -vp
|
|
cat > deb/DEBIAN/control <<EOF
|
|
Package: linux-kernel-gxde-gfdgdxi-xanmod
|
|
Version: $VERSION
|
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
|
Architecture: amd64
|
|
Severity: serious
|
|
Certainty: possible
|
|
Check: binaries
|
|
Type: binary, udeb
|
|
Priority: optional
|
|
Depends: linux-headers-$VERSION-amd64-xanmod-gfdgdxi-desktop, linux-image-$VERSION-amd64-xanmod-gfdgdxi-desktop
|
|
Section: utils
|
|
Installed-Size: 0
|
|
Description: 内核(虚包)
|
|
EOF
|
|
if [[ ! -d deb-$MAINVERSION-xanmod ]]; then
|
|
mkdir -pv deb-$MAINVERSION-xanmod/DEBIAN
|
|
fi
|
|
cat > deb-$MAINVERSION-xanmod/DEBIAN/control <<EOF
|
|
Package: linux-kernel-gxde-gfdgdxi-$1-xanmod
|
|
Version: $VERSION
|
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
|
Architecture: amd64
|
|
Severity: serious
|
|
Certainty: possible
|
|
Check: binaries
|
|
Type: binary, udeb
|
|
Priority: optional
|
|
Depends: linux-headers-$VERSION-amd64-xanmod-desktop, linux-image-$VERSION-amd64-xanmod-desktop
|
|
Section: utils
|
|
Installed-Size: 0
|
|
Description: 内核(虚包)
|
|
EOF
|
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-xanmod_${VERSION}_amd64.deb
|
|
dpkg-deb -Z xz -b deb-$MAINVERSION-xanmod linux-kernel-gxde-gfdgdxi-xanmod-${1}_${VERSION}_amd64.deb
|
|
cd ../../gxde-linux-kernel
|
|
#bash ./repack-zstd --scan .
|
|
#./build.py
|
|
./move-letter-path.py ../dclc-kernel/$VERSION/*.deb
|
|
./move-letter-path.py ../dclc-kernel/head/*.deb
|
|
./move-letter-path.py /tmp/deb-result/*.deb
|
|
rm -rfv l/linux-libc-dev/
|
|
touch l/linux-headers-$VERSION-amd64-xanmod-gfdgdxi-desktop/lock
|
|
git add .
|
|
#git pull
|
|
git config --global user.email 3025613752@qq.com
|
|
git config --global user.name gfdgd-xi
|
|
git commit -m 提交$VERSION
|
|
git push
|
|
fi
|