From 32721c3099d8aef7a51e1fcdd6ce8be7f67d766d Mon Sep 17 00:00:00 2001 From: Ward Nakchbandi Date: Fri, 3 Mar 2023 18:27:01 +0300 Subject: [PATCH] first commit --- .github/workflows/release.yml | 40 +++++++++++++++++++ .../debian => debian}/changelog | 2 +- .../debian => debian}/control | 0 .../debian => debian}/copyright | 0 debian/env-scripts/nvidia-vaapi-env.sh | 14 +++++++ .../debian => debian}/files | 0 .../debian => debian}/rules | 0 .../debian => debian}/source/format | 0 .../debian => debian}/watch | 0 main.sh | 22 ++++++++++ .../debian/env-scripts/nvidia-vaapi-env.sh | 28 ------------- orig.source.txt | 3 +- release.sh | 11 +++++ 13 files changed, 89 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/release.yml rename {nvidia-vaapi-driver-0.0.8/debian => debian}/changelog (95%) rename {nvidia-vaapi-driver-0.0.8/debian => debian}/control (100%) rename {nvidia-vaapi-driver-0.0.8/debian => debian}/copyright (100%) create mode 100755 debian/env-scripts/nvidia-vaapi-env.sh rename {nvidia-vaapi-driver-0.0.8/debian => debian}/files (100%) rename {nvidia-vaapi-driver-0.0.8/debian => debian}/rules (100%) rename {nvidia-vaapi-driver-0.0.8/debian => debian}/source/format (100%) rename {nvidia-vaapi-driver-0.0.8/debian => debian}/watch (100%) create mode 100755 main.sh delete mode 100755 nvidia-vaapi-driver-0.0.8/debian/env-scripts/nvidia-vaapi-env.sh create mode 100755 release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2cf8ce8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Release + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ubuntu:22.10 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install needed packages + run: apt update && apt install software-properties-common sudo git bc gpg gpg-agent bison build-essential ccache cpio fakeroot flex git kmod libelf-dev libncurses5-dev libssl-dev lz4 qtbase5-dev rsync schedtool wget zstd tar reprepro dpkg-sig devscripts dh-make -y + + - 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: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/nvidia-vaapi-driver-0.0.8/debian/changelog b/debian/changelog similarity index 95% rename from nvidia-vaapi-driver-0.0.8/debian/changelog rename to debian/changelog index 47e528b..88b4da0 100644 --- a/nvidia-vaapi-driver-0.0.8/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -nvidia-vaapi-driver (10:0.0.8-99pika1) kinetic; urgency=medium +nvidia-vaapi-driver (10:0.0.8-99pika2) kinetic; urgency=medium * Upgrade to release 0.0.8 and switch to direct backend diff --git a/nvidia-vaapi-driver-0.0.8/debian/control b/debian/control similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/control rename to debian/control diff --git a/nvidia-vaapi-driver-0.0.8/debian/copyright b/debian/copyright similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/copyright rename to debian/copyright diff --git a/debian/env-scripts/nvidia-vaapi-env.sh b/debian/env-scripts/nvidia-vaapi-env.sh new file mode 100755 index 0000000..0b91e22 --- /dev/null +++ b/debian/env-scripts/nvidia-vaapi-env.sh @@ -0,0 +1,14 @@ +#! /bin/bash + +# Check system for NVIDIA card and set vaapi env vars + +nvkernmod=$(lspci -k | grep -iEA3 '^[[:alnum:]]{2}:[[:alnum:]]{2}.*VGA|3D|DISPLAY' | grep -i nvidia) + +if [[ ! -z $nvkernmod ]] +then +export LIBVA_DRIVER_NAME=nvidia +export MOZ_DISABLE_RDD_SANDBOX=1 +export NVD_BACKEND=direct +export EGL_PLATFORM=$XDG_SESSION_TYPE +fi + diff --git a/nvidia-vaapi-driver-0.0.8/debian/files b/debian/files similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/files rename to debian/files diff --git a/nvidia-vaapi-driver-0.0.8/debian/rules b/debian/rules similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/rules rename to debian/rules diff --git a/nvidia-vaapi-driver-0.0.8/debian/source/format b/debian/source/format similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/source/format rename to debian/source/format diff --git a/nvidia-vaapi-driver-0.0.8/debian/watch b/debian/watch similarity index 100% rename from nvidia-vaapi-driver-0.0.8/debian/watch rename to debian/watch diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..840665e --- /dev/null +++ b/main.sh @@ -0,0 +1,22 @@ +# Add dependent repositories +wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add - +add-apt-repository https://ppa.pika-os.com +add-apt-repository ppa:pikaos/pika +add-apt-repository ppa:kubuntu-ppa/backports + +# Clone Upstream +git https://github.com/elFarto/nvidia-vaapi-driver -b v0.0.8 +cp -rvf ./debian ./nvidia-vaapi-driver +cd ./nvidia-vaapi-driver + +# Get build deps +apt-get build-dep ./ -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p nvidia-vaapi-driver_0.0.8 +dpkg-buildpackage + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/nvidia-vaapi-driver-0.0.8/debian/env-scripts/nvidia-vaapi-env.sh b/nvidia-vaapi-driver-0.0.8/debian/env-scripts/nvidia-vaapi-env.sh deleted file mode 100755 index 88b0e01..0000000 --- a/nvidia-vaapi-driver-0.0.8/debian/env-scripts/nvidia-vaapi-env.sh +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash - -# Check system for NVIDIA card and set vaapi env vars - -nvgpu=$(lspci | grep -iE 'VGA|3D' | grep -i nvidia | cut -d ":" -f 3) -nvkernmod=$(lspci -k | grep -iEA3 '^[[:alnum:]]{2}:[[:alnum:]]{2}.*VGA|3D' | grep -iA3 nvidia | grep -i 'kernel driver' | grep -iE 'vfio-pci|nvidia') - -apply_env() { -if [[ ! -z $nvkernmod ]] -then -echo "NVIDIA Driver detected. setting env-v vars for va-api." -export LIBVA_DRIVER_NAME=nvidia -export MOZ_DISABLE_RDD_SANDBOX=1 -export NVD_BACKEND=direct -export EGL_PLATFORM=$XDG_SESSION_TYPE -else -echo "No NVIDIA Driver detected. No env vars set for va-api." -fi -} - - -if [[ ! -z $nvgpu ]] -then -echo "NVIDIA GPU detected. Checking for NVIDIA Driver." -apply_env -else -echo "No NVIDIA GPU detected. No env vars set for va-api." -fi diff --git a/orig.source.txt b/orig.source.txt index aa787f9..8fe1877 100644 --- a/orig.source.txt +++ b/orig.source.txt @@ -1,2 +1 @@ -nvidia-vaapi-driver_0.0.8.orig.tar.xz -#https://github.com/elFarto/nvidia-vaapi-driver +https://github.com/elFarto/nvidia-vaapi-driver diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..ce9e316 --- /dev/null +++ b/release.sh @@ -0,0 +1,11 @@ +# Sign the packages +dpkg-sig --sign builder ./output/*.deb + +# Pull down existing ppa repo db files etc +rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo + +# Add the new package to the repo +reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb + +# Push the updated ppa repo to the server +rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/