diff --git a/.github/workflows/build-canaryv3.yml b/.github/workflows/build-canaryv3.yml new file mode 100644 index 0000000..a6164ae --- /dev/null +++ b/.github/workflows/build-canaryv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (Canary) (amd64-v3) + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Build Package + run: ./mainv3.sh diff --git a/.github/workflows/build-nestv3.yml b/.github/workflows/build-nestv3.yml new file mode 100644 index 0000000..352cca0 --- /dev/null +++ b/.github/workflows/build-nestv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (amd64-v3) + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Build Package + run: ./mainv3.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release-canaryv3.yml similarity index 62% rename from .github/workflows/release.yml rename to .github/workflows/release-canaryv3.yml index 1641898..763db72 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release-canaryv3.yml @@ -1,4 +1,4 @@ -name: PikaOS Package Release +name: PikaOS Package Build & Release (Canary) (amd64-v3) on: workflow_dispatch @@ -7,7 +7,7 @@ jobs: build: runs-on: self-hosted container: - image: ghcr.io/pikaos-linux/pika-package-container:latest + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 volumes: - /proc:/proc options: --privileged -it @@ -30,17 +30,11 @@ jobs: known_hosts: ${{ secrets.KNOWN_HOSTS }} if_key_exists: replace + - name: Update APT Cache + run: apt-get update -y + - name: Build Package - run: ./main.sh + run: ./mainv3.sh - name: Release Package run: ./release.sh - - - name: Purge cache - uses: strrife/cloudflare-chunked-purge-action@master - env: - # Zone is required by both authentication methods - CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} - - CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} - PURGE_URLS: ${{ vars.PURGE_URLS }} diff --git a/.github/workflows/release-nestv3.yml b/.github/workflows/release-nestv3.yml new file mode 100644 index 0000000..cbd3f5b --- /dev/null +++ b/.github/workflows/release-nestv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (amd64-v3) + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Build Package + run: ./mainv3.sh + + - name: Release Package + run: ./release.sh diff --git a/Cargo.toml b/Cargo.toml index ffac695..1b6e736 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,3 +16,12 @@ users = "0.11.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" reqwest = { version = "0.11", features = ["blocking"] } + +[profile.release] +lto = "fat" +debug = false +strip = true +opt-level = 3 +panic = "abort" +codegen-units = 1 + diff --git a/cargo-config-v3.toml b/cargo-config-v3.toml new file mode 100644 index 0000000..014e7d6 --- /dev/null +++ b/cargo-config-v3.toml @@ -0,0 +1,2 @@ +[build] +target = "x86-64-v3" \ No newline at end of file diff --git a/data/modify-driver.sh b/data/modify-driver.sh index 87fdaa6..3788111 100755 --- a/data/modify-driver.sh +++ b/data/modify-driver.sh @@ -105,7 +105,7 @@ then else if echo $pkg | grep -i nvidia then - pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY bash -c "DEBIAN_FRONTEND=noninteractive apt update -y -o Dpkg::Options::='--force-confnew' && DEBIAN_FRONTEND=noninteractive apt purge nvidia-driver-* -y -o Dpkg::Options::='--force-confnew' && DEBIAN_FRONTEND=noninteractive apt install $pkg -y -o Dpkg::Options::='--force-confnew' && sudo DEBIAN_FRONTEND=noninteractive apt autoremove -y -o Dpkg::Options::='--force-confnew'" + pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY bash -c "DEBIAN_FRONTEND=noninteractive apt update -y -o Dpkg::Options::='--force-confnew' && DEBIAN_FRONTEND=noninteractive apt purge nvidia-driver-* nvidia-open-driver-* -y -o Dpkg::Options::='--force-confnew' && DEBIAN_FRONTEND=noninteractive apt install $pkg -y -o Dpkg::Options::='--force-confnew' && sudo DEBIAN_FRONTEND=noninteractive apt autoremove -y -o Dpkg::Options::='--force-confnew'" else if echo $pkg | grep -i mesa-hybrid then diff --git a/debian/changelog b/debian/changelog index 78d5b6c..dba0e76 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +pika-drivers (1.0.0-101pika1) pika; urgency=medium + + * Update for PikaOS 4 + + -- Pika Wed, 11 Jan 2023 11:41:38 +0000 + pika-drivers (1.0.0-100pika7) pikauwu; urgency=medium * Nvidia 550 no longer experimental diff --git a/debian/control b/debian/control index cddd083..671b990 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,8 @@ Source: pika-drivers Section: admin Priority: optional Maintainer: Pika -Build-Depends: debhelper (>= 9), cargo, build-essential, +Build-Depends: debhelper (>= 9), + build-essential, debhelper, python3, meson, diff --git a/debian/source/format b/debian/source/format index 89ae9db..163aaf8 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (native) +3.0 (quilt) diff --git a/driver-db.json b/driver-db.json index 92cf504..8761140 100644 --- a/driver-db.json +++ b/driver-db.json @@ -98,54 +98,6 @@ }, { "id": 12, - "driver": "nvidia-driver-525", - "icon": "nvidia", - "experimental": false, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 13, - "driver": "nvidia-driver-525-open", - "icon": "nvidia", - "experimental": true, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 14, - "driver": "nvidia-driver-535", - "icon": "nvidia", - "experimental": false, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 15, - "driver": "nvidia-driver-535-open", - "icon": "nvidia", - "experimental": true, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 16, - "driver": "nvidia-driver-545", - "icon": "nvidia", - "experimental": false, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 17, - "driver": "nvidia-driver-545-open", - "icon": "nvidia", - "experimental": true, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 18, "driver": "nvidia-driver-550", "icon": "nvidia", "experimental": false, @@ -153,31 +105,7 @@ "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" }, { - "id": 19, - "driver": "nvidia-driver-550-open", - "icon": "nvidia", - "experimental": true, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - }, - { - "id": 20, - "driver": "xone-dkms", - "icon": "input-gaming", - "experimental": false, - "removable": true, - "detection": "lsusb | grep -i xbox" - }, - { - "id": 21, - "driver": "intel-gpu-compute", - "icon": "intel", - "experimental": false, - "removable": true, - "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i intel" - }, - { - "id": 22, + "id": 13, "driver": "nvidia-driver-555", "icon": "nvidia", "experimental": false, @@ -185,12 +113,36 @@ "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" }, { - "id": 23, - "driver": "nvidia-driver-555-open", + "id": 14, + "driver": "nvidia-driver-560", "icon": "nvidia", "experimental": true, "removable": true, "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" - } + }, + { + "id": 15, + "driver": "nvidia-open-driver-560", + "icon": "nvidia", + "experimental": true, + "removable": true, + "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i nvidia" + }, + { + "id": 16, + "driver": "xone-dkms", + "icon": "input-gaming", + "experimental": false, + "removable": true, + "detection": "lsusb | grep -i xbox" + }, + { + "id": 17, + "driver": "intel-gpu-compute", + "icon": "intel", + "experimental": false, + "removable": true, + "detection": "lspci -D | grep -iE 'VGA|3D' | grep -i intel" + } ] } diff --git a/main.sh b/main.sh deleted file mode 100755 index b70619f..0000000 --- a/main.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Clone Upstream -mkdir -p pika-drivers -cp -rvf ./* ./pika-drivers/ -cd ./pika-drivers/ - -# Get build deps -apt-get build-dep ./ -y -apt-get install curl -y -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | CARGO_HOME=/root/.cargo sh -s -- -y - -# Build package -dpkg-buildpackage --no-sign - -# Move the debs to output -cd ../ -mkdir -p ./output -mv ./*.deb ./output/ \ No newline at end of file diff --git a/mainv3.sh b/mainv3.sh new file mode 100755 index 0000000..0bf328c --- /dev/null +++ b/mainv3.sh @@ -0,0 +1,35 @@ +#! /bin/bash + +set -e + +VERSION="1.0.0" + +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 + +# Clone Upstream +mkdir -p pika-drivers +cp -rvf ./* ./pika-drivers/ || true +mkdir ./pika-drivers/.cargo +cp -vf ./cargo-config-v3.toml ./pika-drivers/.cargo/config.toml +cd ./pika-drivers/ + +# Get build deps +apt-get build-dep ./ +apt-get install curl -y +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | CARGO_HOME=/root/.cargo sh -s -- -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p pika-drivers_"$VERSION" || echo "dh-make: Ignoring Last Error" +dpkg-buildpackage --no-sign + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/release.sh b/release.sh index 21ee3e7..660f48f 100755 --- a/release.sh +++ b/release.sh @@ -1,8 +1,2 @@ # send debs to server -rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/ - -# add debs to repo -ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pikauwu-main /srv/www/incoming/' - -# publish the repo -ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite pikauwu filesystem:pikarepo:' +rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/