Compare commits
157 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b7552e7ce | |||
| 5200b65d6a | |||
| 53ddca9aca | |||
| c45baaa6aa | |||
| 4972b460ff | |||
| 0a7964fde0 | |||
| f096163f9a | |||
| f9ff780157 | |||
| f8b9cf784b | |||
| c6db4635bb | |||
| 7078b94461 | |||
| a1b04cc7ee | |||
| e24ef8287e | |||
| b221c9adc5 | |||
| f8d7835922 | |||
| a8c6053320 | |||
| 67bc9b44f1 | |||
| 91e9d58a4b | |||
| fc1348d8f1 | |||
| 4039219c8e | |||
| eb2a1ccfff | |||
| eff9e4f658 | |||
| 314bd4b6ff | |||
| 25333c085a | |||
| 50402e9824 | |||
| 3930922b33 | |||
| 69d7617e83 | |||
| 90dab83865 | |||
| f479510217 | |||
| 300e24ac68 | |||
| 1e1370f9fc | |||
| 80ca0e0dbe | |||
| 9d9a2644c2 | |||
| 2623a8af06 | |||
| 5a2568d27b | |||
| 89b9dab290 | |||
| d57001a6cf | |||
| 3c1fc47655 | |||
| c89a594520 | |||
| 49b21989a8 | |||
| 442cc071da | |||
| 92dd117ef1 | |||
| 5d31b4bd4f | |||
| 79aa2e85a0 | |||
| 1d209b976b | |||
| efa361f9ce | |||
| 708b984bec | |||
| 7acaec942d | |||
| 8c63de53cd | |||
| 93483229ca | |||
| 9ef940f908 | |||
| d8b781bbae | |||
| 065276e104 | |||
| e63980a58f | |||
| d5adcb1b23 | |||
| 254288f7c6 | |||
| fc9988287a | |||
| f05295f306 | |||
| 8b22126f53 | |||
| 4d4eb691d3 | |||
| 03d9691030 | |||
| 163913da51 | |||
| 301fcde34e | |||
| 0be08a3ad9 | |||
| b9823b7b18 | |||
| 7c1c45e81d | |||
| 57041e45dc | |||
| ae67161de6 | |||
| ce457f2266 | |||
| 99ba4ea209 | |||
| 191bffb75f | |||
| 0c284b3ce5 | |||
| 5d113cebad | |||
| dc40b7d41d | |||
| fa0d125ce6 | |||
| 995c66385a | |||
| 3b31355206 | |||
| bd229ee0ca | |||
| 95134c9ece | |||
| 34424a10a4 | |||
| de15d9a1c6 | |||
| fd0a516bf0 | |||
| 6fcc4de69e | |||
| de9ab89193 | |||
| 8e23afad3e | |||
| 64ca07b8a8 | |||
| d73dc31167 | |||
| 1703f55532 | |||
| 4edaf9a088 | |||
| 544707a406 | |||
| 5d9bed10f1 | |||
| 55798deb2e | |||
| 857eec3272 | |||
| 79f5d61021 | |||
| 3855e4ef67 | |||
| 467ff434cb | |||
| 09a02f72b9 | |||
| ca5496e66f | |||
| 4c2a2343f6 | |||
| daf075723f | |||
| 227f11ccbf | |||
| c96c145f99 | |||
| 782fa7b38b | |||
| 8ba3c87338 | |||
| 72bd0327fa | |||
| 0e86aadc8e | |||
| afc7505fd7 | |||
| 24afa149e6 | |||
| 829bd7c1fb | |||
| 7565041e21 | |||
| 3f75ef09e8 | |||
| 5552538938 | |||
| 46bb3d3060 | |||
| 8e32f13d7a | |||
| 03813b8dae | |||
| 1eae1a4e89 | |||
| 783d60c3ee | |||
| dc9de5e16e | |||
| d4327fd01c | |||
| 497da07d33 | |||
| c1ac0f9856 | |||
| aed4249ebd | |||
| 8b0bc1dc94 | |||
| cbb2253007 | |||
| c452f2e215 | |||
| 9a6e457c97 | |||
| c7e926e983 | |||
| eebf621313 | |||
| bc185fbe02 | |||
| e75ab5d332 | |||
| c1f5fd66ae | |||
| 3a62e69513 | |||
| 6da69b89d1 | |||
| d5f6e939a3 | |||
| beda0312bd | |||
| a1726f422d | |||
| f58a51f928 | |||
| e31aa16d27 | |||
| e16456d555 | |||
| 1cab7bacc5 | |||
| cd50c25ef7 | |||
| de87de1bed | |||
| b08b0de12f | |||
| aa389a7570 | |||
| 9f1f73bad4 | |||
| c52c398452 | |||
| 6f2b1ddba0 | |||
| 17e27cb1ac | |||
| 945692eeb7 | |||
| 16bffb1397 | |||
| 440af1b462 | |||
| 2cbb5e3908 | |||
| 5e89314c31 | |||
| 000a7852ed | |||
| 705596a29c | |||
| f6691914c7 | |||
| d6ff6cfb5b |
@@ -0,0 +1,33 @@
|
|||||||
|
name: test
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
#- name: Maximize build space
|
||||||
|
# uses: easimon/maximize-build-space@master
|
||||||
|
# with:
|
||||||
|
# # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
# root-reserve-mb: 4096
|
||||||
|
# swap-size-mb: 512
|
||||||
|
# remove-dotnet: 'true'
|
||||||
|
# remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install neofetch -y
|
||||||
|
neofetch
|
||||||
|
df -H /
|
||||||
|
bash build_action-aarch64.sh 1
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
name: Build kernel deb packages(test)
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action-mips64el.sh 0
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
name: Build kernel deb packages(0)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action-loong64-4k-pagesize.sh 0
|
||||||
|
bash build_action.sh 0
|
||||||
|
bash build_action-aarch64.sh 0
|
||||||
|
bash build_action-mips64el.sh 0
|
||||||
|
bash build_action-riscv64.sh 0
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
name: Build kernel deb packages(1, test)
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action-riscv64.sh 1
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
name: Build kernel deb packages(1)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action-loong64-4k-pagesize.sh 1
|
||||||
|
bash build_action.sh 1
|
||||||
|
bash build_action-aarch64.sh 1
|
||||||
|
bash build_action-mips64el.sh 1
|
||||||
|
bash build_action-riscv64.sh 1
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
name: Build kernel deb packages(2)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 6 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action-loong64-4k-pagesize.sh 2
|
||||||
|
bash build_action.sh 2
|
||||||
|
bash build_action-aarch64.sh 2
|
||||||
|
bash build_action-mips64el.sh 2
|
||||||
|
bash build_action-riscv64.sh 2
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Build kernel deb packages(3)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 9 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action.sh 3
|
||||||
|
bash build_action-aarch64.sh 3
|
||||||
|
bash build_action-mips64el.sh 3
|
||||||
|
bash build_action-riscv64.sh 3
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Build kernel deb packages(4)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 12 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action.sh 4
|
||||||
|
bash build_action-aarch64.sh 4
|
||||||
|
bash build_action-mips64el.sh 4
|
||||||
|
bash build_action-riscv64.sh 4
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Build kernel deb packages(5)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 15 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action.sh 5
|
||||||
|
bash build_action-aarch64.sh 5
|
||||||
|
bash build_action-mips64el.sh 5
|
||||||
|
bash build_action-riscv64.sh 5
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Build kernel deb packages(6)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 18 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action.sh 6
|
||||||
|
bash build_action-aarch64.sh 6
|
||||||
|
bash build_action-mips64el.sh 6
|
||||||
|
bash build_action-riscv64.sh 6
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
name: Build kernel deb packages(7)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 21 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: |
|
||||||
|
bash build_action.sh 7
|
||||||
|
bash build_action-aarch64.sh 7
|
||||||
|
bash build_action-mips64el.sh 7
|
||||||
|
bash build_action-riscv64.sh 7
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(0)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 2 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 0 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(1)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 1 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(2)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 8 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 2 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(3)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 11 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 3 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(4)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 14 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 4 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(5)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 17 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 5 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(6)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 20 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 6 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE kernel deb packages(7)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 23 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action.sh 7 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build Xanmod kernel deb packages(0)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 22 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 0
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build Xanmod kernel deb packages(1)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 19 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build Xanmod kernel deb packages(2)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 16 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 2
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build Xanmod kernel deb packages(3)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 13 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 3
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE Xanmod kernel deb packages(0)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 1 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 0 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE Xanmod kernel deb packages(1)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 4 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 1 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE Xanmod kernel deb packages(2)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 7 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 2 1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Build HWE Xanmod kernel deb packages(3)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 10 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action_xanmod.sh 3 1
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
# This file is used to ignore files which are generated
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
*~
|
|
||||||
*.autosave
|
|
||||||
*.a
|
|
||||||
*.core
|
|
||||||
*.moc
|
|
||||||
*.o
|
|
||||||
*.obj
|
|
||||||
*.orig
|
|
||||||
*.rej
|
|
||||||
*_pch.h.cpp
|
|
||||||
*_resource.rc
|
|
||||||
*.qm
|
|
||||||
.#*
|
|
||||||
*.*#
|
|
||||||
core
|
|
||||||
!core/
|
|
||||||
tags
|
|
||||||
.DS_Store
|
|
||||||
.directory
|
|
||||||
*.debug
|
|
||||||
Makefile*
|
|
||||||
*.prl
|
|
||||||
*.app
|
|
||||||
moc_*.cpp
|
|
||||||
ui_*.h
|
|
||||||
qrc_*.cpp
|
|
||||||
Thumbs.db
|
|
||||||
*.res
|
|
||||||
*.rc
|
|
||||||
/.qmake.cache
|
|
||||||
/.qmake.stash
|
|
||||||
|
|
||||||
# qtcreator generated files
|
|
||||||
*.pro.user*
|
|
||||||
CMakeLists.txt.user*
|
|
||||||
|
|
||||||
# xemacs temporary files
|
|
||||||
*.flc
|
|
||||||
|
|
||||||
# Vim temporary files
|
|
||||||
.*.swp
|
|
||||||
|
|
||||||
# Visual Studio generated files
|
|
||||||
*.ib_pdb_index
|
|
||||||
*.idb
|
|
||||||
*.ilk
|
|
||||||
*.pdb
|
|
||||||
*.sln
|
|
||||||
*.suo
|
|
||||||
*.vcproj
|
|
||||||
*vcproj.*.*.user
|
|
||||||
*.ncb
|
|
||||||
*.sdf
|
|
||||||
*.opensdf
|
|
||||||
*.vcxproj
|
|
||||||
*vcxproj.*
|
|
||||||
|
|
||||||
# MinGW generated files
|
|
||||||
*.Debug
|
|
||||||
*.Release
|
|
||||||
|
|
||||||
# Python byte code
|
|
||||||
*.pyc
|
|
||||||
|
|
||||||
# Binaries
|
|
||||||
# --------
|
|
||||||
*.dll
|
|
||||||
*.exe
|
|
||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
deb [trusted=true] https://master.dl.sourceforge.net/project/gxde-kernel-manager/kernel/ ./
|
|
||||||
deb [trusted=true] https://kernel.gxde.gfdgdxi.top/ ./
|
|
||||||
@@ -1,51 +1,11 @@
|
|||||||
<p width=100px align="center"><img width=40% src="icon/icon.svg"></p>
|
# GXDE 内核管理器内核自动编译工程
|
||||||
<h1 align="center">GXDE 内核管理器 1.0.1</h1>
|
利用 GitHub Actions 自动编译 Linux 内核为 deb 包。
|
||||||
<hr>
|
目前支持自动拉取最新版本内核源码、编译、推 apt 源
|
||||||
<a href='https://gitee.com/GXDE-OS/gxde-kernel-manager/stargazers'><img src='https://gitee.com/GXDE-OS/gxde-kernel-manager/badge/star.svg?theme=dark' alt='star'></img></a>
|
GXDE 内核管理器客户端:
|
||||||
<a href='https://gitee.com/GXDE-OS/gxde-kernel-manager/members'><img src='https://gitee.com/GXDE-OS/gxde-kernel-manager/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
- https://gitee.com/GXDE-OS/gxde-kernel-manager
|
||||||
|
- https://github.com/GXDE-OS/gxde-kernel-manager
|
||||||
|
- https://sourceforge.net/projects/gxde-kernel-manager/
|
||||||
|
|
||||||
## 介绍
|

|
||||||
GXDE 内核管理器是一个帮助用户更方便获取、安装、移除内核的工具。
|
|
||||||
目前支持 amd64、arm64、mips64 和 loong64 四个架构
|
|
||||||
***警告:请不要随意操作内核除非你知道你在做什么!***
|
|
||||||
|
|
||||||

|

|
||||||

|
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
## 更新内容
|
|
||||||
### 1.0.1(2024年05月03日)
|
|
||||||
**1、修复部分系统无法打开管理器的问题**
|
|
||||||
**2、新增 Sourceforge 源以准备支持大内核文件**
|
|
||||||
|
|
||||||
### 1.0.0(2024年05月02日)
|
|
||||||
|
|
||||||

|
|
||||||

|
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
## 内核仓库 apt 源
|
|
||||||
安装 GXDE 内核管理器后会自动添加
|
|
||||||
源地址:https://kernel.gxde.gfdgdxi.top/
|
|
||||||
|
|
||||||
## 编译安装
|
|
||||||
```bash
|
|
||||||
git clone https://gitee.com/GXDE-OS/gxde-kernel-manager
|
|
||||||
cd gxde-kernel-manager
|
|
||||||
sudo apt build-dep .
|
|
||||||
qmake .
|
|
||||||
make -j4
|
|
||||||
sudo make install -j4
|
|
||||||
```
|
|
||||||
## 构建 deb 包
|
|
||||||
```bash
|
|
||||||
git clone https://gitee.com/GXDE-OS/gxde-kernel-manager
|
|
||||||
cd gxde-kernel-manager
|
|
||||||
sudo apt build-dep .
|
|
||||||
sudo apt install fakeroot
|
|
||||||
dpkg-buildpackage -b -us
|
|
||||||
```
|
|
||||||
|
|
||||||
# ©2023~Now gfdgd xi
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<RCC>
|
|
||||||
<qresource prefix="/">
|
|
||||||
<file>shell/kernel-installer-root-loader-template.sh</file>
|
|
||||||
<file>shell/kernel-installer-template.sh</file>
|
|
||||||
<file>icon/dialog-apply.svg</file>
|
|
||||||
<file>icon/dialog-cancel.svg</file>
|
|
||||||
<file>icon/dialog-error.svg</file>
|
|
||||||
<file>icon/dialog-information.svg</file>
|
|
||||||
<file>icon/dialog-ok.svg</file>
|
|
||||||
<file>icon/dialog-question.svg</file>
|
|
||||||
<file>icon/dialog-warning.svg</file>
|
|
||||||
<file>icon/icon.svg</file>
|
|
||||||
<file>shell/kernel-installer-remove-template.sh</file>
|
|
||||||
<file>translation/gxde-kernel-manager_zh_CN.qm</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#include "aboutwindow.h"
|
|
||||||
#include "ui_aboutwindow.h"
|
|
||||||
|
|
||||||
#include <QDateTime>
|
|
||||||
|
|
||||||
AboutWindow::AboutWindow(QWidget *parent) :
|
|
||||||
QMainWindow(parent),
|
|
||||||
ui(new Ui::AboutWindow)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
QString info = "";
|
|
||||||
info += "<pre>";
|
|
||||||
info += tr("A kernel manager allows users to install or remove kernels easily.") + "\n\n";
|
|
||||||
info += "<b>" + tr("Warning: You may damage your system unless you know what you will do!") + "</b>\n";
|
|
||||||
info += "</pre>";
|
|
||||||
info += "<hr/>";
|
|
||||||
info += "<h3>" + tr("Website") + "</h3>";
|
|
||||||
info += "<p>Gitee: <a href='https://gitee.com/GXDE-OS/gxde-kernel-manager'>https://gitee.com/GXDE-OS/gxde-kernel-manager</a></p>";
|
|
||||||
info += "<p>Github: <a href='https://github.com/GXDE-OS/gxde-kernel-manager'>https://github.com/GXDE-OS/gxde-kernel-manager</a></p>";
|
|
||||||
info += "<hr/>\n";
|
|
||||||
info += "<h1>©2023~" + QDateTime::currentDateTime().toString("yyyy") + " gfdgd xi</h1>\n";
|
|
||||||
ui->textBrowser->setHtml(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
AboutWindow::~AboutWindow()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AboutWindow::on_m_closeButton_clicked()
|
|
||||||
{
|
|
||||||
this->close();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#ifndef ABOUTWINDOW_H
|
|
||||||
#define ABOUTWINDOW_H
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class AboutWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
class AboutWindow : public QMainWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit AboutWindow(QWidget *parent = nullptr);
|
|
||||||
~AboutWindow();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void on_m_closeButton_clicked();
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::AboutWindow *ui;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ABOUTWINDOW_H
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>AboutWindow</class>
|
|
||||||
<widget class="QMainWindow" name="AboutWindow">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>800</width>
|
|
||||||
<height>600</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>About</string>
|
|
||||||
</property>
|
|
||||||
<property name="windowIcon">
|
|
||||||
<iconset resource="Resource.qrc">
|
|
||||||
<normaloff>:/icon/icon.svg</normaloff>:/icon/icon.svg</iconset>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="m_logoShower">
|
|
||||||
<property name="text">
|
|
||||||
<string><html><head/><body><p><img width=128 src=":/icon/icon.svg"/></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QTextBrowser" name="textBrowser">
|
|
||||||
<property name="openExternalLinks">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="openLinks">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="m_closeButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>OK</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources>
|
|
||||||
<include location="Resource.qrc"/>
|
|
||||||
</resources>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
if [[ ! -n $1 ]]; then
|
|
||||||
echo "Error, option isn't full"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
programPath=$(cd $(dirname $0); pwd)
|
|
||||||
dpkg -x "$1" /tmp/gxde-kernel-manager
|
|
||||||
dpkg -e "$1" /tmp/gxde-kernel-manager/DEBIAN
|
|
||||||
sed -i "s/libqtermwidget5-0 (>= 0.8.0), /libqtermwidget5-0 | libqtermwidget5-1, /g" /tmp/gxde-kernel-manager/DEBIAN/control
|
|
||||||
cp $programPath/lib /tmp/gxde-kernel-manager/opt/apps/gxde-kernel-manager/ -rv
|
|
||||||
if [[ ! -n $2 ]]; then
|
|
||||||
dpkg-deb -Z xz -z 9 -b /tmp/gxde-kernel-manager "$1"
|
|
||||||
else
|
|
||||||
dpkg-deb -Z xz -z 9 -b /tmp/gxde-kernel-manager "$2"
|
|
||||||
fi
|
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
#!/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 gpg python3-pyquery -y
|
||||||
|
aria2c $KEY
|
||||||
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
|
# add deb-src to sources.list
|
||||||
|
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-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_arm64.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
else
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1/linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_arm64.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 install -y gcc-aarch64-linux-gnu
|
||||||
|
sudo apt build-dep -y linux
|
||||||
|
|
||||||
|
# change dir to workplace
|
||||||
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
|
# download kernel source
|
||||||
|
wget $URL
|
||||||
|
if [[ -f linux-"$VERSION".tar.xz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar.gz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.gz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".bz2 ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.bz2
|
||||||
|
fi
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
# 使用 deepin hwe config编译
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
cp ../config-6.1.11-arm64-desktop-hwe .config
|
||||||
|
else
|
||||||
|
cp ../config-arm64 .config
|
||||||
|
fi
|
||||||
|
echo $VERSION | grep 4.14
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
cp ../config-4.19.0-10-arm64 .config
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
# scripts/config --disable DEBUG_INFO
|
||||||
|
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 --disable DEBUG_INFO
|
||||||
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
|
# build deb packages
|
||||||
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
||||||
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- 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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
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-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe, linux-image-$VERSION-arm64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe, linux-image-$VERSION-arm64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-hwe_${VERSION}_arm64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_arm64.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
|
||||||
|
touch l/linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir 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
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop, linux-image-$VERSION-arm64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop, linux-image-$VERSION-arm64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_arm64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_arm64.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-arm64-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
|
||||||
@@ -0,0 +1,222 @@
|
|||||||
|
#!/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 gpg python3-pyquery -y
|
||||||
|
aria2c $KEY
|
||||||
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
|
# add deb-src to sources.list
|
||||||
|
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-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$1-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
else
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1/linux-kernel-gxde-gfdgdxi-${1}-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.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 aria2
|
||||||
|
sudo apt install -y gcc-aarch64-linux-gnu
|
||||||
|
sudo apt build-dep -y linux
|
||||||
|
|
||||||
|
# 配置 loong64 交叉编译环境
|
||||||
|
cd ~
|
||||||
|
aria2c -x 16 -s 16 https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/8.1/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc.tar.xz
|
||||||
|
tar -xf CLFS-loongarch64-8.1-x86_64-cross-tools-gcc.tar.xz
|
||||||
|
rm CLFS-loongarch64-8.1-x86_64-cross-tools-gcc.tar.xz -v
|
||||||
|
export PATH=/home/runner/cross-tools/bin:$PATH
|
||||||
|
export LD_LIBRARY_PATH=/home/runner/cross-tools/lib:/home/runner/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH
|
||||||
|
|
||||||
|
# change dir to workplace
|
||||||
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
|
# download kernel source
|
||||||
|
wget $URL
|
||||||
|
if [[ -f linux-"$VERSION".tar.xz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar.gz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.gz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".bz2 ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.bz2
|
||||||
|
fi
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
cp ../config-loong64-4k-pagesize .config
|
||||||
|
#
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
# scripts/config --disable DEBUG_INFO
|
||||||
|
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 --disable DEBUG_INFO
|
||||||
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
|
# build deb packages
|
||||||
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
||||||
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make PATH=/home/runner/cross-tools/bin:$PATH LD_LIBRARY_PATH=/home/runner/cross-tools/lib:/home/runner/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH ARCH=loongarch CROSS_COMPILE=loongarch64-unknown-linux-gnu- 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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
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-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: loong64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop, linux-image-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: loong64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop, linux-image-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$1-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.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
|
||||||
|
touch l/linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir 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-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: loong64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop, linux-image-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: loong64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop, linux-image-$VERSION-loong64-4k-pagesize-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}-loong64-4k-pagesize-gfdgdxi-desktop_${VERSION}_loong64.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-arm64-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
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
#!/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 gpg python3-pyquery -y
|
||||||
|
aria2c $KEY
|
||||||
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
|
# add deb-src to sources.list
|
||||||
|
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-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_mips64el.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
else
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1/linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_mips64el.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 install -y gcc-mips64el-linux-gnuabi64
|
||||||
|
sudo apt build-dep -y linux
|
||||||
|
|
||||||
|
# change dir to workplace
|
||||||
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
|
# download kernel source
|
||||||
|
wget $URL
|
||||||
|
if [[ -f linux-"$VERSION".tar.xz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar.gz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.gz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".bz2 ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.bz2
|
||||||
|
fi
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
# 使用 deepin hwe config编译
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
cp ../config-6.1.11-mips64el-desktop-hwe .config
|
||||||
|
else
|
||||||
|
cp ../config-mips64el .config
|
||||||
|
fi
|
||||||
|
echo $VERSION | grep 4.14
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
cp ../config-4.19.0-10-mips64el .config
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
# scripts/config --disable DEBUG_INFO
|
||||||
|
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 --disable DEBUG_INFO
|
||||||
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
|
# build deb packages
|
||||||
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
||||||
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- 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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
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-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: mips64el
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-mips64el-loongson3-gfdgdxi-desktop-hwe, linux-image-$VERSION-mips64el-loongson3-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: mips64el
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-mips64el-loongson3-gfdgdxi-desktop-hwe, linux-image-$VERSION-mips64el-loongson3-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-hwe_${VERSION}_mips64el.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_mips64el.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
|
||||||
|
touch l/linux-headers-$VERSION-mips64el-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir 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
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: mips64el
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-mips64el-loongson3-gfdgdxi-desktop, linux-image-$VERSION-mips64el-loongson3-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: mips64el
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-mips64el-loongson3-gfdgdxi-desktop, linux-image-$VERSION-mips64el-loongson3-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_mips64el.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_mips64el.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-mips64el-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
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
#!/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 gpg python3-pyquery -y
|
||||||
|
aria2c $KEY
|
||||||
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
|
# add deb-src to sources.list
|
||||||
|
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-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_riscv64.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
else
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1/linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_riscv64.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 install -y gcc-riscv64-linux-gnu
|
||||||
|
sudo apt build-dep -y linux
|
||||||
|
|
||||||
|
# change dir to workplace
|
||||||
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
|
# download kernel source
|
||||||
|
wget $URL
|
||||||
|
if [[ -f linux-"$VERSION".tar.xz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar.gz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.gz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".bz2 ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.bz2
|
||||||
|
fi
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
# 使用 deepin hwe config编译
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
cp ../config-6.1.11-riscv64-desktop-hwe .config
|
||||||
|
else
|
||||||
|
cp ../config-riscv64 .config
|
||||||
|
fi
|
||||||
|
echo $VERSION | grep 4.14
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
cp ../config-4.19.0-10-riscv64 .config
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
# scripts/config --disable DEBUG_INFO
|
||||||
|
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 --disable DEBUG_INFO
|
||||||
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
|
# build deb packages
|
||||||
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
||||||
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- 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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
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-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: riscv64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-riscv64-loongson3-gfdgdxi-desktop-hwe, linux-image-$VERSION-riscv64-loongson3-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: riscv64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-riscv64-loongson3-gfdgdxi-desktop-hwe, linux-image-$VERSION-riscv64-loongson3-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-hwe_${VERSION}_riscv64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_riscv64.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
|
||||||
|
touch l/linux-headers-$VERSION-riscv64-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir 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
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: riscv64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-riscv64-loongson3-gfdgdxi-desktop, linux-image-$VERSION-riscv64-loongson3-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: riscv64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-riscv64-loongson3-gfdgdxi-desktop, linux-image-$VERSION-riscv64-loongson3-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_riscv64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_riscv64.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-riscv64-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
|
||||||
@@ -0,0 +1,222 @@
|
|||||||
|
#!/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 gpg python3-pyquery -y
|
||||||
|
aria2c $KEY
|
||||||
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
|
# add deb-src to sources.list
|
||||||
|
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-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$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/linux-kernel-gxde-gfdgdxi-${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
|
||||||
|
if [[ -f linux-"$VERSION".tar.xz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar.gz ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.gz
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".tar ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar
|
||||||
|
fi
|
||||||
|
if [[ -f linux-"$VERSION".bz2 ]]; then
|
||||||
|
tar -xf linux-"$VERSION".tar.bz2
|
||||||
|
fi
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
# 使用 deepin hwe config编译
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
cp ../config-6.1.11-amd64-desktop-hwe .config
|
||||||
|
else
|
||||||
|
cp ../config .config
|
||||||
|
fi
|
||||||
|
echo $VERSION | grep 4.14
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
cp ../config-4.19.0-10-amd64 .config
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
# scripts/config --disable DEBUG_INFO
|
||||||
|
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 --disable DEBUG_INFO
|
||||||
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
|
# 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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
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-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-gfdgdxi-desktop-hwe, linux-image-$VERSION-amd64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-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-gfdgdxi-desktop-hwe, linux-image-$VERSION-amd64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-hwe_${VERSION}_amd64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$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
|
||||||
|
touch l/linux-headers-$VERSION-amd64-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
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/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir 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
|
||||||
|
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-gfdgdxi-desktop, linux-image-$VERSION-amd64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
|
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-gfdgdxi-desktop, linux-image-$VERSION-amd64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_amd64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${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-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
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
#!/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
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
VERSION=$(grep 'Kernel Configuration' < /boot/config-"$(uname -r)" | awk '{print $3}')
|
||||||
|
|
||||||
|
# add deb-src to sources.list
|
||||||
|
echo "deb-src https://home-packages.chinauos.com/home plum main contrib non-free" >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
# install dep
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y wget
|
||||||
|
sudo apt build-dep -y linux
|
||||||
|
|
||||||
|
# download kernel source
|
||||||
|
wget http://www.kernel.org/pub/linux/kernel/v5.x/linux-"$VERSION".tar.xz
|
||||||
|
tar -xf linux-"$VERSION".tar.xz
|
||||||
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
cp /boot/config-"$(uname -r)" .config
|
||||||
|
|
||||||
|
# change version string
|
||||||
|
sed -i "s/-desktop/-debuggerx/g" .config
|
||||||
|
|
||||||
|
# reduce ACPI_MAX_LOOP_TIMEOUT value
|
||||||
|
sed -i "/ACPI_MAX_LOOP_TIMEOUT/s/30/3/g" include/acpi/acconfig.h
|
||||||
|
|
||||||
|
# disable DEBUG_INFO to speedup build
|
||||||
|
scripts/config --disable DEBUG_INFO
|
||||||
|
|
||||||
|
CPU_CORES=$(grep -c processor < /proc/cpuinfo)
|
||||||
|
make deb-pkg -j"$CPU_CORES"
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Package: linux-kernel-gxde-gfdgdxi-0
|
||||||
|
Version: 6.10-rc5
|
||||||
|
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-6.10-rc5-amd64-gfdgdxi-desktop, linux-image-6.10-rc5-amd64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Package: linux-kernel-gxde-gfdgdxi
|
||||||
|
Version: 6.10-rc5
|
||||||
|
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-6.10-rc5-amd64-gfdgdxi-desktop, linux-image-6.10-rc5-amd64-gfdgdxi-desktop
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核(虚包)
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
gxde-kernel-manager (1.0.1) UNRELEASED; urgency=medium
|
|
||||||
|
|
||||||
* Initial release. (Closes: #nnnn) <nnnn is the bug number of your ITP>
|
|
||||||
*
|
|
||||||
|
|
||||||
-- gfdgd_xi <3025613752@qq.com> Fri, 03 May 2024 18:57:33 +0800
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
Source: gxde-kernel-manager
|
|
||||||
Section: utils
|
|
||||||
Priority: optional
|
|
||||||
Maintainer: gfdgd_xi <3025613752@qq.com>
|
|
||||||
Rules-Requires-Root: no
|
|
||||||
Build-Depends:
|
|
||||||
debhelper-compat (= 10),
|
|
||||||
qtbase5-dev,
|
|
||||||
qtbase5-dev-tools,
|
|
||||||
qtbase5-private-dev,
|
|
||||||
libqtermwidget5-1-dev | libqtermwidget5-0-dev,
|
|
||||||
qttools5-dev-tools
|
|
||||||
Standards-Version: 4.6.2
|
|
||||||
Homepage: https://gitee.com/GXDE-OS/gxde-kernel-manager
|
|
||||||
#Vcs-Browser: https://salsa.debian.org/debian/gxde-kernel-manager
|
|
||||||
#Vcs-Git: https://salsa.debian.org/debian/gxde-kernel-manager.git
|
|
||||||
|
|
||||||
Package: gxde-kernel-manager
|
|
||||||
Architecture: any
|
|
||||||
Depends:
|
|
||||||
${shlibs:Depends},
|
|
||||||
${misc:Depends},
|
|
||||||
Description: GXDE 内核管理器
|
|
||||||
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
|
||||||
Source: <url://example.com>
|
|
||||||
Upstream-Name: gxde-kernel-manager
|
|
||||||
Upstream-Contact: <preferred name and address to reach the upstream project>
|
|
||||||
|
|
||||||
Files:
|
|
||||||
*
|
|
||||||
Copyright:
|
|
||||||
<years> <put author's name and email here>
|
|
||||||
<years> <likewise for another author>
|
|
||||||
License: GPL-3.0+
|
|
||||||
|
|
||||||
Files:
|
|
||||||
debian/*
|
|
||||||
Copyright:
|
|
||||||
2024 gfdgd_xi <3025613752@qq.com>
|
|
||||||
License: GPL-3.0+
|
|
||||||
|
|
||||||
License: GPL-3.0+
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
.
|
|
||||||
This package is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
.
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
Comment:
|
|
||||||
On Debian systems, the complete text of the GNU General
|
|
||||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
|
||||||
|
|
||||||
# Please also look if there are files or directories which have a
|
|
||||||
# different copyright/license attached and list them here.
|
|
||||||
# Please avoid picking licenses with terms that are more restrictive than the
|
|
||||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
|
||||||
#
|
|
||||||
# If you need, there are some extra license texts available in two places:
|
|
||||||
# /usr/share/debhelper/dh_make/licenses/
|
|
||||||
# /usr/share/common-licenses/
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/usr/bin/make -f
|
|
||||||
|
|
||||||
# See debhelper(7) (uncomment to enable).
|
|
||||||
# Output every command that modifies files on the build system.
|
|
||||||
#export DH_VERBOSE = 1
|
|
||||||
|
|
||||||
|
|
||||||
# See FEATURE AREAS in dpkg-buildflags(1).
|
|
||||||
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
|
||||||
|
|
||||||
# See ENVIRONMENT in dpkg-buildflags(1).
|
|
||||||
# Package maintainers to append CFLAGS.
|
|
||||||
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
|
|
||||||
# Package maintainers to append LDFLAGS.
|
|
||||||
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
|
||||||
|
|
||||||
|
|
||||||
%:
|
|
||||||
dh $@
|
|
||||||
|
|
||||||
|
|
||||||
# dh_make generated override targets.
|
|
||||||
# This is an example for Cmake (see <https://bugs.debian.org/641051>).
|
|
||||||
#override_dh_auto_configure:
|
|
||||||
# dh_auto_configure -- \
|
|
||||||
# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)
|
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import requests
|
||||||
|
import pyquery
|
||||||
|
mainVersion = int(sys.argv[1])
|
||||||
|
headers = {
|
||||||
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
|
||||||
|
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
|
||||||
|
}
|
||||||
|
get = requests.get("https://www.xanmod.org/", headers=headers).text
|
||||||
|
programVersionList = pyquery.PyQuery(get)
|
||||||
|
print(programVersionList)
|
||||||
|
#release = pyquery.PyQuery()
|
||||||
|
temp = 0
|
||||||
|
newestVersion = "0.0.0"
|
||||||
|
newestUrl = ""
|
||||||
|
for i in programVersionList(f"#content div.page div.level3 :first-child td a").items():
|
||||||
|
print(i)
|
||||||
|
if ".tar" in i.attr.href:
|
||||||
|
if temp == mainVersion:
|
||||||
|
newestVersion = os.path.splitext(os.path.splitext(os.path.basename(i.attr.href))[0])[0]
|
||||||
|
newestUrl = i.attr.href
|
||||||
|
break
|
||||||
|
temp += 1
|
||||||
|
#print(i)
|
||||||
|
|
||||||
|
print(newestVersion)
|
||||||
|
print(newestUrl)
|
||||||
|
with open("/tmp/kernelversion.txt", "w") as file:
|
||||||
|
file.write(newestVersion.replace("\n", "").replace(" ", ""))
|
||||||
|
with open("/tmp/kernelurl.txt", "w") as file:
|
||||||
|
file.write(newestUrl.replace("\n", "").replace(" ", ""))
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import sys
|
||||||
|
import pyquery
|
||||||
|
mainVersion = int(sys.argv[1])
|
||||||
|
programVersionList = pyquery.PyQuery(url=f"https://www.kernel.org/")
|
||||||
|
#release = pyquery.PyQuery()
|
||||||
|
temp = 0
|
||||||
|
newestVersion = "0.0.0"
|
||||||
|
newestUrl = ""
|
||||||
|
for i in programVersionList(f"#releases tr :nth-child(2)").items():
|
||||||
|
version = i("td strong").text()
|
||||||
|
if temp == mainVersion:
|
||||||
|
#print(version)
|
||||||
|
version = version.strip()
|
||||||
|
newestVersion = version
|
||||||
|
if " " in version:
|
||||||
|
newestVersion = version.split(" ")[0]
|
||||||
|
break
|
||||||
|
temp += 1
|
||||||
|
|
||||||
|
temp = 0
|
||||||
|
for i in programVersionList(f"#releases tr :nth-child(4)").items():
|
||||||
|
url = i("td a").attr.href
|
||||||
|
if temp == mainVersion:
|
||||||
|
newestUrl = url
|
||||||
|
break
|
||||||
|
temp += 1
|
||||||
|
print(newestVersion)
|
||||||
|
|
||||||
|
print(newestUrl)
|
||||||
|
with open("/tmp/kernelversion.txt", "w") as file:
|
||||||
|
file.write(newestVersion)
|
||||||
|
with open("/tmp/kernelurl.txt", "w") as file:
|
||||||
|
file.write(newestUrl)
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
programPath=$(cd $(dirname $0); pwd)
|
|
||||||
arch=$(dpkg --print-architecture)
|
|
||||||
if [[ -d "$programPath/lib/$arch" ]]; then
|
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$programPath/lib/$arch
|
|
||||||
fi
|
|
||||||
$programPath/gxde-kernel-manager
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Name=GXDE Kernel Manager
|
|
||||||
Name[zh_CN]=GXDE 内核管理器
|
|
||||||
Comment=GXDE Kernel Manager
|
|
||||||
Comment[zh_CN]=GXDE 内核管理器
|
|
||||||
Type=Application
|
|
||||||
Exec=bash /opt/apps/gxde-kernel-manager/gxde-kernel-manager-runner.sh
|
|
||||||
Icon=/opt/apps/gxde-kernel-manager/icon.svg
|
|
||||||
Categories=System
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
QT += core gui network
|
|
||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
|
||||||
|
|
||||||
CONFIG += c++17
|
|
||||||
|
|
||||||
# You can make your code fail to compile if it uses deprecated APIs.
|
|
||||||
# In order to do so, uncomment the following line.
|
|
||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
|
||||||
|
|
||||||
SOURCES += \
|
|
||||||
aboutwindow.cpp \
|
|
||||||
kernelinformation.cpp \
|
|
||||||
kernelinstaller.cpp \
|
|
||||||
main.cpp \
|
|
||||||
mainwindow.cpp
|
|
||||||
|
|
||||||
HEADERS += \
|
|
||||||
aboutwindow.h \
|
|
||||||
kernelinformation.h \
|
|
||||||
kernelinstaller.h \
|
|
||||||
mainwindow.h
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
aboutwindow.ui \
|
|
||||||
kernelinstaller.ui \
|
|
||||||
mainwindow.ui
|
|
||||||
|
|
||||||
# 更新翻译
|
|
||||||
system(lrelease translation/gxde-kernel-manager_zh_CN.ts translation/gxde-kernel-manager_zh_CN.qm)
|
|
||||||
|
|
||||||
# Default rules for deployment.
|
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
|
||||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
|
||||||
!isEmpty(target.path): INSTALLS += target
|
|
||||||
unix:!macx: LIBS += -lqtermwidget5
|
|
||||||
|
|
||||||
aptsource.path = /etc/apt/sources.list.d/
|
|
||||||
aptsource.files = $$PWD/AptSources/gxde-kernel-manager.list
|
|
||||||
|
|
||||||
aptsourcegpg.path = /etc/apt/trusted.gpg.d/
|
|
||||||
aptsourcegpg.files = $$PWD/AptSources/gxde-kernel-manager.gpg
|
|
||||||
|
|
||||||
debiandesktop.path = /usr/share/applications/
|
|
||||||
debiandesktop.files = $$PWD/gxde-kernel-manager.desktop
|
|
||||||
|
|
||||||
uosdesktop.path = /opt/apps/gxde-kernel-manager/entries/applications
|
|
||||||
uosdesktop.files = $$PWD/gxde-kernel-manager.desktop
|
|
||||||
|
|
||||||
icon.path = /opt/apps/gxde-kernel-manager/
|
|
||||||
icon.files = $$PWD/icon/icon.svg
|
|
||||||
|
|
||||||
targetrunner.path = /opt/apps/gxde-kernel-manager/
|
|
||||||
targetrunner.files = $$PWD/gxde-kernel-manager-runner.sh
|
|
||||||
|
|
||||||
#libinclude.path = /opt/apps/gxde-kernel-manager/
|
|
||||||
#libinclude.files = $$PWD/lib
|
|
||||||
|
|
||||||
target.path = /opt/apps/gxde-kernel-manager/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INSTALLS += aptsourcegpg aptsource target debiandesktop uosdesktop icon targetrunner
|
|
||||||
|
|
||||||
TRANSLATIONS += translation/gxde-kernel-manager_zh_CN.ts
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
Resource.qrc
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-apply</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-apply">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#59D2C6" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<polyline id="Path-5" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="44 22 44 34 27 34"></polyline>
|
|
||||||
<path d="M15.5810585,35.2161988 C14.707864,34.5445108 14.7174539,33.4481124 15.5810585,32.7838012 L25.4189415,25.2161988 C26.292136,24.5445108 27,24.8982124 27,25.9907951 L27,42.0092049 C27,43.1086907 26.2825461,43.4481124 25.4189415,42.7838012 L15.5810585,35.2161988 Z" id="Triangle" fill="#FFFFFF"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.9 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-cancel</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-cancel">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#E04141" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<path d="M42.4871169,40.0184985 C43.1684837,40.6998652 43.1732122,41.7998504 42.4870678,42.4859947 C41.805674,43.1673886 40.7030688,43.1695411 40.0195716,42.4860438 L21.5128831,23.9793553 C20.8315163,23.2979886 20.8267878,22.1980034 21.5129322,21.5118591 C22.194326,20.8304652 23.2969312,20.8283127 23.9804284,21.5118099 L42.4871169,40.0184985 Z" id="Rectangle" fill="#FFFFFF"></path>
|
|
||||||
<circle id="Oval-3" stroke="#FFFFFF" stroke-width="3" cx="32" cy="32" r="14.5"></circle>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.9 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-error</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-error">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#C51818" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<path d="M40.7494771,20.5594658 C41.4928588,19.8160841 42.6929596,19.8109252 43.4415538,20.5595194 C44.1849651,21.3029306 44.1873135,22.50589 43.4416074,23.2515961 L23.2505229,43.4426806 C22.5071412,44.1860623 21.3070404,44.1912212 20.5584462,43.442627 C19.8150349,42.6992158 19.8126865,41.4962564 20.5583926,40.7505503 L40.7494771,20.5594658 Z" id="Rectangle" fill="#FFFFFF"></path>
|
|
||||||
<path d="M43.4405842,40.7476216 C44.1838994,41.4909368 44.1890579,42.6909303 43.4405307,43.4394576 C42.6971859,44.1828023 41.4943341,44.1851506 40.7486947,43.4395111 L20.5594158,23.2502322 C19.8161006,22.506917 19.8109421,21.3069235 20.5594693,20.5583962 C21.3028141,19.8150515 22.5056659,19.8127032 23.2513053,20.5583427 L43.4405842,40.7476216 Z" id="Rectangle" fill="#FFFFFF"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 3.2 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-information</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-information">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#988AD3" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<path d="M39,41.5 C39.1075261,41.9690455 38.3560093,42.5622173 36.5,44 C34.0039875,45.9532142 32.633344,46.5 30.5,46.5 C28.9426589,46.5 27.936,45.3421565 27.936,44.0264496 C27.936,41 31,31.0055951 31,29.5 C31,27.6918926 26,32 25.5,30.5 C25.2400137,29.720041 25.199988,29.4927164 27.6,28.0956256 C30.000012,26.6985349 31.9146595,26 33.344,26 C34.944008,26 35.744,26.7053168 35.744,28.1159715 C35.744,31 31.628,43 33.344,43 C34.544,43.9994914 38.5,39.3189217 39,41.5 Z" id="i" fill="#FFFFFF"></path>
|
|
||||||
<circle id="Oval-2" fill="#FFFFFF" cx="33" cy="20" r="3"></circle>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 3.0 KiB |
@@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-ok</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-ok">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#7ED321" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<polyline id="Path-4" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="18 32 27.5104121 42.0104121 46 23"></polyline>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.6 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-question</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-question">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#11B5FF" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<path d="M32,40 C30.3153053,40 29,41.3153053 29,43 C29,44.6605881 30.3264079,46 32,46 C33.6735921,46 35,44.6605881 35,43 C35,41.3153053 33.6846947,40 32,40 Z" id="Path" fill="#FFFFFF"></path>
|
|
||||||
<path d="M32.468,16.96 C27.4238833,16.96 23.58,20.0244775 23.58,24.1702907 C23.58,26.1861804 25.003148,27.77337 27.032,27.77337 C28.9057249,27.77337 30.124,26.4889526 30.124,24.7281068 C30.124,23.0803988 29.3642533,22.3265653 27.8296148,21.9566688 C27.4706135,21.8638914 27.316,21.7167857 27.316,21.4183975 C27.316,20.1849102 29.1314221,18.7367478 31.64,18.7367478 C34.4418576,18.7367478 36.072,20.4206734 36.072,23.4265357 C36.072,25.5483621 35.3753311,26.8992916 33.4522353,29.2779172 C33.2518819,29.5253283 30,32.5 30,35 C30,35.916658 30,37 31,37.5 C32,38 32.1923697,36.5680604 32.6329793,35.0204247 C33.0706287,34.087734 34.2408493,32.7804809 37.3328167,31.0068188 C40.882884,28.675952 41.968,26.858853 41.968,23.9843519 C41.968,19.7046154 38.1785728,16.96 32.468,16.96 Z" id="Path" fill="#FFFFFF"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 3.5 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>dialog-warning</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="dialog-warning">
|
|
||||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
|
||||||
<ellipse id="Oval" fill="#F39800" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
|
||||||
<path d="M32.041368,39 L32.041368,39 C30.7366037,39 29.6679395,38.0426848 29.6260007,36.8352603 L29.0015777,18.8661959 C28.9472125,17.2994188 30.3047888,16 31.9994292,16 L31.9994292,16 C33.6894097,16 35.0454327,17.2907943 34.998834,18.8532592 L34.4567354,36.823761 C34.4210097,38.0369352 33.3507923,39 32.041368,39 L32.041368,39 Z" id="Shape" fill="#FFFFFF"></path>
|
|
||||||
<ellipse id="Oval" fill="#FFFFFF" cx="32" cy="46" rx="3" ry="3"></ellipse>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 32 KiB |
@@ -1,129 +0,0 @@
|
|||||||
#include "kernelinformation.h"
|
|
||||||
|
|
||||||
KernelInformation::KernelInformation()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void KernelInformation::LoadInfo()
|
|
||||||
{
|
|
||||||
QUrl url(this->url);
|
|
||||||
QUrlQuery query;
|
|
||||||
query.addQueryItem("format", "j1");
|
|
||||||
url.setQuery(query.toString(QUrl::FullyEncoded));
|
|
||||||
qDebug() << url;
|
|
||||||
QNetworkRequest request(url);
|
|
||||||
QNetworkAccessManager *m_http = new QNetworkAccessManager(this);
|
|
||||||
QNetworkReply *reply = m_http->get(request);
|
|
||||||
connect(reply, &QNetworkReply::finished, this, [this, m_http](){
|
|
||||||
QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
|
|
||||||
QByteArray data = reply->readAll();
|
|
||||||
qDebug() << data;
|
|
||||||
qDebug() << reply->error();
|
|
||||||
this->listData = QJsonDocument::fromJson(data).array();
|
|
||||||
emit loadFinished(reply);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QJsonArray KernelInformation::get_listData() const
|
|
||||||
{
|
|
||||||
return this->listData;
|
|
||||||
}
|
|
||||||
|
|
||||||
int KernelInformation::get_count() const
|
|
||||||
{
|
|
||||||
return this->listData.count();
|
|
||||||
}
|
|
||||||
|
|
||||||
QJsonObject KernelInformation::get_kernelData(int value) const
|
|
||||||
{
|
|
||||||
return this->listData.at(value).toObject();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::get_name(int value) const
|
|
||||||
{
|
|
||||||
return get_kernelData(value).value("Name").toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::get_author(int value) const
|
|
||||||
{
|
|
||||||
return get_kernelData(value).value("Author").toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::get_des(int value) const
|
|
||||||
{
|
|
||||||
return get_kernelData(value).value("Des").toString().replace("\\n", "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::get_ver(int value) const
|
|
||||||
{
|
|
||||||
return get_kernelData(value).value("Ver").toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList KernelInformation::get_pkgName(int value) const
|
|
||||||
{
|
|
||||||
QJsonArray list = get_kernelData(value).value("PkgName").toArray();
|
|
||||||
int count = list.count();
|
|
||||||
QStringList result;
|
|
||||||
for(int i = 0; i < count; i++) {
|
|
||||||
result << list.at(i).toString();
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList KernelInformation::get_system(int value) const
|
|
||||||
{
|
|
||||||
QJsonArray list = get_kernelData(value).value("System").toArray();
|
|
||||||
int count = list.count();
|
|
||||||
QStringList result;
|
|
||||||
for(int i = 0; i < count; i++) {
|
|
||||||
result << list.at(i).toString();
|
|
||||||
}
|
|
||||||
if(!result.count()) {
|
|
||||||
result << "all";
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList KernelInformation::get_arch(int value) const
|
|
||||||
{
|
|
||||||
QJsonArray list = get_kernelData(value).value("Arch").toArray();
|
|
||||||
int count = list.count();
|
|
||||||
QStringList result;
|
|
||||||
for(int i = 0; i < count; i++) {
|
|
||||||
result << list.at(i).toString();
|
|
||||||
}
|
|
||||||
if(!result.count()) {
|
|
||||||
result << "all";
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::localKernelName() const
|
|
||||||
{
|
|
||||||
QProcess process;
|
|
||||||
process.start("uname", QStringList() << "-r");
|
|
||||||
process.waitForStarted();
|
|
||||||
process.waitForFinished();
|
|
||||||
QString result = process.readAllStandardOutput().replace("\n", "").replace(" ", "");
|
|
||||||
process.close();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool KernelInformation::get_installedAlready(int value) const
|
|
||||||
{
|
|
||||||
QString pkgName = this->get_pkgName(value).at(0);
|
|
||||||
return QFile::exists("/var/lib/dpkg/info/" + pkgName + ".list");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInformation::arch() const
|
|
||||||
{
|
|
||||||
QProcess process;
|
|
||||||
process.start("dpkg", QStringList() << "--print-architecture");
|
|
||||||
process.waitForStarted();
|
|
||||||
process.waitForFinished();
|
|
||||||
QString data = process.readAllStandardOutput();
|
|
||||||
data = data.replace("\n", "").replace(" ", "");
|
|
||||||
process.close();
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
#ifndef KERNELINFORMATION_H
|
|
||||||
#define KERNELINFORMATION_H
|
|
||||||
|
|
||||||
#include <QString>
|
|
||||||
|
|
||||||
#include <QUrlQuery>
|
|
||||||
#include <QNetworkReply>
|
|
||||||
#include <QNetworkRequest>
|
|
||||||
#include <QNetworkAccessManager>
|
|
||||||
|
|
||||||
#include <QJsonDocument>
|
|
||||||
#include <QJsonArray>
|
|
||||||
#include <QJsonObject>
|
|
||||||
|
|
||||||
#include <QProcess>
|
|
||||||
|
|
||||||
#include <QFile>
|
|
||||||
|
|
||||||
class KernelInformation : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
KernelInformation();
|
|
||||||
void LoadInfo();
|
|
||||||
QJsonArray get_listData() const;
|
|
||||||
QJsonObject get_kernelData(int value) const;
|
|
||||||
int get_count() const;
|
|
||||||
QString get_name(int value) const;
|
|
||||||
QString get_author(int value) const;
|
|
||||||
QString get_des(int value) const;
|
|
||||||
QString get_ver(int value) const;
|
|
||||||
QStringList get_pkgName(int value) const;
|
|
||||||
QStringList get_system(int value) const;
|
|
||||||
QStringList get_arch(int value) const;
|
|
||||||
bool get_installedAlready(int value) const;
|
|
||||||
|
|
||||||
QString localKernelName() const;
|
|
||||||
QString arch() const;
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void loadFinished(QNetworkReply *reply);
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString url = "http://info.kernel.gxde.gfdgdxi.top/information.json";
|
|
||||||
QJsonArray listData;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // KERNELINFORMATION_H
|
|
||||||
@@ -1,146 +0,0 @@
|
|||||||
#include "kernelinstaller.h"
|
|
||||||
#include "ui_kernelinstaller.h"
|
|
||||||
|
|
||||||
#include <ctime>
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <QFile>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <QDebug>
|
|
||||||
|
|
||||||
#define MAX_TMP_NUM 1024
|
|
||||||
#define MIN_TMP_NUM 0
|
|
||||||
|
|
||||||
KernelInstaller::KernelInstaller(Option option, QStringList kernelList, QWidget *parent) :
|
|
||||||
QMainWindow(parent),
|
|
||||||
ui(new Ui::KernelInstaller)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
runOption = option;
|
|
||||||
// 修改提示文本
|
|
||||||
QString kernel = "";
|
|
||||||
foreach (QString name, kernelList) {
|
|
||||||
kernel += name + " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(runOption) {
|
|
||||||
case Option::Install:
|
|
||||||
ui->m_status->setText(tr("Try to install ") + kernel);
|
|
||||||
break;
|
|
||||||
case Option::Remove:
|
|
||||||
ui->m_status->setText(tr("Try to remove ") + kernel);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
this->kernelList = kernelList;
|
|
||||||
terminal = new QTermWidget(0);
|
|
||||||
terminal->setColorScheme("DarkPastels");
|
|
||||||
terminal->setAutoClose(false);
|
|
||||||
ui->verticalLayout->addWidget(terminal);
|
|
||||||
StartInstaller();
|
|
||||||
}
|
|
||||||
|
|
||||||
void KernelInstaller::StartInstaller()
|
|
||||||
{
|
|
||||||
// 随机生成目录
|
|
||||||
srand(time(0));
|
|
||||||
int randomNumber = (rand() % (MAX_TMP_NUM - MIN_TMP_NUM)) + 1; // 左闭右闭
|
|
||||||
QString tempPath = tempDir + "/gxde-kernel-manager-installer-" + QString::number(randomNumber) + ".sh";
|
|
||||||
QString tempLoaderPath = tempDir + "/gxde-kernel-manager-root-loader-installer-" + QString::number(randomNumber) + ".sh";
|
|
||||||
QFile file(tempPath);
|
|
||||||
file.open(QFile::WriteOnly);
|
|
||||||
file.write(BuildKernelInstallerBash(this->kernelList, tempPath).toUtf8());
|
|
||||||
file.close();
|
|
||||||
QFile loaderFile(tempLoaderPath);
|
|
||||||
loaderFile.open(QFile::WriteOnly);
|
|
||||||
loaderFile.write(BuildKernelRootLoaderInstallerBash(tempPath, tempLoaderPath).toUtf8());
|
|
||||||
loaderFile.close();
|
|
||||||
terminal->setShellProgram("/usr/bin/bash");
|
|
||||||
terminal->setArgs(QStringList() << tempLoaderPath);
|
|
||||||
terminal->startShellProgram();
|
|
||||||
processID = terminal->getShellPID();
|
|
||||||
// 使用 QTimer 用于判断内核是否安装完成
|
|
||||||
QTimer *runStatusTimer = new QTimer();
|
|
||||||
runStatusTimer->setInterval(100);
|
|
||||||
connect(runStatusTimer, &QTimer::timeout, this, &KernelInstaller::CheckInstallerStatusTimer);
|
|
||||||
runStatusTimer->start();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInstaller::BuildKernelInstallerBash(QStringList kernelList, QString tempFilePath) const
|
|
||||||
{
|
|
||||||
// 转换数据
|
|
||||||
QString kernel = "";
|
|
||||||
foreach (QString name, kernelList) {
|
|
||||||
kernel += name + " ";
|
|
||||||
}
|
|
||||||
QString filePath = ":/shell/kernel-installer-template.sh";
|
|
||||||
switch(runOption) {
|
|
||||||
case Option::Install:
|
|
||||||
filePath = ":/shell/kernel-installer-template.sh";
|
|
||||||
break;
|
|
||||||
case Option::Remove:
|
|
||||||
filePath = ":/shell/kernel-installer-remove-template.sh";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
QFile file(filePath);
|
|
||||||
file.open(QFile::ReadOnly);
|
|
||||||
QString data = file.readAll();
|
|
||||||
data = data.replace("${KernelList}", kernel);
|
|
||||||
data = data.replace("${kernelInstallerShellTempPath}", tempFilePath);
|
|
||||||
file.close();
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString KernelInstaller::BuildKernelRootLoaderInstallerBash(QString tempFilePath, QString tempLoaderFilePath) const
|
|
||||||
{
|
|
||||||
QFile file(":/shell/kernel-installer-root-loader-template.sh");
|
|
||||||
file.open(QFile::ReadOnly);
|
|
||||||
QString data = file.readAll();
|
|
||||||
data = data.replace("${kernelInstallerShellTempPath}", tempFilePath);
|
|
||||||
data = data.replace("${kernelInstallerRootLoaderShellTempPath}", tempLoaderFilePath);
|
|
||||||
file.close();
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* -1 为进程正在运行(正常)
|
|
||||||
* -2 为无法读取进程信息(异常)
|
|
||||||
*/
|
|
||||||
int KernelInstaller::CheckInstallerStatus()
|
|
||||||
{
|
|
||||||
if(QFile::exists("/proc/" + QString::number(processID))) {
|
|
||||||
// 如果进程存在
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
QFile file("/tmp/gxde-kernel-manager-installer-status");
|
|
||||||
if(!file.exists()) {
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
file.open(QFile::ReadOnly);
|
|
||||||
QString data = file.readAll();
|
|
||||||
file.close();
|
|
||||||
data = data.replace("\n", "").replace(" ", "");
|
|
||||||
return data.toInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
void KernelInstaller::CheckInstallerStatusTimer()
|
|
||||||
{
|
|
||||||
int status = CheckInstallerStatus();
|
|
||||||
if(status == -1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 安装完成
|
|
||||||
if(status == 0) {
|
|
||||||
ui->m_status->setText(tr("Done"));
|
|
||||||
ui->m_icon->setText("<img src=':/icon/dialog-ok.svg'>");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ui->m_icon->setText("<img src=':/icon/dialog-error.svg'>");
|
|
||||||
ui->m_status->setText(tr("Something error, exit code: ") + QString::number(status));
|
|
||||||
}
|
|
||||||
|
|
||||||
KernelInstaller::~KernelInstaller()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#ifndef KERNELINSTALLER_H
|
|
||||||
#define KERNELINSTALLER_H
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
|
|
||||||
#include <qtermwidget5/qtermwidget.h>
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class KernelInstaller;
|
|
||||||
}
|
|
||||||
|
|
||||||
class KernelInstaller : public QMainWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
enum Option {
|
|
||||||
Install,
|
|
||||||
Remove
|
|
||||||
};
|
|
||||||
|
|
||||||
explicit KernelInstaller(Option option, QStringList kernelList, QWidget *parent = nullptr);
|
|
||||||
~KernelInstaller();
|
|
||||||
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void InstallFinished(int status);
|
|
||||||
|
|
||||||
private:
|
|
||||||
Option runOption;
|
|
||||||
Ui::KernelInstaller *ui;
|
|
||||||
QTermWidget *terminal;
|
|
||||||
QStringList kernelList;
|
|
||||||
int processID;
|
|
||||||
|
|
||||||
QString tempDir = "/tmp";
|
|
||||||
|
|
||||||
void StartInstaller();
|
|
||||||
QString BuildKernelInstallerBash(QStringList kernelList, QString tempFilePath) const;
|
|
||||||
QString BuildKernelRootLoaderInstallerBash(QString tempFilePath, QString tempLoaderFilePath) const;
|
|
||||||
|
|
||||||
int CheckInstallerStatus();
|
|
||||||
void CheckInstallerStatusTimer();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // KERNELINSTALLER_H
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>KernelInstaller</class>
|
|
||||||
<widget class="QMainWindow" name="KernelInstaller">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>800</width>
|
|
||||||
<height>600</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Config Kernel</string>
|
|
||||||
</property>
|
|
||||||
<property name="windowIcon">
|
|
||||||
<iconset resource="Resource.qrc">
|
|
||||||
<normaloff>:/icon/icon.svg</normaloff>:/icon/icon.svg</iconset>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="m_icon">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="m_status">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources>
|
|
||||||
<include location="Resource.qrc"/>
|
|
||||||
</resources>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#include "mainwindow.h"
|
|
||||||
|
|
||||||
#include <QApplication>
|
|
||||||
|
|
||||||
#include <QFile>
|
|
||||||
#include <QDir>
|
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QObject>
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
QApplication a(argc, argv);
|
|
||||||
QTranslator translator;
|
|
||||||
// 检查系统语言以加载翻译
|
|
||||||
if(QProcessEnvironment::systemEnvironment().value("LANG").contains("zh")) {
|
|
||||||
// 中文,加载中文翻译
|
|
||||||
translator.load(":/translation/gxde-kernel-manager_zh_CN.qm");
|
|
||||||
}
|
|
||||||
a.installTranslator(&translator);
|
|
||||||
#ifdef __linux__
|
|
||||||
// 风险提示
|
|
||||||
if(!QFile::exists(QDir::homePath() + "/.config/gxde-kernel-manager/read_already")) {
|
|
||||||
QMessageBox::warning(NULL, QObject::tr("Waring"), QObject::tr("It is danger because it may make your system unboot.\nPress 'OK' to countinue"));
|
|
||||||
}
|
|
||||||
MainWindow w;
|
|
||||||
w.show();
|
|
||||||
return a.exec();
|
|
||||||
#else
|
|
||||||
// 其它系统不支持该工具
|
|
||||||
QMessageBox::critical(NULL, QObject::tr("Error"), QObject::tr("It unsupport Windows"));
|
|
||||||
return a.exec();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
#include "mainwindow.h"
|
|
||||||
#include "ui_mainwindow.h"
|
|
||||||
#include "aboutwindow.h"
|
|
||||||
|
|
||||||
#include "kernelinformation.h"
|
|
||||||
|
|
||||||
#include <QStandardItemModel>
|
|
||||||
#include <qdesktopservices.h>
|
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
|
||||||
: QMainWindow(parent)
|
|
||||||
, ui(new Ui::MainWindow)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
kernelInformation = new KernelInformation();
|
|
||||||
RefreshKernelList();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::RefreshKernelList()
|
|
||||||
{
|
|
||||||
ui->m_nowKernel->setText(tr("Kernel: ") + kernelInformation->localKernelName() + " " + tr("Arch: ") + kernelInformation->arch());
|
|
||||||
connect(kernelInformation, &KernelInformation::loadFinished, this, [this](){
|
|
||||||
qDebug() << this->kernelInformation->get_listData();
|
|
||||||
RefreshKernelListView(kernelInformation);
|
|
||||||
});
|
|
||||||
kernelInformation->LoadInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::RefreshKernelListView(KernelInformation *info)
|
|
||||||
{
|
|
||||||
// 更新列表
|
|
||||||
int count = info->get_count();
|
|
||||||
QStandardItemModel *model = new QStandardItemModel();
|
|
||||||
model->setHorizontalHeaderLabels(QStringList() << tr("ID") << tr("Kernel Name") << tr("Author") << tr("Arch") << tr("Installed"));
|
|
||||||
for(int i = 0; i < count; i++) {
|
|
||||||
model->setItem(i, 0, new QStandardItem(QString::number(i)));
|
|
||||||
model->setItem(i, 1, new QStandardItem(info->get_name(i)));
|
|
||||||
model->setItem(i, 2, new QStandardItem(info->get_author(i)));
|
|
||||||
model->setItem(i, 3, new QStandardItem(info->get_arch(i).at(0)));
|
|
||||||
model->setItem(i, 4, new QStandardItem((QStringList() << "" << "Y").at(info->get_installedAlready(i))));
|
|
||||||
}
|
|
||||||
ui->m_kernelShow->setModel(model);
|
|
||||||
}
|
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_m_refreshButton_clicked()
|
|
||||||
{
|
|
||||||
RefreshKernelList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_m_installButton_clicked()
|
|
||||||
{
|
|
||||||
QModelIndex list = ui->m_kernelShow->selectionModel()->currentIndex();
|
|
||||||
int row = list.row();
|
|
||||||
if(row <= 0) {
|
|
||||||
// 未选中任何内容
|
|
||||||
QMessageBox::critical(this, tr("Error"), tr("Nothing to choose"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 获取 ID
|
|
||||||
QModelIndex index = ui->m_kernelShow->model()->index(row, 0);
|
|
||||||
int id = ui->m_kernelShow->model()->data(index).toUInt();
|
|
||||||
// 获取选中行
|
|
||||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Install, kernelInformation->get_pkgName(id));
|
|
||||||
installer->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_actionExit_triggered()
|
|
||||||
{
|
|
||||||
this->close();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_actionAbout_triggered()
|
|
||||||
{
|
|
||||||
AboutWindow *aboutWindow = new AboutWindow();
|
|
||||||
aboutWindow->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_actionGitee_triggered()
|
|
||||||
{
|
|
||||||
QDesktopServices::openUrl(QUrl("https://gitee.com/GXDE-OS/gxde-kernel-manager"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_actionGithub_triggered()
|
|
||||||
{
|
|
||||||
QDesktopServices::openUrl(QUrl("https://github.com/GXDE-OS/gxde-kernel-manager"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_m_removeButton_clicked()
|
|
||||||
{
|
|
||||||
QModelIndex list = ui->m_kernelShow->selectionModel()->currentIndex();
|
|
||||||
int row = list.row();
|
|
||||||
if(row <= 0) {
|
|
||||||
// 未选中任何内容
|
|
||||||
QMessageBox::critical(this, tr("Error"), tr("Nothing to choose"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 获取 ID
|
|
||||||
QModelIndex index = ui->m_kernelShow->model()->index(row, 0);
|
|
||||||
int id = ui->m_kernelShow->model()->data(index).toUInt();
|
|
||||||
// 获取选中行
|
|
||||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Remove, kernelInformation->get_pkgName(id));
|
|
||||||
installer->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#ifndef MAINWINDOW_H
|
|
||||||
#define MAINWINDOW_H
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
#include <QMessageBox>
|
|
||||||
#include "kernelinformation.h"
|
|
||||||
#include "kernelinstaller.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
namespace Ui { class MainWindow; }
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
class MainWindow : public QMainWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
MainWindow(QWidget *parent = nullptr);
|
|
||||||
~MainWindow();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void on_m_refreshButton_clicked();
|
|
||||||
|
|
||||||
void on_m_installButton_clicked();
|
|
||||||
|
|
||||||
void on_actionExit_triggered();
|
|
||||||
|
|
||||||
void on_actionAbout_triggered();
|
|
||||||
|
|
||||||
void on_actionGitee_triggered();
|
|
||||||
|
|
||||||
void on_actionGithub_triggered();
|
|
||||||
|
|
||||||
void on_m_removeButton_clicked();
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::MainWindow *ui;
|
|
||||||
KernelInformation *kernelInformation;
|
|
||||||
void RefreshKernelList();
|
|
||||||
void RefreshKernelListView(KernelInformation *info);
|
|
||||||
};
|
|
||||||
#endif // MAINWINDOW_H
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>MainWindow</class>
|
|
||||||
<widget class="QMainWindow" name="MainWindow">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>800</width>
|
|
||||||
<height>600</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>GXDE Kerne Manager</string>
|
|
||||||
</property>
|
|
||||||
<property name="windowIcon">
|
|
||||||
<iconset resource="Resource.qrc">
|
|
||||||
<normaloff>:/icon/icon.svg</normaloff>:/icon/icon.svg</iconset>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QTableView" name="m_kernelShow">
|
|
||||||
<property name="editTriggers">
|
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="m_nowKernel">
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="m_refreshButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Refresh</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="m_installButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Install</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="m_removeButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Remove</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenuBar" name="menubar">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>800</width>
|
|
||||||
<height>23</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<widget class="QMenu" name="menuProgram">
|
|
||||||
<property name="title">
|
|
||||||
<string>Program</string>
|
|
||||||
</property>
|
|
||||||
<addaction name="actionExit"/>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenu" name="menuHelp">
|
|
||||||
<property name="title">
|
|
||||||
<string>Help</string>
|
|
||||||
</property>
|
|
||||||
<addaction name="actionGitee"/>
|
|
||||||
<addaction name="actionGithub"/>
|
|
||||||
<addaction name="separator"/>
|
|
||||||
<addaction name="actionAbout"/>
|
|
||||||
</widget>
|
|
||||||
<addaction name="menuProgram"/>
|
|
||||||
<addaction name="menuHelp"/>
|
|
||||||
</widget>
|
|
||||||
<widget class="QStatusBar" name="statusbar"/>
|
|
||||||
<action name="actionExit">
|
|
||||||
<property name="text">
|
|
||||||
<string>Exit</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionAbout">
|
|
||||||
<property name="text">
|
|
||||||
<string>About</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionGitee">
|
|
||||||
<property name="text">
|
|
||||||
<string>Gitee</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionGithub">
|
|
||||||
<property name="text">
|
|
||||||
<string>Github</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
</widget>
|
|
||||||
<resources>
|
|
||||||
<include location="Resource.qrc"/>
|
|
||||||
</resources>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# reduce ACPI_MAX_LOOP_TIMEOUT value
|
||||||
|
sed -i "/ACPI_MAX_LOOP_TIMEOUT/s/30/3/g" include/acpi/acconfig.h
|
||||||
|
|
||||||
|
# make kernel version to 5.xx.0
|
||||||
|
sed -i '/SUBLEVEL =/s/[0-9].*/0/g' Makefile
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
rm /tmp/gxde-kernel-manager-installer-status -f
|
|
||||||
apt purge ${KernelList} -y
|
|
||||||
rm -f "${kernelInstallerShellTempPath}"
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
rm /tmp/gxde-kernel-manager-installer-status -f
|
|
||||||
pkexec bash "${kernelInstallerShellTempPath}"
|
|
||||||
echo $? > /tmp/gxde-kernel-manager-installer-status
|
|
||||||
rm -f "${kernelInstallerRootLoaderShellTempPath}"
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
rm /tmp/gxde-kernel-manager-installer-status -f
|
|
||||||
apt update
|
|
||||||
apt install ${KernelList} -y
|
|
||||||
rm -f "${kernelInstallerShellTempPath}"
|
|
||||||
@@ -1,209 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="zh_CN">
|
|
||||||
<context>
|
|
||||||
<name>AboutWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.ui" line="14"/>
|
|
||||||
<source>About</source>
|
|
||||||
<translation>关于</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.ui" line="25"/>
|
|
||||||
<source><html><head/><body><p><img width=128 src=":/icon/icon.svg"/></p></body></html></source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.ui" line="62"/>
|
|
||||||
<source>OK</source>
|
|
||||||
<translation>确定</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.cpp" line="13"/>
|
|
||||||
<source>A kernel manager allows users to install or remove kernels easily.</source>
|
|
||||||
<translation>GXDE 内核管理器是一个帮助用户更方便获取、安装、移除内核的工具。</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.cpp" line="14"/>
|
|
||||||
<source>Warning: You may damage your system unless you know what you will do!</source>
|
|
||||||
<translation>警告:请不要随意操作内核除非你知道你在做什么!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../aboutwindow.cpp" line="17"/>
|
|
||||||
<source>Website</source>
|
|
||||||
<translation>网址</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>KernelInstaller</name>
|
|
||||||
<message>
|
|
||||||
<source>Kernel Installer</source>
|
|
||||||
<translation type="vanished">安装内核</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.ui" line="14"/>
|
|
||||||
<source>Config Kernel</source>
|
|
||||||
<translation>配置内核</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.ui" line="33"/>
|
|
||||||
<location filename="../kernelinstaller.ui" line="46"/>
|
|
||||||
<source>TextLabel</source>
|
|
||||||
<translation>文本标签</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.cpp" line="27"/>
|
|
||||||
<source>Try to install </source>
|
|
||||||
<translation>正在尝试安装 </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.cpp" line="30"/>
|
|
||||||
<source>Try to remove </source>
|
|
||||||
<translation>尝试移除 </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.cpp" line="135"/>
|
|
||||||
<source>Done</source>
|
|
||||||
<translation>完成</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../kernelinstaller.cpp" line="140"/>
|
|
||||||
<source>Something error, exit code: </source>
|
|
||||||
<translation>出现错误,退出代码: </translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<source>Kerne Manager</source>
|
|
||||||
<translation type="vanished">GXDE 内核管理器</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="14"/>
|
|
||||||
<source>GXDE Kerne Manager</source>
|
|
||||||
<translation>GXDE 内核管理器</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="43"/>
|
|
||||||
<source>TextLabel</source>
|
|
||||||
<translation>文本标签</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="63"/>
|
|
||||||
<source>Refresh</source>
|
|
||||||
<translation>刷新</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="70"/>
|
|
||||||
<source>Install</source>
|
|
||||||
<translation>安装</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="77"/>
|
|
||||||
<source>Remove</source>
|
|
||||||
<translation>卸载</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="96"/>
|
|
||||||
<source>Program</source>
|
|
||||||
<translation>程序</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="102"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>帮助</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="115"/>
|
|
||||||
<source>Exit</source>
|
|
||||||
<translation>退出</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="120"/>
|
|
||||||
<source>About</source>
|
|
||||||
<translation>关于</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="125"/>
|
|
||||||
<source>Gitee</source>
|
|
||||||
<translation>Gitee</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.ui" line="130"/>
|
|
||||||
<source>Github</source>
|
|
||||||
<translation>Github</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="21"/>
|
|
||||||
<source>Kernel: </source>
|
|
||||||
<translation>内核: </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="21"/>
|
|
||||||
<source>Arch: </source>
|
|
||||||
<translation>架构: </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="34"/>
|
|
||||||
<source>ID</source>
|
|
||||||
<translation>ID</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="34"/>
|
|
||||||
<source>Kernel Name</source>
|
|
||||||
<translation>内核名称</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="34"/>
|
|
||||||
<source>Author</source>
|
|
||||||
<translation>维护者</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="34"/>
|
|
||||||
<source>Arch</source>
|
|
||||||
<translation>架构</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="34"/>
|
|
||||||
<source>Installed</source>
|
|
||||||
<translation>是否安装</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="63"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="106"/>
|
|
||||||
<source>Error</source>
|
|
||||||
<translation>错误</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="63"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="106"/>
|
|
||||||
<source>Nothing to choose</source>
|
|
||||||
<translation>没有选择任何选项</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../main.cpp" line="23"/>
|
|
||||||
<source>Waring</source>
|
|
||||||
<translation>警告</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../main.cpp" line="23"/>
|
|
||||||
<source>It is danger because it may make your system unboot.
|
|
||||||
Press 'OK' to countinue</source>
|
|
||||||
<translation>免责声明:
|
|
||||||
操作内核有可能导致系统无法正常启动,按“OK”键继续</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../main.cpp" line="30"/>
|
|
||||||
<source>Error</source>
|
|
||||||
<translation>错误</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../main.cpp" line="30"/>
|
|
||||||
<source>It unsupport Windows</source>
|
|
||||||
<translation>该程序不支持 Windows</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||