diff --git a/.github/workflows/build-canary.yml b/.github/workflows/build-canary.yml new file mode 100644 index 0000000..dd3e160 --- /dev/null +++ b/.github/workflows/build-canary.yml @@ -0,0 +1,34 @@ +name: PikaOS Package Build Only (Canary) + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canary + 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 diff --git a/.github/workflows/build-nest.yml b/.github/workflows/build-nest.yml new file mode 100644 index 0000000..18a5bff --- /dev/null +++ b/.github/workflows/build-nest.yml @@ -0,0 +1,34 @@ +name: PikaOS Package Build Only + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nest + 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 diff --git a/.github/workflows/release.yml b/.github/workflows/release-canary.yml similarity index 64% rename from .github/workflows/release.yml rename to .github/workflows/release-canary.yml index 1641898..66bbc78 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release-canary.yml @@ -1,4 +1,4 @@ -name: PikaOS Package Release +name: PikaOS Package Build & Release (Canary) 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:canary volumes: - /proc:/proc options: --privileged -it @@ -35,12 +35,3 @@ jobs: - 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-nest.yml b/.github/workflows/release-nest.yml new file mode 100644 index 0000000..abd7383 --- /dev/null +++ b/.github/workflows/release-nest.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build & Release + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nest + 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 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..50b4d1c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +MIT License (With Python Nvidia™ pkg generator 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: `*version*-*version*-main.sh`, `release.sh`, and `.github`), with the exception of the Nvidia™ version directories (`*version*`) and their contents, they are instead covered by `*version*/debian-*version*/copyright`. diff --git a/main.sh b/main.sh index 44feae3..251351f 100755 --- a/main.sh +++ b/main.sh @@ -5,8 +5,8 @@ cd ./pika-sources apt-get build-dep ./ -y # Build package -dh_make --createorig -dpkg-buildpackage +LOGNAME=root dh_make --createorig -y -l -p pika-sources_7.0 || echo "dh-make didn't go clean" +dpkg-buildpackage --no-sign # Move the debs to output cd ../ diff --git a/pika-sources/debian/changelog b/pika-sources/debian/changelog index d8498be..94c58ec 100644 --- a/pika-sources/debian/changelog +++ b/pika-sources/debian/changelog @@ -1,3 +1,9 @@ +pika-sources (7.0-101pika1) canary; urgency=low + + * PikaOS 4 + + -- Ward Nakchbandi Sat, 01 Oct 2022 14:50:00 +0200 + pika-sources (6.8-100pika7) pikauwu; urgency=low * Fix rocm mesa issues diff --git a/pika-sources/debian/control b/pika-sources/debian/control index 5fa0df7..b6862a2 100644 --- a/pika-sources/debian/control +++ b/pika-sources/debian/control @@ -10,8 +10,8 @@ Package: pika-sources Section: misc Architecture: all Pre-Depends: python-apt-common, distro-info-data -Depends: ${misc:Depends}, ubuntu-keyring -Description: APT Source files and keyrings for the repositories we use/provide. +Depends: ${misc:Depends} +Description: APT Source files and keyrings for the PikaOS Repositories diff --git a/pika-sources/debian/debhelper-build-stamp b/pika-sources/debian/debhelper-build-stamp deleted file mode 100644 index 2189b80..0000000 --- a/pika-sources/debian/debhelper-build-stamp +++ /dev/null @@ -1 +0,0 @@ -pika-sources diff --git a/pika-sources/debian/files b/pika-sources/debian/files deleted file mode 100644 index 98492e2..0000000 --- a/pika-sources/debian/files +++ /dev/null @@ -1,2 +0,0 @@ -pika-sources_3.0-99pika14_all.deb misc optional -pika-sources_3.0-99pika14_amd64.buildinfo misc optional diff --git a/pika-sources/debian/pika-sources.substvars b/pika-sources/debian/pika-sources.substvars deleted file mode 100644 index 978fc8b..0000000 --- a/pika-sources/debian/pika-sources.substvars +++ /dev/null @@ -1,2 +0,0 @@ -misc:Depends= -misc:Pre-Depends= diff --git a/pika-sources/debian/source/format b/pika-sources/debian/source/format index 89ae9db..163aaf8 100644 --- a/pika-sources/debian/source/format +++ b/pika-sources/debian/source/format @@ -1 +1 @@ -3.0 (native) +3.0 (quilt) diff --git a/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-nest-settings b/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-nest-settings new file mode 100644 index 0000000..3269df9 --- /dev/null +++ b/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-nest-settings @@ -0,0 +1,5 @@ +# Lower nest's priority under cockatiel's +Package: * +Pin: release a=pika,c=nest +Pin-Priority: 450 + diff --git a/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-ubuntu-settings b/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-ubuntu-settings deleted file mode 100644 index 7cfa835..0000000 --- a/pika-sources/usr/share/apt-pika/apt/preferences.d/1-pika-ubuntu-settings +++ /dev/null @@ -1,10 +0,0 @@ -# Lower Ubuntu's priority under pika's -Package: * -Pin: release c=ubuntu -Pin-Priority: 400 - -# Lower External's priority same as Ubuntu's for nvidia -Package: *nvidia* -Pin: release c=external -Pin-Priority: 400 - diff --git a/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-compute-settings b/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-compute-settings new file mode 100644 index 0000000..79c772f --- /dev/null +++ b/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-compute-settings @@ -0,0 +1,24 @@ +# Blacklist ROCm from nest +Package: libhsa-runtime64* hipcc* rocm* +Pin: release a=pika,c=nest +Pin-Priority: 100 + +# Lower raven's priority under cockatiel's +Package: * +Pin: release a=pika,c=raven +Pin-Priority: 450 + +# Lower pigeon's priority under cockatiel's +Package: * +Pin: release a=pika,c=pigeon +Pin-Priority: 450 + +# Blacklist intel mesa from raven +Package: libglvnd0 libegl1 libegl-dev libglx0 libglx-dev libgl1 libgl-dev libglvnd-core-dev libgles1 libgles2 libgles-dev libglvnd-dev libopengl0 libopengl-dev libxatracker2 libgbm1 libgbm-dev *mesa* +Pin: a=pika,c=raven +Pin-Priority: -10 + +# Blacklist dangerous amdgpu-pro packages +Package: amdgpu-core amdgpu-pro-core amdgpu-dkms amdgpu-pro-lib32 +Pin: release a=* +Pin-Priority: -10 diff --git a/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-radeon-settings b/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-radeon-settings deleted file mode 100644 index be02e3f..0000000 --- a/pika-sources/usr/share/apt-pika/apt/preferences.d/2-pika-radeon-settings +++ /dev/null @@ -1,27 +0,0 @@ -Package: libhsa-runtime64* -Pin: release c=Ubuntu -Pin-Priority: 100 - -Package: hipcc* -Pin: release c=ubuntu -Pin-Priority: 100 - -Package: rocm* -Pin: release c=ubuntu -Pin-Priority: 100 - -Package: * -Pin: release c=rocm -Pin-Priority: 450 - -Package: libglvnd0 libegl1 libegl-dev libglx0 libglx-dev libgl1 libgl-dev libglvnd-core-dev libgles1 libgles2 libgles-dev libglvnd-dev libopengl0 libopengl-dev libxatracker2 libgbm1 libgbm-dev -Pin: release c=rocm -Pin-Priority: -5 - -Package: *mesa* -Pin: release c=rocm -Pin-Priority: -5 - -Package: amdgpu-core amdgpu-pro-core amdgpu-dkms amdgpu-pro-lib32 -Pin: release a=* -Pin-Priority: -10 diff --git a/pika-sources/usr/share/apt-pika/apt/sources.list.d/system.sources b/pika-sources/usr/share/apt-pika/apt/sources.list.d/system.sources index 3ddfc57..ae4b229 100644 --- a/pika-sources/usr/share/apt-pika/apt/sources.list.d/system.sources +++ b/pika-sources/usr/share/apt-pika/apt/sources.list.d/system.sources @@ -2,8 +2,8 @@ X-Repolib-Name: PikaOS System Sources Enabled: yes Types: deb URIs: https://ppa.pika-os.com/ -Suites: pikauwu -Components: main amdgpu rocm external ubuntu +Suites: pika +Components: nest raven parrot cockatiel pigeon X-Repolib-ID: system X-Repolib-Default-Mirror: https://ppa.pika-os.com/ Signed-By: /etc/apt/keyrings/pika-keyring.gpg.key diff --git a/release.sh b/release.sh index c715d17..f38fc8e 100755 --- a/release.sh +++ b/release.sh @@ -1,11 +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:' - -cp -vf ./output/pika-sources*.deb ./output/pika-sources.deb -rsync ./output/pika-sources.deb ferreo@direct.pika-os.com:/srv/www/pikarepo/dists/pikauwu/ +rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/ \ No newline at end of file