From fd1410c8aa73fb2eecd77e71fd23b0472b181886 Mon Sep 17 00:00:00 2001 From: Ward from fusion-voyager-3 Date: Fri, 26 Jul 2024 13:47:42 +0300 Subject: [PATCH] port to pika os 4 --- .github/build-canary-v3 | 1 + .github/build-nest-v3 | 1 + .github/release-canary-v3 | 1 + .github/release-nest-v3 | 1 + .github/workflows/build-canaryv3.yml | 37 +++++++++++++++++++ .github/workflows/build-nestv3.yml | 37 +++++++++++++++++++ .github/workflows/release-canaryv3.yml | 40 +++++++++++++++++++++ .github/workflows/release-nestv3.yml | 40 +++++++++++++++++++++ .github/workflows/release.yml | 46 ------------------------ LICENSE.md | 24 +++++++++++++ debian/files | 1 - debian/source/format | 1 - main.sh | 18 ++++++---- patches/series | 1 - patches/xone-package-adapt.patch | 35 ------------------ pika-build-config/amd64-v3.sh | 10 ++++++ pika-build-config/i386.sh | 5 +++ release.sh | 8 +---- xone-debian/Makefile | 20 +++++++++++ {debian => xone-debian/debian}/changelog | 8 +++-- {debian => xone-debian/debian}/control | 0 {debian => xone-debian/debian}/copyright | 0 {debian => xone-debian/debian}/postinst | 0 {debian => xone-debian/debian}/prerm | 0 {debian => xone-debian/debian}/rules | 0 xone-debian/debian/source/format | 1 + xone-debian/modules-load-d-xone.conf | 6 ++++ 27 files changed, 243 insertions(+), 99 deletions(-) create mode 100644 .github/build-canary-v3 create mode 100644 .github/build-nest-v3 create mode 100644 .github/release-canary-v3 create mode 100644 .github/release-nest-v3 create mode 100644 .github/workflows/build-canaryv3.yml create mode 100644 .github/workflows/build-nestv3.yml create mode 100644 .github/workflows/release-canaryv3.yml create mode 100644 .github/workflows/release-nestv3.yml delete mode 100644 .github/workflows/release.yml create mode 100644 LICENSE.md delete mode 100644 debian/files delete mode 100644 debian/source/format delete mode 100644 patches/series delete mode 100644 patches/xone-package-adapt.patch create mode 100755 pika-build-config/amd64-v3.sh create mode 100755 pika-build-config/i386.sh create mode 100644 xone-debian/Makefile rename {debian => xone-debian/debian}/changelog (82%) rename {debian => xone-debian/debian}/control (100%) rename {debian => xone-debian/debian}/copyright (100%) rename {debian => xone-debian/debian}/postinst (100%) rename {debian => xone-debian/debian}/prerm (100%) rename {debian => xone-debian/debian}/rules (100%) create mode 100644 xone-debian/debian/source/format create mode 100644 xone-debian/modules-load-d-xone.conf diff --git a/.github/build-canary-v3 b/.github/build-canary-v3 new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.github/build-canary-v3 @@ -0,0 +1 @@ +1 diff --git a/.github/build-nest-v3 b/.github/build-nest-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/build-nest-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/release-canary-v3 b/.github/release-canary-v3 new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/.github/release-canary-v3 @@ -0,0 +1 @@ +3 diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/release-nest-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/workflows/build-canaryv3.yml b/.github/workflows/build-canaryv3.yml new file mode 100644 index 0000000..bff3d86 --- /dev/null +++ b/.github/workflows/build-canaryv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/build-nestv3.yml b/.github/workflows/build-nestv3.yml new file mode 100644 index 0000000..3c9c34d --- /dev/null +++ b/.github/workflows/build-nestv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/release-canaryv3.yml b/.github/workflows/release-canaryv3.yml new file mode 100644 index 0000000..436c8ff --- /dev/null +++ b/.github/workflows/release-canaryv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.github/workflows/release-nestv3.yml b/.github/workflows/release-nestv3.yml new file mode 100644 index 0000000..ed42bb7 --- /dev/null +++ b/.github/workflows/release-nestv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 1641898..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,46 +0,0 @@ -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: Build Package - run: ./main.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/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..16ff30b --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +MIT License (With DPKG packaging compatibility) + +Copyright (c) 2024 PikaOS + +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. + +Notes: +The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT. diff --git a/debian/files b/debian/files deleted file mode 100644 index b614043..0000000 --- a/debian/files +++ /dev/null @@ -1 +0,0 @@ -xone-dkms_0.3-6_source.buildinfo games optional diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/main.sh b/main.sh index 4cd295c..d63f4d8 100755 --- a/main.sh +++ b/main.sh @@ -1,17 +1,23 @@ #! /bin/bash -# Clone Upstream -git clone https://github.com/medusalix/xone -cp -rvf ./debian ./xone -cd ./xone +set -e -for i in ../patches/* ; do patch -Np1 -i $i; done +VERSION="0.3.git" + +source ./pika-build-config.sh + +echo "$PIKA_BUILD_ARCH" > pika-build-arch + +# Clone Upstream +cd ./xone-debian +#git clone https://github.com/medusalix/xone -b v"$VERSION" +git clone https://github.com/medusalix/xone # Get build deps -apt-get install dh-make -y apt-get build-dep ./ -y # Build package +LOGNAME=root dh_make --createorig -y -l -p xone_"$VERSION" || echo "dh-make: Ignoring Last Error" dpkg-buildpackage --no-sign # Move the debs to output diff --git a/patches/series b/patches/series deleted file mode 100644 index 3e6e643..0000000 --- a/patches/series +++ /dev/null @@ -1 +0,0 @@ -xone-package-adapt.patch diff --git a/patches/xone-package-adapt.patch b/patches/xone-package-adapt.patch deleted file mode 100644 index f847319..0000000 --- a/patches/xone-package-adapt.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -uraN a/Makefile b/Makefile ---- a/Makefile 1970-01-01 02:00:00.000000000 +0200 -+++ b/Makefile 2022-10-04 19:12:45.651268524 +0300 -@@ -0,0 +1,20 @@ -+VERSION=0.3 -+ -+.PHONY: install -+all: -+ true -+ -+install: -+ cp dkms.conf dkms.conf.in -+ sed 's/"#VERSION#"/"'"${VERSION}"'"/g' dkms.conf -+ echo 'ccflags-y += -DDEBUG' >> "Kbuild" -+ echo "* Copying module into /usr/src..." -+ install -dm755 $(DESTDIR)/usr/src/xone -+ rsync -av --progress ./* $(DESTDIR)/usr/src/xone/ --exclude debian -+ install -dm755 $(DESTDIR)/usr/bin -+ cp install/firmware.sh $(DESTDIR)/usr/bin/xone-firmware -+ ln -sf /usr/src/xone $(DESTDIR)/usr/src/xone-"${VERSION}" -+ install -d $(DESTDIR)/etc/modules-load.d -+ cp -r modules-load-d-xone.conf $(DESTDIR)/etc/modules-load.d/xone.conf -+ echo "* Blacklisting xpad module..." -+ install -D -m 644 install/modprobe.conf $(DESTDIR)/etc/modprobe.d/xone-blacklist.conf -diff -uraN a/modules-load-d-xpadneo.conf b/modules-load-d-xpadneo.conf ---- a/modules-load-d-xone.conf 1970-01-01 02:00:00.000000000 +0200 -+++ b/modules-load-d-xone.conf 2022-09-25 20:44:46.000000000 +0300 -@@ -0,0 +1,6 @@ -+xone-wired -+xone-dongle -+xone-gip -+xone-gip-gamepad -+xone-gip-headset -+xone-gip-chatpad -+xone-gip-guitar diff --git a/pika-build-config/amd64-v3.sh b/pika-build-config/amd64-v3.sh new file mode 100755 index 0000000..10285b4 --- /dev/null +++ b/pika-build-config/amd64-v3.sh @@ -0,0 +1,10 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="amd64-v3" +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 diff --git a/pika-build-config/i386.sh b/pika-build-config/i386.sh new file mode 100755 index 0000000..7629d66 --- /dev/null +++ b/pika-build-config/i386.sh @@ -0,0 +1,5 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="i386" +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 diff --git a/release.sh b/release.sh index 1575255..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:' \ No newline at end of file +rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/ diff --git a/xone-debian/Makefile b/xone-debian/Makefile new file mode 100644 index 0000000..165a2b5 --- /dev/null +++ b/xone-debian/Makefile @@ -0,0 +1,20 @@ +VERSION=0.3 + +.PHONY: install +all: + true + +install: + cp xone/dkms.conf xone/dkms.conf.in + sed 's/"#VERSION#"/"'"${VERSION}"'"/g' xone/dkms.conf + echo 'ccflags-y += -DDEBUG' >> "xone/Kbuild" + echo "* Copying module into /usr/src..." + install -dm755 $(DESTDIR)/usr/src/xone + rsync -av --progress ./xone/* $(DESTDIR)/usr/src/xone/ --exclude debian + install -dm755 $(DESTDIR)/usr/bin + cp xone/install/firmware.sh $(DESTDIR)/usr/bin/xone-firmware + ln -sf /usr/src/xone $(DESTDIR)/usr/src/xone-"${VERSION}" + install -d $(DESTDIR)/etc/modules-load.d + cp -r modules-load-d-xone.conf $(DESTDIR)/etc/modules-load.d/xone.conf + echo "* Blacklisting xpad module..." + install -D -m 644 xone/install/modprobe.conf $(DESTDIR)/etc/modprobe.d/xone-blacklist.conf diff --git a/debian/changelog b/xone-debian/debian/changelog similarity index 82% rename from debian/changelog rename to xone-debian/debian/changelog index 7ae9802..81011b8 100644 --- a/debian/changelog +++ b/xone-debian/debian/changelog @@ -1,10 +1,14 @@ -xone (0.3.git-101pika1) pikauwu; urgency=medium +xone (0.3.git-101pika2) pika; urgency=medium - * Update to latest + * Update to PikaOS 4 -- Ward Nakchbandi Thu, 04 Oct 2022 17:50:00 +0300 +xone (0.3.git-101pika1) pikauwu; urgency=medium + * Update to latest (why are u 101????) + + -- Ward Nakchbandi Thu, 04 Oct 2022 17:50:00 +0300 xone (0.3.git-100pika1) pikauwu; urgency=medium diff --git a/debian/control b/xone-debian/debian/control similarity index 100% rename from debian/control rename to xone-debian/debian/control diff --git a/debian/copyright b/xone-debian/debian/copyright similarity index 100% rename from debian/copyright rename to xone-debian/debian/copyright diff --git a/debian/postinst b/xone-debian/debian/postinst similarity index 100% rename from debian/postinst rename to xone-debian/debian/postinst diff --git a/debian/prerm b/xone-debian/debian/prerm similarity index 100% rename from debian/prerm rename to xone-debian/debian/prerm diff --git a/debian/rules b/xone-debian/debian/rules similarity index 100% rename from debian/rules rename to xone-debian/debian/rules diff --git a/xone-debian/debian/source/format b/xone-debian/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/xone-debian/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/xone-debian/modules-load-d-xone.conf b/xone-debian/modules-load-d-xone.conf new file mode 100644 index 0000000..84be81f --- /dev/null +++ b/xone-debian/modules-load-d-xone.conf @@ -0,0 +1,6 @@ +xone-wired +xone-dongle +xone-gip +xone-gip-gamepad +xone-gip-headset +xone-gip-chatpad