From fd37bf637c2e6671065e21f5044334b904330d54 Mon Sep 17 00:00:00 2001 From: "Ward Nakchbandi (Cosmic Fusion)" Date: Fri, 14 Jul 2023 19:44:27 +0300 Subject: [PATCH] first commit --- .github/workflows/release.yml | 50 +++++++++++++++ debian/10_nvidia_wayland.json | 6 ++ debian/changelog | 77 ++++++++++++++++++++++++ debian/control | 64 ++++++++++++++++++++ debian/copyright | 30 +++++++++ debian/libnvidia-egl-wayland-dev.install | 4 ++ debian/libnvidia-egl-wayland1.install | 2 + debian/libnvidia-egl-wayland1.symbols | 8 +++ debian/patches/series | 1 + debian/rules | 20 ++++++ debian/source/format | 1 + debian/watch | 5 ++ main.sh | 16 +++++ release.sh | 14 +++++ 14 files changed, 298 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 debian/10_nvidia_wayland.json create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/libnvidia-egl-wayland-dev.install create mode 100644 debian/libnvidia-egl-wayland1.install create mode 100644 debian/libnvidia-egl-wayland1.symbols create mode 100644 debian/patches/series create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/watch create mode 100755 main.sh create mode 100755 release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ee019f4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,50 @@ +name: PikaOS Package Release + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pika-package-container:latest + 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 update -y + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh + + - name: Purge cache + uses: jakejarvis/cloudflare-purge-action@master + env: + # Zone is required by both authentication methods + CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} + + CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} + PURGE_URLS: '["https://ppa.pika-os.com/dists/lunar/InRelease", "https://ppa.pika-os.com/dists/lunar/main/binary-i386/Packages.gz", "https://ppa.pika-os.com/dists/lunar/main/binary-amd64/Packages.gz", "https://ppa.pikaos.com/dists/lunar/pika-sources.deb", "https://ppa.pika-os.com/dists/lunar/main/source/Sources.gz" ]' + diff --git a/debian/10_nvidia_wayland.json b/debian/10_nvidia_wayland.json new file mode 100644 index 0000000..c08a641 --- /dev/null +++ b/debian/10_nvidia_wayland.json @@ -0,0 +1,6 @@ +{ + "file_format_version" : "1.0.0", + "ICD" : { + "library_path" : "libnvidia-egl-wayland.so.1" + } +} diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..b56733c --- /dev/null +++ b/debian/changelog @@ -0,0 +1,77 @@ +egl-wayland (1:1.1.12-99pika1.lunar) lunar; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Mon, 15 Aug 2022 16:22:44 +0300 + +egl-wayland (1:1.1.9-1) unstable; urgency=medium + + * New upstream release. + * symbols: Updated. + + -- Timo Aaltonen Wed, 20 Oct 2021 12:35:31 +0300 + +egl-wayland (1:1.1.8-1) unstable; urgency=medium + + * New upstream release. + * control: Add wayland-protocols to build-depends. + + -- Timo Aaltonen Thu, 16 Sep 2021 19:41:51 +0300 + +egl-wayland (1:1.1.7-2) experimental; urgency=medium + + * symbols: Added. + + -- Timo Aaltonen Wed, 11 Aug 2021 20:13:07 +0300 + +egl-wayland (1:1.1.7-1) experimental; urgency=medium + + * New upstream release. + * fix-pkgconfig-target.diff: Dropped, upstream. + * install: Updated. + + -- Timo Aaltonen Mon, 05 Jul 2021 13:43:51 +0300 + +egl-wayland (1:1.1.5-1) unstable; urgency=medium + + * New upstream release. + * add-missing-definitions.patch: Dropped, upstream. + + -- Timo Aaltonen Tue, 01 Dec 2020 16:44:29 +0200 + +egl-wayland (1:1.1.4-1) unstable; urgency=medium + + * New upstream release. + * add-missing-definitions.patch: Fix build with current mesa. + (Closes: #951936) + * control: Use debhelper-compat. + * control: Bump policy to 4.5.0. + + -- Timo Aaltonen Tue, 07 Apr 2020 06:39:03 +0300 + +egl-wayland (1:1.1.3-1) unstable; urgency=medium + + * New upstream release. + * control: Bump policy to 4.4.0. + * control, compat: Bump debhelper to 12. + + -- Timo Aaltonen Mon, 08 Jul 2019 14:49:39 +0300 + +egl-wayland (1:1.1.2-1) unstable; urgency=medium + + * New upstream release. + * control: Fix C/R on libnvidia-gl-410. + + -- Timo Aaltonen Mon, 04 Feb 2019 19:30:00 +0200 + +egl-wayland (1:1.1.1-2) unstable; urgency=medium + + * control: Fix Conflicts/Replaces. (Closes: #918653, #918654) + + -- Timo Aaltonen Tue, 08 Jan 2019 12:04:34 +0200 + +egl-wayland (1:1.1.1-1) unstable; urgency=medium + + * Initial release (Closes: #912945) + + -- Timo Aaltonen Fri, 07 Dec 2018 11:39:24 +0200 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..3643a77 --- /dev/null +++ b/debian/control @@ -0,0 +1,64 @@ +Source: egl-wayland +Priority: optional +Maintainer: Timo Aaltonen +Build-Depends: + debhelper-compat (= 12), + eglexternalplatform-dev, + libdrm-dev, + libegl1-mesa-dev, + libwayland-dev, + libwayland-egl-backend-dev, + meson, + pkg-config, + wayland-protocols, +Standards-Version: 4.5.0 +Section: libs +Homepage: https://github.com/NVIDIA/egl-wayland +Vcs-Git: https://salsa.debian.org/debian/egl-wayland.git +Vcs-Browser: https://salsa.debian.org/debian/egl-wayland.git + +Package: libnvidia-egl-wayland-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libnvidia-egl-wayland1 (= ${binary:Version}), + ${misc:Depends} +Description: Wayland EGL External Platform library -- development files + This is a work-in-progress implementation of a EGL (Embedded-System + Graphics Library) External Platform library to add client-side Wayland + support to EGL on top of EGLDevice and EGLStream families of extensions. + . + This library implements an EGL External Platform interface to work along + with EGL drivers that support the external platform mechanism. More + information about EGL External platforms and the interface can be found at: + . + https://github.com/NVIDIA/eglexternalplatform + . + This package contains the development files. + +Package: libnvidia-egl-wayland1 +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: + libnvidia-gl-390, + libnvidia-gl-410 (<< 410.93), + libnvidia-legacy-390xx-egl-wayland1, + nvidia-egl-wayland-common, +Replaces: + libnvidia-gl-390, + libnvidia-gl-410 (<< 410.93), + libnvidia-legacy-390xx-egl-wayland1, + nvidia-egl-wayland-common, +Description: Wayland EGL External Platform library -- shared library + This is a work-in-progress implementation of a EGL (Embedded-System + Graphics Library) External Platform library to add client-side Wayland + support to EGL on top of EGLDevice and EGLStream families of extensions. + . + This library implements an EGL External Platform interface to work along + with EGL drivers that support the external platform mechanism. More + information about EGL External platforms and the interface can be found at: + . + https://github.com/NVIDIA/eglexternalplatform + . + This package contains the shared library. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..58495e8 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,30 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: egl-wayland +Source: https://github.com/NVIDIA/egl-wayland + +Files: * +Copyright: 2016, NVIDIA CORPORATION +License: MIT + +Files: debian/* +Copyright: 2018 Timo Aaltonen +License: MIT + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff --git a/debian/libnvidia-egl-wayland-dev.install b/debian/libnvidia-egl-wayland-dev.install new file mode 100644 index 0000000..3055c0a --- /dev/null +++ b/debian/libnvidia-egl-wayland-dev.install @@ -0,0 +1,4 @@ +usr/lib/*/libnvidia-egl-wayland.so +usr/lib/*/pkgconfig +usr/share/wayland-eglstream +usr/share/pkgconfig diff --git a/debian/libnvidia-egl-wayland1.install b/debian/libnvidia-egl-wayland1.install new file mode 100644 index 0000000..7c26d35 --- /dev/null +++ b/debian/libnvidia-egl-wayland1.install @@ -0,0 +1,2 @@ +usr/lib/*/libnvidia-egl-wayland.so.* +usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json diff --git a/debian/libnvidia-egl-wayland1.symbols b/debian/libnvidia-egl-wayland1.symbols new file mode 100644 index 0000000..e3e29ff --- /dev/null +++ b/debian/libnvidia-egl-wayland1.symbols @@ -0,0 +1,8 @@ +libnvidia-egl-wayland.so.1 libnvidia-egl-wayland1 #MINVER# + loadEGLExternalPlatform@Base 1:1.1.7 + wlEglCreateSurfaceExport@Base 1:1.1.10 + wlEglGetSurfaceStreamExport@Base 1:1.1.10 + wlEglPostPresentExport@Base 1:1.1.7 + wlEglPrePresentExport@Base 1:1.1.7 + wl_drm_interface@Base 1:1.1.9 + wl_eglstream_controller_interface@Base 1:1.1.7 diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..a82d1b4 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +#placeholder diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..996fdcb --- /dev/null +++ b/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f + +override_dh_autoreconf: + +override_dh_auto_install: + dh_auto_install + + install -m 0755 -d debian/tmp/usr/share/egl/egl_external_platform.d/ + install -pm 0644 debian/10_nvidia_wayland.json \ + debian/tmp/usr/share/egl/egl_external_platform.d/ + +override_dh_missing: + dh_missing --fail-missing + +%: + dh $@ \ + --builddirectory=build/ \ + --buildsystem=meson + + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..f8ad5b3 --- /dev/null +++ b/debian/watch @@ -0,0 +1,5 @@ +version=4 + +opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%egl-wayland-$1.tar.gz%" \ + https://github.com/NVIDIA/egl-wayland/tags \ + (?:.*?/)?v?(\d[\d.]*)\.tar\.gz diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..fb20c5e --- /dev/null +++ b/main.sh @@ -0,0 +1,16 @@ +# Clone Upstream +git clone https://github.com/NVIDIA/egl-wayland -b 1.1.12 +cp -rvf ./debian ./egl-wayland +cd ./egl-wayland + +# Get build deps +apt-get build-dep ./ -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p egl-wayland_1.1.12 +dpkg-buildpackage --no-sign + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..e7c3963 --- /dev/null +++ b/release.sh @@ -0,0 +1,14 @@ +# Sign the packages +dpkg-sig --sign builder ./output/pika-amdgpu-core*.deb + +# Pull down existing ppa repo db files etc +rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo + +# Remove our existing package from the repo +reprepro -V --basedir ./output/repo/ removefilter lunar 'Package (% pika-amdgpu-core*)' + +# Add the new package to the repo +reprepro -V --basedir ./output/repo/ includedeb lunar ./output/pika-amdgpu-core*.deb + +# Push the updated ppa repo to the server +rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/