Compare commits
No commits in common. "master" and "builder" have entirely different histories.
33
.github/workflows/arm-test.yml
vendored
Normal file
@ -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
|
||||
|
29
.github/workflows/build-0-test.yml
vendored
Normal file
@ -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
|
36
.github/workflows/build-0.yml
vendored
Normal file
@ -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
|
30
.github/workflows/build-1-test.yml
vendored
Normal file
@ -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
|
36
.github/workflows/build-1.yml
vendored
Normal file
@ -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
|
36
.github/workflows/build-2.yml
vendored
Normal file
@ -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
|
35
.github/workflows/build-3.yml
vendored
Normal file
@ -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
|
35
.github/workflows/build-4.yml
vendored
Normal file
@ -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
|
35
.github/workflows/build-5.yml
vendored
Normal file
@ -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
|
35
.github/workflows/build-6.yml
vendored
Normal file
@ -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
|
35
.github/workflows/build-7.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-0.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-1.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-2.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-3.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-4.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-5.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-6.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-hwe-7.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-0.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-1.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-2.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-3.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-hwe0.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-hwe1.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-hwe2.yml
vendored
Normal file
@ -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
|
31
.github/workflows/build-xanmod-hwe3.yml
vendored
Normal file
@ -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
|
13
.github/workflows/program-builder.yml
vendored
@ -1,13 +0,0 @@
|
||||
name: Building Program
|
||||
run-name: Building ${{ GITHUB.REPOSITORY }}
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
call:
|
||||
uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master
|
||||
secrets: inherit
|
74
.gitignore
vendored
@ -1,74 +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
|
||||
|
||||
# Visual Studio Code
|
||||
.vscode
|
1
1
Normal file
@ -0,0 +1 @@
|
||||
|
@ -1,3 +0,0 @@
|
||||
deb [trusted=true] https://master.dl.sourceforge.net/project/gxde-kernel-manager/kernel/ ./
|
||||
# CN Mirror
|
||||
#deb [trusted=true] http://gfdgdxi.v5.idcfengye.com/gxde-linux-kernel/ ./
|
Before ![]() (image error) Size: 270 KiB |
BIN
Donate/QQ.png
Before ![]() (image error) Size: 66 KiB |
Before ![]() (image error) Size: 76 KiB |
Before ![]() (image error) Size: 338 KiB |
0
LICENSE
Executable file → Normal file
107
README.md
@ -1,102 +1,11 @@
|
||||
<p width=100px align="center"><img width=40% src="icon/gxde-kernel-manager.svg"></p>
|
||||
<h1 align="center">GXDE 内核管理器 1.1.1</h1>
|
||||
<hr>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
## 国产的 arm CPU(如飞腾、鲲鹏、麒麟) 不要随意更换内核,否则会因为更换内核导致兼容性问题甚至无法启动
|
||||
|
||||
## 介绍
|
||||
GXDE 内核管理器是一个帮助用户更方便获取、安装、移除内核的工具。
|
||||
目前支持 amd64、arm64、mips64 和 loong64 四个架构
|
||||
***警告:请不要随意操作内核除非你知道你在做什么!***
|
||||
QQ 群:881201853
|
||||
|
||||
GXDE Kernel Manager is a kernel manager allows users to install or remove kernels easily.
|
||||
Support architectures: amd64, arm64, mips64, loong64
|
||||
**Warning: You may damage your system unless you know what you will do!**
|
||||
|
||||
# GXDE 内核管理器内核自动编译工程
|
||||
利用 GitHub Actions 自动编译 Linux 内核为 deb 包。
|
||||
目前支持自动拉取最新版本内核源码、编译、推 apt 源
|
||||
GXDE 内核管理器客户端:
|
||||
- https://gitee.com/GXDE-OS/gxde-kernel-manager
|
||||
- https://github.com/GXDE-OS/gxde-kernel-manager
|
||||
- https://sourceforge.net/projects/gxde-kernel-manager/
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
## GXDE 系统如何安装 GXDE 内核管理器?
|
||||
只适用于 GXDE,deepin/UOS 等需要下载 deb 手动安装
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install gxde-kernel-manager
|
||||
```
|
||||
|
||||
## 更新内容
|
||||
### 1.1.1(2024.06.29)
|
||||
**※1、新增内核详细信息窗口**
|
||||
**※2、修复在部分机器上安装内核直接提示错误 1 的问题**
|
||||
|
||||
**※1. Add an information window about the Kernel**
|
||||
**※2. Fix the issue with the installed Kernel causing exit code 1**
|
||||
|
||||
### 1.1.0(2024.05.12)
|
||||
**※1、支持从 apt 源读取内核数据并显示安装**
|
||||
**※2、支持只显示与当前系统相同架构的内核**
|
||||
**※3、下载/更新内核时支持调用 aptss 提升下载速度**
|
||||
**※4、新增卸载所有内核时的窗口警告**
|
||||
5、优化表格显示效果
|
||||
6、支持显示内核描述和版本
|
||||
|
||||
**※1. Support getting kernel data from apt database.**
|
||||
**※2. Support showing only kernels that are the same as the local system architecture.**
|
||||
**※3. Support using aptss to download packages faster.**
|
||||
**※4. Show a warning message box when removing all kernels.**
|
||||
5. Optimize the effect of the kernels table.
|
||||
6. Support showing kernel descriptions and versions.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
### 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
|
||||
```
|
||||
## 请作者喝杯茶
|
||||
如果您觉得 GXDE 内核管理器对你有帮助,可以请作者喝杯茶
|
||||
<img src="Donate/Wechat.png" width="250" />
|
||||
<img src="Donate/Alipay.jpg" width="250" />
|
||||
<img src="Donate/QQ.png" width="250" >
|
||||
|
||||
### 广告
|
||||
支付宝官方活动,扫描获得支付红包!
|
||||
<p><img src="Donate/advertisement0.jpg" width="250" ></p>
|
||||
|
||||
# ©2023~Now gfdgd xi
|
||||

|
28
Resource.qrc
@ -1,28 +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/gxde-kernel-manager.svg</file>
|
||||
<file>shell/kernel-installer-remove-template.sh</file>
|
||||
<file>translation/gxde-kernel-manager_zh_CN.qm</file>
|
||||
<file>shell/kernel-installer-reconfigure-template.sh</file>
|
||||
<file>shell/kernel-installer-update-template.sh</file>
|
||||
<file>data/new/en_US.html</file>
|
||||
<file>data/new/zh_CN.html</file>
|
||||
<file>data/version</file>
|
||||
<file>shell/kernel-installer-upgrade-template.sh</file>
|
||||
<file>icon/icon1.png</file>
|
||||
<file>Donate/advertisement0.jpg</file>
|
||||
<file>Donate/Alipay.jpg</file>
|
||||
<file>Donate/QQ.png</file>
|
||||
<file>Donate/Wechat.png</file>
|
||||
<file>icon/tux.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
0
a
Normal file
@ -1,51 +0,0 @@
|
||||
#include "aboutwindow.h"
|
||||
#include "ui_aboutwindow.h"
|
||||
#include "programinfo.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QProcessEnvironment>
|
||||
#include <QFile>
|
||||
|
||||
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 += tr("Built Time: ") + QString(__DATE__) + " " + __TIME__ + "\n";
|
||||
info += tr("QQ Group: 881201853") + "\n";
|
||||
info += "</pre>";
|
||||
info += "<hr/>";
|
||||
info += ProgramInfo::updateInfo();
|
||||
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 += "<p>Sourceforge: <a href='https://sourceforge.net/projects/gxde-kernel-manager/'>https://sourceforge.net/projects/gxde-kernel-manager/</a></p>";
|
||||
info += "<p>GXDE Homepage: <a href='https://www.gxde.org'>https://www.gxde.org</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();
|
||||
}
|
||||
|
||||
|
||||
void AboutWindow::on_m_logoShower_linkActivated(const QString &link)
|
||||
{
|
||||
ui->m_logoShower->setText("<html><head/><body><p><a href='https://www.gxde.org'><img width=128 src=\":/icon/icon1.png\"/></a></p></body></html>");
|
||||
}
|
||||
|
@ -1,27 +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();
|
||||
|
||||
void on_m_logoShower_linkActivated(const QString &link);
|
||||
|
||||
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/gxde-kernel-manager.svg</normaloff>:/icon/gxde-kernel-manager.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><a href='https://www.gxde.org'><img width=128 src=":/icon/gxde-kernel-manager.svg"/></a></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
|
225
aptpkginfo.cpp
@ -1,225 +0,0 @@
|
||||
#include "aptpkginfo.h"
|
||||
#include <QFile>
|
||||
#include <QDir>
|
||||
#include <QDebug>
|
||||
#include <QJsonObject>
|
||||
|
||||
AptPkgInfo::AptPkgInfo(QString pkgName, PkgSearchOption option)
|
||||
{
|
||||
this->pkgSearchOption = option;
|
||||
SetPkgName(pkgName);
|
||||
ReadAptData();
|
||||
}
|
||||
|
||||
QStringList AptPkgInfo::SplitVersion(QString version) const
|
||||
{
|
||||
SplitVersionStatus status = SplitVersionStatus::Checking;
|
||||
QStringList versionList;
|
||||
QString versionNumberTemp = "";
|
||||
QString versionLetterTemp = "";
|
||||
for(QString i: version) {
|
||||
if(symbolList.contains(i)) {
|
||||
// 如果是特殊字符
|
||||
|
||||
switch(status) {
|
||||
case SplitVersionStatus::Checking:
|
||||
versionList.append(versionNumberTemp);
|
||||
break;
|
||||
case SplitVersionStatus::MeetedEnglishLetter:
|
||||
versionList.append(versionLetterTemp);
|
||||
break;
|
||||
}
|
||||
versionList.append(i);
|
||||
versionNumberTemp = "";
|
||||
versionLetterTemp = "";
|
||||
status = SplitVersionStatus::MeetSymbol;
|
||||
continue;
|
||||
}
|
||||
if(i[0].isLetter()) {
|
||||
switch(status) {
|
||||
case SplitVersionStatus::Checking:
|
||||
versionList.append(versionNumberTemp);
|
||||
break;
|
||||
}
|
||||
versionLetterTemp += i;
|
||||
versionNumberTemp = "";
|
||||
status = SplitVersionStatus::MeetedEnglishLetter;
|
||||
continue;
|
||||
}
|
||||
switch(status) {
|
||||
case SplitVersionStatus::MeetedEnglishLetter:
|
||||
versionList.append(versionLetterTemp);
|
||||
break;
|
||||
}
|
||||
versionNumberTemp += i;
|
||||
status = SplitVersionStatus::Checking;
|
||||
versionLetterTemp = "";
|
||||
}
|
||||
if(status == SplitVersionStatus::Checking) {
|
||||
versionList.append(versionNumberTemp);
|
||||
}
|
||||
|
||||
|
||||
return versionList;
|
||||
}
|
||||
|
||||
bool AptPkgInfo::CompareVersion(QString version1, QString version2) const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void AptPkgInfo::ReadAptData()
|
||||
{
|
||||
this->aptData = QJsonObject();
|
||||
QDir dir("/var/lib/apt/lists/");
|
||||
QStringList list = dir.entryList();
|
||||
for(QString i: list) {
|
||||
// 除去 . 和 ..
|
||||
if(i == "." || i == "..") {
|
||||
continue;
|
||||
}
|
||||
if(i.mid(i.indexOf("_Packages")) != "_Packages") {
|
||||
continue;
|
||||
}
|
||||
QFile file(dir.path() + "/" + i);
|
||||
file.open(QFile::ReadOnly);
|
||||
// 分析
|
||||
QJsonObject pkgData;
|
||||
pkgDataStatus status = pkgDataStatus::None;
|
||||
QString strTemp; // 因为直接 replace 会改变原来的值
|
||||
while(!file.atEnd()) {
|
||||
QByteArray line = file.readLine();
|
||||
strTemp = line;
|
||||
if(strTemp.replace(" ", "").replace("\n", "") == "") {
|
||||
// 空行
|
||||
if(status == pkgDataStatus::IsContain) {
|
||||
QString addPkgName = pkgData.value("Package").toString();
|
||||
// 如果已经存在表中
|
||||
if(pkgData.contains(addPkgName)) {
|
||||
// 新增数据
|
||||
QJsonObject allDataObject = aptData.value(addPkgName).toObject();
|
||||
// 判断版本大小,如果新于表内版本则更新
|
||||
QString dataVersion = allDataObject.value("Version").toString();
|
||||
|
||||
}
|
||||
else {
|
||||
aptData.insert(addPkgName, pkgData);
|
||||
}
|
||||
|
||||
}
|
||||
status = pkgDataStatus::EmptyLine;
|
||||
pkgData = QJsonObject(); // 清空
|
||||
continue;
|
||||
}
|
||||
// 如果已经被检测为非要寻找的包名,则
|
||||
if(status == pkgDataStatus::UnContain) {
|
||||
continue; // 忽略该行
|
||||
}
|
||||
// 分析行
|
||||
if(line.contains("Package: ")) {
|
||||
// 如果为包名行,则进行分析
|
||||
// 是否含有要求关键字
|
||||
strTemp = line;
|
||||
QString pkgName = strTemp.replace("Package: ", "").replace(" ", "").replace("\n", "");
|
||||
switch(this->pkgSearchOption) {
|
||||
case PkgSearchOption::Equal:
|
||||
if(pkgName == this->pkgName) {
|
||||
status = pkgDataStatus::IsContain;
|
||||
}
|
||||
else {
|
||||
status = pkgDataStatus::UnContain;
|
||||
}
|
||||
break;
|
||||
case PkgSearchOption::Include:
|
||||
if(pkgName.contains(this->pkgName)) {
|
||||
status = pkgDataStatus::IsContain;
|
||||
}
|
||||
else {
|
||||
status = pkgDataStatus::UnContain;
|
||||
}
|
||||
break;
|
||||
case PkgSearchOption::HeadInclude:
|
||||
if(pkgName.mid(0, this->pkgName.length()) == this->pkgName) {
|
||||
status = pkgDataStatus::IsContain;
|
||||
}
|
||||
else {
|
||||
status = pkgDataStatus::UnContain;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// 解析为 QJsonObject
|
||||
pkgData.insert("Package", pkgName);
|
||||
continue;
|
||||
}
|
||||
// 处理
|
||||
int index = line.indexOf(":");
|
||||
strTemp = line;
|
||||
strTemp.replace("\n", "");
|
||||
pkgData.insert(QString(strTemp.mid(0, index)), QString(strTemp.mid(index + 2)));
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void AptPkgInfo::SetPkgName(QString pkgName)
|
||||
{
|
||||
this->pkgName = pkgName;
|
||||
//pkgInfo = GetPkgInfo(pkgName);
|
||||
}
|
||||
|
||||
QString AptPkgInfo::GetPkgInfo(QString pkgName) const
|
||||
{
|
||||
if(pkgName == NULL) {
|
||||
pkgName = this->pkgName;
|
||||
}
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "en");
|
||||
return this->GetCommandResult("apt", QStringList() << "list" << pkgName, env);
|
||||
}
|
||||
|
||||
QString AptPkgInfo::get_package(QString pkgName) const
|
||||
{
|
||||
return this->aptData.value(pkgName).toObject().value("Package").toString();
|
||||
}
|
||||
|
||||
QString AptPkgInfo::get_version(QString pkgName) const
|
||||
{
|
||||
return this->aptData.value(pkgName).toObject().value("Version").toString();
|
||||
}
|
||||
|
||||
QString AptPkgInfo::get_maintainer(QString pkgName) const
|
||||
{
|
||||
return this->aptData.value(pkgName).toObject().value("Maintainer").toString();
|
||||
}
|
||||
|
||||
QString AptPkgInfo::get_description(QString pkgName) const
|
||||
{
|
||||
return this->aptData.value(pkgName).toObject().value("Description").toString();
|
||||
}
|
||||
|
||||
QString AptPkgInfo::get_architecture(QString pkgName) const
|
||||
{
|
||||
return this->aptData.value(pkgName).toObject().value("Architecture").toString();
|
||||
}
|
||||
|
||||
QStringList AptPkgInfo::GetAptPackageList() const
|
||||
{
|
||||
return this->aptData.keys();
|
||||
}
|
||||
|
||||
QByteArray AptPkgInfo::GetCommandResult(QString command, QStringList argv, QProcessEnvironment env) const
|
||||
{
|
||||
QProcess process;
|
||||
process.setProcessEnvironment(env);
|
||||
process.start(command, argv);
|
||||
process.waitForStarted();
|
||||
process.waitForFinished();
|
||||
QByteArray result = process.readAllStandardOutput();
|
||||
process.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
QJsonObject AptPkgInfo::get_data() const
|
||||
{
|
||||
return aptData;
|
||||
}
|
67
aptpkginfo.h
@ -1,67 +0,0 @@
|
||||
#ifndef APTPKGINFO_H
|
||||
#define APTPKGINFO_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QProcess>
|
||||
#include <QJsonObject>
|
||||
|
||||
class AptPkgInfo
|
||||
{
|
||||
public:
|
||||
enum PkgSearchOption {
|
||||
Include = 0,
|
||||
Equal = 1,
|
||||
HeadInclude = 2
|
||||
};
|
||||
|
||||
explicit AptPkgInfo(QString pkgName, PkgSearchOption option = PkgSearchOption::Equal);
|
||||
|
||||
void SetPkgName(QString pkgName);
|
||||
QStringList GetAptPackageList() const;
|
||||
QByteArray GetCommandResult(QString command, QStringList argv, QProcessEnvironment env = QProcessEnvironment::systemEnvironment()) const;
|
||||
|
||||
QString GetPkgInfo(QString pkgName=NULL) const;
|
||||
|
||||
QString get_package(QString pkgName) const;
|
||||
QString get_version(QString pkgName) const;
|
||||
QString get_maintainer(QString pkgName) const;
|
||||
QString get_description(QString pkgName) const;
|
||||
QString get_architecture(QString pkgName) const;
|
||||
|
||||
QJsonObject get_data() const;
|
||||
|
||||
bool CompareVersion(QString version1, QString version2) const;
|
||||
|
||||
|
||||
private:
|
||||
QString pkgName;
|
||||
QString pkgInfo;
|
||||
QJsonObject aptData;
|
||||
PkgSearchOption pkgSearchOption = PkgSearchOption::Equal;
|
||||
QStringList symbolList = {"-", "~", "+"};
|
||||
enum SplitVersionStatus {
|
||||
Checking,
|
||||
MeetedEnglishLetter,
|
||||
MeetSymbol,
|
||||
Other
|
||||
};
|
||||
|
||||
QStringList SplitVersion(QString version) const;
|
||||
|
||||
enum pkgDataStatus {
|
||||
EmptyLine = 0,
|
||||
EmptyLineAgain = 1,
|
||||
Reading = 2,
|
||||
Readed = 3,
|
||||
None = 4,
|
||||
UnContain = 5,
|
||||
IsContain = 6,
|
||||
IsContainOldVersion = 7,
|
||||
IsContainNewVersion = 8,
|
||||
IsContainSameVersion = 9
|
||||
};
|
||||
|
||||
void ReadAptData();
|
||||
};
|
||||
|
||||
#endif // APTPKGINFO_H
|
223
build_action-aarch64.sh
Normal file
@ -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
|
222
build_action-loong64-4k-pagesize.sh
Normal file
@ -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
|
223
build_action-mips64el.sh
Normal file
@ -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
|
223
build_action-riscv64.sh
Normal file
@ -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
|
222
build_action.sh
Normal file
@ -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
|
207
build_action_xanmod.sh
Normal file
@ -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
|
31
build_on_uos.sh
Normal file
@ -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"
|
8636
config-4.19.0-10-amd64
Normal file
9705
config-4.19.0-10-arm64
Normal file
5877
config-4.19.0-10-mips64el
Normal file
6376
config-4.19.0-10-riscv64
Normal file
11666
config-6.1.11-amd64-desktop-hwe
Normal file
11041
config-aarch64
Normal file
9705
config-arm64
Normal file
7240
config-loong64-4k-pagesize
Normal file
5877
config-mips64el
Normal file
6376
config-riscv64
Normal file
11041
config-xanmod
Normal file
@ -1,6 +0,0 @@
|
||||
<h1>What's new?</h1>
|
||||
<pre>
|
||||
<b>※1. Add an information window about the Kernel
|
||||
※2. Fix the issue with the installed Kernel causing exit code 1
|
||||
</b>
|
||||
</pre>
|
@ -1,6 +0,0 @@
|
||||
<h1>1.1.0 更新内容</h1>
|
||||
<pre>
|
||||
<b>※1、新增内核详细信息窗口
|
||||
※2、修复在部分机器上安装内核直接提示错误 1 的问题
|
||||
</b>
|
||||
</pre>
|
@ -1 +0,0 @@
|
||||
1.1.1
|
14
dclc-kernel/head/deb-6/DEBIAN/control
Normal file
@ -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: 内核(虚包)
|
14
dclc-kernel/head/deb/DEBIAN/control
Normal file
@ -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: 内核(虚包)
|
BIN
dclc-kernel/head/linux-kernel-gxde-gfdgdxi-0_6.10-rc5_amd64.deb
Normal file
BIN
dclc-kernel/head/linux-kernel-gxde-gfdgdxi_6.10-rc5_amd64.deb
Normal file
17
debian/changelog
vendored
@ -1,17 +0,0 @@
|
||||
gxde-kernel-manager (1.2.2) UNRELEASED; urgency=medium
|
||||
|
||||
* ※1、支持从 apt 源读取内核数据并显示安装
|
||||
* ※2、支持只显示与当前系统相同架构的内核
|
||||
* ※3、下载/更新内核时支持调用 aptss 提升下载速度
|
||||
* ※4、新增卸载所有内核时的窗口警告
|
||||
* 5、优化表格显示效果
|
||||
* 6、支持显示内核描述和版本
|
||||
|
||||
* ※1. Support getting kernel data from apt database.
|
||||
* ※2. Support showing only kernels that are the same as the local system architecture.
|
||||
* ※3. Support using aptss to download packages faster.
|
||||
* ※4. Show a warning message box when removing all kernels.
|
||||
* 5. Optimize the effect of the kernels table.
|
||||
* 6. Support showing kernel descriptions and versions.
|
||||
|
||||
-- gfdgd_xi <3025613752@qq.com> Sun, 13 Oct 2024 10:56:49 +0800
|
25
debian/control
vendored
@ -1,25 +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-Git: https://gitee.com/GXDE-OS/gxde-kernel-manager.git
|
||||
|
||||
Package: gxde-kernel-manager
|
||||
Architecture: any
|
||||
Depends:
|
||||
${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
apt
|
||||
Description: GXDE 内核管理器是一个帮助用户更方便获取、安装、移除内核的工具。
|
||||
GXDE Kernel Manager is a kernel manager allows users to install or remove kernels easily.
|
||||
|
43
debian/copyright
vendored
@ -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/
|
2
debian/postinst
vendored
@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
#apt update | true
|
26
debian/rules
vendored
@ -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)
|
33
get-newest-version-xanmod.py
Normal file
@ -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(" ", ""))
|
34
get-newest-version.py
Normal file
@ -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=gxde-kernel-manager
|
||||
Icon=gxde-kernel-manager
|
||||
Categories=System
|
@ -1,82 +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 \
|
||||
aptpkginfo.cpp \
|
||||
kernelinformation.cpp \
|
||||
kernelinformationdialog.cpp \
|
||||
kernelinstaller.cpp \
|
||||
main.cpp \
|
||||
mainwindow.cpp \
|
||||
programinfo.cpp
|
||||
|
||||
HEADERS += \
|
||||
aboutwindow.h \
|
||||
aptpkginfo.h \
|
||||
kernelinformation.h \
|
||||
kernelinformationdialog.h \
|
||||
kernelinstaller.h \
|
||||
mainwindow.h \
|
||||
programinfo.h
|
||||
|
||||
FORMS += \
|
||||
aboutwindow.ui \
|
||||
kernelinformationdialog.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
|
||||
|
||||
# 使用 GXDE 系统源里含有的内核
|
||||
#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 = /usr/share/icons/
|
||||
icon.files = $$PWD/icon/gxde-kernel-manager.svg
|
||||
#icon.path = /opt/apps/gxde-kernel-manager/
|
||||
#icon.files = $$PWD/icon/icon.svg
|
||||
|
||||
# GXDE 下不需要该脚本
|
||||
#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/
|
||||
target.path = /usr/bin
|
||||
|
||||
sysbro.path = /usr/share/GXDE/gxde-system-assistant/tool-extensions
|
||||
sysbro.files = $$PWD/gxde-kernel-manager.desktop
|
||||
|
||||
#INSTALLS += aptsourcegpg aptsource target debiandesktop uosdesktop icon targetrunner
|
||||
INSTALLS += target icon sysbro
|
||||
|
||||
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 (image error) 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 (image error) 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 (image error) 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 (image error) 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 (image error) 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 (image error) 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 (image error) Size: 2.9 KiB |
Before (image error) Size: 32 KiB |
BIN
icon/icon1.png
Before ![]() (image error) Size: 257 KiB |
BIN
icon/tux.png
Before ![]() (image error) Size: 7.5 KiB |
@ -1,194 +0,0 @@
|
||||
#include "kernelinformation.h"
|
||||
#include "aptpkginfo.h"
|
||||
|
||||
#include <QProcess>
|
||||
|
||||
KernelInformation::KernelInformation()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void KernelInformation::LoadInfo()
|
||||
{
|
||||
// 添加 GXDE Kernel Manager
|
||||
QJsonArray array;
|
||||
AptPkgInfo kernelManagerinfo = AptPkgInfo("gxde-kernel-manager", AptPkgInfo::PkgSearchOption::Equal);
|
||||
QStringList list = kernelManagerinfo.GetAptPackageList();
|
||||
qDebug() << kernelManagerinfo.get_data();
|
||||
for(QString i: list) {
|
||||
QJsonObject object;
|
||||
kernelManagerinfo.SetPkgName(i);
|
||||
object.insert("Name", i);
|
||||
object.insert("Author", kernelManagerinfo.get_maintainer(i));
|
||||
object.insert("Des", kernelManagerinfo.get_description(i));
|
||||
object.insert("Ver", kernelManagerinfo.get_version(i));
|
||||
object.insert("Arch", QJsonArray::fromStringList(QStringList() << arch()));
|
||||
object.insert("PkgName", QJsonArray::fromStringList(QStringList() << i));
|
||||
array.append(object);
|
||||
}
|
||||
AptPkgInfo info = AptPkgInfo("linux-", AptPkgInfo::PkgSearchOption::HeadInclude);
|
||||
list = info.GetAptPackageList();
|
||||
|
||||
indexMap = {};
|
||||
for(QString i: list) {
|
||||
QJsonObject object;
|
||||
bool isContinue = false;
|
||||
for(QString j: unShowMap) {
|
||||
if(i.contains(j)) {
|
||||
isContinue = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 跳过此次循环
|
||||
if(isContinue) {
|
||||
continue;
|
||||
}
|
||||
isContinue = true;
|
||||
for(QString j: showMap) {
|
||||
if(i.contains(j)) {
|
||||
isContinue = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 跳过此次循环
|
||||
if(isContinue) {
|
||||
continue;
|
||||
}
|
||||
QString strTemp = i;
|
||||
strTemp.replace("-image", "");
|
||||
strTemp.replace("-headers", "");
|
||||
int alreadyIndex = -1;
|
||||
if(indexMap.contains(strTemp)) {
|
||||
// 如果已经存在
|
||||
alreadyIndex = indexMap.value(strTemp);
|
||||
QJsonArray pkgArray = array.at(alreadyIndex).toObject().value("PkgName").toArray();
|
||||
QJsonArray archArray = array.at(alreadyIndex).toObject().value("Arch").toArray();
|
||||
pkgArray.append(i);
|
||||
QString pkgArch = info.get_architecture(i);
|
||||
if(!archArray.contains(pkgArch)) {
|
||||
archArray.append(pkgArch);
|
||||
}
|
||||
QJsonObject pkgObject = array.at(alreadyIndex).toObject();
|
||||
pkgObject["PkgName"] = pkgArray;
|
||||
pkgObject["Arch"] = archArray;
|
||||
array.replace(alreadyIndex, pkgObject);
|
||||
continue;
|
||||
}
|
||||
info.SetPkgName(strTemp);
|
||||
object.insert("Name", strTemp);
|
||||
object.insert("Author", info.get_maintainer(i));
|
||||
object.insert("Des", info.get_description(i));
|
||||
object.insert("Ver", info.get_version(i));
|
||||
object.insert("Arch", QJsonArray::fromStringList(QStringList() << info.get_architecture(i)));
|
||||
object.insert("PkgName", QJsonArray::fromStringList(QStringList() << i));
|
||||
indexMap.insert(strTemp, array.count());
|
||||
array.append(object);
|
||||
}
|
||||
|
||||
this->listData = array;
|
||||
emit loadFinished(NULL);
|
||||
|
||||
}
|
||||
|
||||
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,66 +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>
|
||||
#include <QMap>
|
||||
|
||||
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;
|
||||
|
||||
QStringList unShowMap = {
|
||||
"-dbg"
|
||||
};
|
||||
|
||||
QStringList showMap = {
|
||||
"linux-headers",
|
||||
"linux-image",
|
||||
"linux-kernel"
|
||||
};
|
||||
|
||||
QMap<QString, int> indexMap;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // KERNELINFORMATION_H
|
@ -1,64 +0,0 @@
|
||||
#include "kernelinformationdialog.h"
|
||||
#include "ui_kernelinformationdialog.h"
|
||||
|
||||
#include "kernelinstaller.h"
|
||||
|
||||
#include <QJsonArray>
|
||||
|
||||
KernelInformationDialog::KernelInformationDialog(QJsonObject data, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::KernelInformationDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
// 解析数据
|
||||
ui->m_kernelName->setText(tr("Kernel Name:") + " " + data.value("Name").toString());
|
||||
ui->m_kernelVersion->setText(tr("Kernel Version:") + " " + data.value("Ver").toString());
|
||||
ui->m_kernelAuthor->setText(tr("Author:") + " " + data.value("Author").toString());
|
||||
QJsonArray array = data.value("PkgName").toArray();
|
||||
QString kernelText = "";
|
||||
for(QJsonValue i: array) {
|
||||
kernelText += i.toString() + " ";
|
||||
pkgList.append(i.toString());
|
||||
}
|
||||
ui->m_PkgName->setText(tr("Package Name:") + " " + kernelText);
|
||||
ui->m_kernelArch->setText(tr("Kernel Architecture:") + " " + data.value("Arch").toArray().at(0).toString());
|
||||
ui->m_des->setText(data.value("Des").toString());
|
||||
}
|
||||
|
||||
KernelInformationDialog::~KernelInformationDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void KernelInformationDialog::on_m_refreshButton_clicked()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void KernelInformationDialog::on_m_reconfigureButton_clicked()
|
||||
{
|
||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Reconfigure, pkgList);
|
||||
installer->show();
|
||||
}
|
||||
|
||||
|
||||
void KernelInformationDialog::on_m_installButton_clicked()
|
||||
{
|
||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Install, pkgList);
|
||||
connect(installer, &KernelInstaller::InstallFinished, this, [this](int status){
|
||||
emit InstallFinished(status);
|
||||
});
|
||||
installer->show();
|
||||
}
|
||||
|
||||
|
||||
void KernelInformationDialog::on_m_removeButton_clicked()
|
||||
{
|
||||
KernelInstaller *installer = new KernelInstaller(KernelInstaller::Option::Remove, pkgList);
|
||||
connect(installer, &KernelInstaller::InstallFinished, this, [this](int status){
|
||||
emit RemoveFinished(status);
|
||||
});
|
||||
installer->show();
|
||||
}
|
||||
|
@ -1,37 +0,0 @@
|
||||
#ifndef KERNELINFORMATIONDIALOG_H
|
||||
#define KERNELINFORMATIONDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QJsonObject>
|
||||
|
||||
namespace Ui {
|
||||
class KernelInformationDialog;
|
||||
}
|
||||
|
||||
class KernelInformationDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KernelInformationDialog(QJsonObject data, QWidget *parent = nullptr);
|
||||
~KernelInformationDialog();
|
||||
|
||||
signals:
|
||||
void InstallFinished(int status);
|
||||
void RemoveFinished(int status);
|
||||
|
||||
private slots:
|
||||
void on_m_refreshButton_clicked();
|
||||
|
||||
void on_m_reconfigureButton_clicked();
|
||||
|
||||
void on_m_installButton_clicked();
|
||||
|
||||
void on_m_removeButton_clicked();
|
||||
|
||||
private:
|
||||
Ui::KernelInformationDialog *ui;
|
||||
QStringList pkgList;
|
||||
};
|
||||
|
||||
#endif // KERNELINFORMATIONDIALOG_H
|
@ -1,153 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KernelInformationDialog</class>
|
||||
<widget class="QDialog" name="KernelInformationDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>650</width>
|
||||
<height>412</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Information</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="linuxIconShower">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><img src=":/icon/tux.png"/></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="QLabel" name="m_kernelName">
|
||||
<property name="text">
|
||||
<string>Kernel Name:</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_kernelVersion">
|
||||
<property name="text">
|
||||
<string>Kernel Version:</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_kernelAuthor">
|
||||
<property name="text">
|
||||
<string>Author:</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_kernelArch">
|
||||
<property name="text">
|
||||
<string>Kernel Architecture:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_PkgName">
|
||||
<property name="text">
|
||||
<string>Package Name:</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_desTip">
|
||||
<property name="text">
|
||||
<string>Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="m_des"/>
|
||||
</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_reconfigureButton">
|
||||
<property name="text">
|
||||
<string>Reconfigure</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>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -1,167 +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;
|
||||
case Option::Reconfigure:
|
||||
ui->m_status->setText(tr("Try to reconfigure ") + kernel);
|
||||
break;
|
||||
case Option::Update:
|
||||
ui->m_status->setText(tr("Try to update apt cache"));
|
||||
break;
|
||||
case Option::Upgrade:
|
||||
ui->m_status->setText(tr("Try to upgrade ") + 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 用于判断内核是否安装完成
|
||||
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;
|
||||
case Option::Reconfigure:
|
||||
filePath = ":/shell/kernel-installer-reconfigure-template.sh";
|
||||
break;
|
||||
case Option::Update:
|
||||
filePath = ":/shell/kernel-installer-update-template.sh";
|
||||
break;
|
||||
case Option::Upgrade:
|
||||
filePath = ":/shell/kernel-installer-upgrade-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;
|
||||
}
|
||||
// 关闭 Timer 防止一直发送错误的信号
|
||||
runStatusTimer->stop();
|
||||
emit InstallFinished(status);
|
||||
// 安装完成
|
||||
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,50 +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,
|
||||
Reconfigure,
|
||||
Update,
|
||||
Upgrade
|
||||
};
|
||||
|
||||
explicit KernelInstaller(Option option, QStringList kernelList, QWidget *parent = nullptr);
|
||||
~KernelInstaller();
|
||||
|
||||
|
||||
signals:
|
||||
void InstallFinished(int status);
|
||||
|
||||
private:
|
||||
QTimer *runStatusTimer;
|
||||
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/gxde-kernel-manager.svg</normaloff>:/icon/gxde-kernel-manager.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>
|