From a1f741d14cf217fa738ab09c139f7fba3fae9cc0 Mon Sep 17 00:00:00 2001 From: Ward from fusion-voyager-3 Date: Tue, 23 Jul 2024 01:33:18 +0300 Subject: [PATCH] Update to PikaOS 4 --- .github/workflows/build-canaryv3.yml | 34 +++++++++ .github/workflows/build-nestv3.yml | 34 +++++++++ .../{release.yml => release-canaryv3.yml} | 15 +--- .github/workflows/release-nestv3.yml | 37 ++++++++++ main.sh | 14 ---- mainv3.sh | 23 ++++++ pika-baseos/debian/changelog | 6 ++ pika-baseos/debian/control | 70 ++++++++++++++++++- pika-baseos/debian/pika-baseos.postinst | 1 + .../etc/profile.d/00-append-pika-ld.sh | 3 - 10 files changed, 205 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/build-canaryv3.yml create mode 100644 .github/workflows/build-nestv3.yml rename .github/workflows/{release.yml => release-canaryv3.yml} (62%) create mode 100644 .github/workflows/release-nestv3.yml delete mode 100755 main.sh create mode 100755 mainv3.sh delete mode 100644 pika-baseos/etc/profile.d/00-append-pika-ld.sh diff --git a/.github/workflows/build-canaryv3.yml b/.github/workflows/build-canaryv3.yml new file mode 100644 index 0000000..61fbee7 --- /dev/null +++ b/.github/workflows/build-canaryv3.yml @@ -0,0 +1,34 @@ +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: 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..0d013ba --- /dev/null +++ b/.github/workflows/build-nestv3.yml @@ -0,0 +1,34 @@ +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: 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..5b36604 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 @@ -31,16 +31,7 @@ jobs: if_key_exists: replace - 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..36a34fb --- /dev/null +++ b/.github/workflows/release-nestv3.yml @@ -0,0 +1,37 @@ +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: Build Package + run: ./mainv3.sh + + - name: Release Package + run: ./release.sh diff --git a/main.sh b/main.sh deleted file mode 100755 index 2e9d053..0000000 --- a/main.sh +++ /dev/null @@ -1,14 +0,0 @@ -# Clone Upstream -cd ./pika-baseos - -# Get build deps -apt-get build-dep ./ -y - -# Build package -dh_make --createorig -dpkg-buildpackage - -# Move the debs to output -cd ../ -mkdir -p ./output -mv ./*.deb ./output/ diff --git a/mainv3.sh b/mainv3.sh new file mode 100755 index 0000000..5adfdad --- /dev/null +++ b/mainv3.sh @@ -0,0 +1,23 @@ +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 +cd ./pika-baseos + +# Get build deps +apt-get build-dep ./ -y + +# Build package +dh_make --createorig +dpkg-buildpackage + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/pika-baseos/debian/changelog b/pika-baseos/debian/changelog index 4b549b5..087dced 100644 --- a/pika-baseos/debian/changelog +++ b/pika-baseos/debian/changelog @@ -1,3 +1,9 @@ +pika-baseos (3.0.0-101pika1) pika; urgency=medium + + * PikaOS 4 + + -- Ward Nakchbandi Thu, 12 Jan 2023 16:48:00 +030 + pika-baseos (2.5.4-100pika8) pikauwu; urgency=medium * Remove ACPI-CALL-DKMS as it is built into the kernel diff --git a/pika-baseos/debian/control b/pika-baseos/debian/control index 857b810..b31c340 100644 --- a/pika-baseos/debian/control +++ b/pika-baseos/debian/control @@ -9,10 +9,76 @@ Rules-Requires-Root: no Package: pika-baseos Architecture: all Essential: yes +Pre-Depends: +## Basic minimal setup + adduser, + apt, + apt-utils, + console-setup, + debconf, + debconf-i18n, + dhcpcd-base, + e2fsprogs, + eject, + init, + iproute2, + iputils-ping, + kbd, + kmod, + less, + locales, + lsb-release, + mawk, + mount, + netbase, + netcat-openbsd, + netplan.io, + passwd, + procps, + python3, + sensible-utils, + sudo, + tzdata, + udev, + vim-tiny, + whiptail, + rsyslog, Depends: ${misc:Depends}, # Base +## Basic minimal setup + adduser, + apt, + apt-utils, + console-setup, + debconf, + debconf-i18n, + dhcpcd-base, + e2fsprogs, + eject, + init, + iproute2, + iputils-ping, + kbd, + kmod, + less, + locales, + lsb-release, + mawk, + mount, + netbase, + netcat-openbsd, + netplan.io, + passwd, + procps, + python3, + sensible-utils, + sudo, + tzdata, + udev, + vim-tiny, + whiptail, + rsyslog, ## General - ubuntu-minimal, libglib2.0-bin, pika-package-manager, apt-transport-https, @@ -23,7 +89,6 @@ Depends: ${misc:Depends}, dbus-user-session, pika-sources, openssh-server, - ppa-purge, nano, bash-completion, wget, @@ -47,7 +112,6 @@ Depends: ${misc:Depends}, xdg-desktop-portal, xdg-user-dirs, xdg-utils, - xdg-terminal, ## Filesystems lvm2, ecryptfs-utils, diff --git a/pika-baseos/debian/pika-baseos.postinst b/pika-baseos/debian/pika-baseos.postinst index b6137bb..362ad7d 100644 --- a/pika-baseos/debian/pika-baseos.postinst +++ b/pika-baseos/debian/pika-baseos.postinst @@ -2,3 +2,4 @@ systemctl disable --now gpu-manager || true systemctl mask gpu-manager || true systemctl enable --now nvidia-pika-prime || true +apt-mark hold snapd || true diff --git a/pika-baseos/etc/profile.d/00-append-pika-ld.sh b/pika-baseos/etc/profile.d/00-append-pika-ld.sh deleted file mode 100644 index 6c0c061..0000000 --- a/pika-baseos/etc/profile.d/00-append-pika-ld.sh +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/bash - -#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$(echo $(for i in /usr/share/pika/ld.so.d/*; do cat $i && echo -e "\n" ; done) | grep -v '^#' | tr '\n' ':' | tr ' ' ':')"