Compare commits

..

89 Commits

Author SHA1 Message Date
Ward Nakchbandi (Cosmic Fusion)
da51e63eba
fix perms 2024-06-16 20:18:00 +03:00
Ward Nakchbandi (Cosmic Fusion)
1e8b1f0634
Add 555 series 2024-06-16 20:15:12 +03:00
b6aeba58d3
Update 535.yml 2024-05-06 09:06:20 +01:00
ae9805dc3a
Update 545.yml 2024-05-06 09:06:11 +01:00
4d33e0a5a3
Update 550.yml 2024-05-06 09:06:02 +01:00
3ed0f018ee
Update 550.sh 2024-04-28 12:38:58 +01:00
a8b395f209
Update 550.sh 2024-04-28 12:37:55 +01:00
085ee306e2
Update 550.sh 2024-04-28 12:35:14 +01:00
9cdba6eea6
Update 550.sh 2024-04-28 12:32:27 +01:00
e5596148a1
Update 550.sh 2024-04-28 12:13:53 +01:00
91c5813b05
Update 550.sh 2024-04-28 12:12:10 +01:00
Ward Nakchbandi (Cosmic Fusion)
baf333fbcc
2024-04-05 15:07:41 +03:00
Ward Nakchbandi (Cosmic Fusion)
10b6cbb323
Update 550.sh 2024-04-05 15:06:08 +03:00
Ward Nakchbandi (Cosmic Fusion)
0dba378b8d
Update 550.sh 2024-04-05 15:04:16 +03:00
Ward Nakchbandi (Cosmic Fusion)
81aaf4d57b
add apt fail fix 2024-04-05 14:54:43 +03:00
Ward Nakchbandi (Cosmic Fusion)
b48ad39dc1
Update 545.sh 2024-04-05 14:46:12 +03:00
Ward Nakchbandi (Cosmic Fusion)
efd82d3e8b
Update 545.sh 2024-04-05 14:44:24 +03:00
2f4c62ce3f
Update 535.sh 2024-04-04 20:12:39 +01:00
5b78e675c3
Update 545.sh 2024-04-04 20:12:29 +01:00
fb24947d6d
Update 550.sh 2024-04-04 20:12:18 +01:00
f7a0210d3d
Update 535.sh 2024-04-04 19:58:03 +01:00
fa8eb36f2d
Update 545.sh 2024-04-04 19:57:52 +01:00
004ace6d80
Update 550.sh 2024-04-04 19:57:41 +01:00
ae01d68472
Update 545.sh 2024-04-03 18:16:41 +01:00
42c358bc11
Update 535.sh 2024-04-03 18:14:27 +01:00
aab5126469
Update 550.sh 2024-04-03 18:14:19 +01:00
6003e2e8ba
Update 535.yml 2024-04-03 18:00:22 +01:00
f5ad15f767
Update 535.sh 2024-04-03 18:00:03 +01:00
608fe08795
Update 545.sh 2024-04-03 17:59:51 +01:00
428b87cbc4
Update 550.sh 2024-04-03 17:59:40 +01:00
Ward from fusion-voyager-3
30b56e34c8 new structure 2024-03-17 17:26:05 +03:00
Ward from fusion-voyager-3
90724be5fd new structure 2024-03-17 17:25:10 +03:00
91892e6301
Update main.sh 2024-03-16 11:18:25 +00:00
cc1d3b1495
Update main.sh 2024-03-16 11:14:14 +00:00
04a109a277
Update main.sh 2024-03-16 10:54:05 +00:00
da0c958f84
Update main.sh 2024-03-16 10:53:32 +00:00
967e34ea5d
Update main.sh 2024-03-16 10:50:40 +00:00
Ward Nakchbandi (Cosmic Fusion)
4fc3599ba7
Update main.sh 2024-02-03 16:33:32 +03:00
Ward Nakchbandi (Cosmic Fusion)
a2a1f17992
Update main.sh 2024-02-02 00:06:57 +03:00
Ward Nakchbandi (Cosmic Fusion)
1e5e1c2398
Update postrm 2024-02-02 00:03:10 +03:00
Ward Nakchbandi (Cosmic Fusion)
ff7385b155
Update postinst 2024-02-02 00:02:45 +03:00
Ward Nakchbandi (Cosmic Fusion)
f791e8b089
Update main.sh 2024-01-30 21:17:39 +03:00
Ward Nakchbandi (Cosmic Fusion)
fcc1d461ff
Update main.sh 2024-01-28 22:31:12 +03:00
Ward Nakchbandi (Cosmic Fusion)
ad22a80308
Update main.sh 2024-01-28 22:23:31 +03:00
Ward Nakchbandi (Cosmic Fusion)
0130135b55
Update main.sh 2024-01-28 22:08:29 +03:00
Ward Nakchbandi (Cosmic Fusion)
bb050e8ff4
Update main.sh 2024-01-28 22:04:42 +03:00
Ward Nakchbandi (Cosmic Fusion)
4d4fe41287
Update main.sh 2024-01-28 22:03:24 +03:00
Ward Nakchbandi (Cosmic Fusion)
1704f7c521
Update main.sh 2024-01-28 22:01:33 +03:00
Ward Nakchbandi (Cosmic Fusion)
fd531d0360
Update main.sh 2024-01-28 21:43:16 +03:00
Ward Nakchbandi (Cosmic Fusion)
b33de10c16
Update main.sh 2024-01-28 21:04:54 +03:00
Ward Nakchbandi (Cosmic Fusion)
b4dd4a8786
Update main.sh 2024-01-28 20:47:15 +03:00
Ward Nakchbandi (Cosmic Fusion)
b801de35f8
Update main.sh 2024-01-28 20:46:50 +03:00
Ward Nakchbandi (Cosmic Fusion)
6473371271
Update main.sh 2024-01-28 20:15:28 +03:00
Ward Nakchbandi (Cosmic Fusion)
d67ad43a16
Update main.sh 2024-01-28 20:14:37 +03:00
Ward Nakchbandi (Cosmic Fusion)
082162d515
Update main.sh 2024-01-28 20:06:17 +03:00
Ward Nakchbandi (Cosmic Fusion)
0c789dd9c2
Update release.yml 2024-01-28 19:59:55 +03:00
Ward Nakchbandi (Cosmic Fusion)
f645dc62da
Update main.sh 2024-01-27 00:01:52 +03:00
Ward Nakchbandi (Cosmic Fusion)
62aea703af
Update main.sh 2024-01-26 23:30:03 +03:00
Ward Nakchbandi (Cosmic Fusion)
651545df4d
Update main.sh 2024-01-26 23:27:53 +03:00
Ward Nakchbandi (Cosmic Fusion)
ad35216c11
Update main.sh 2024-01-26 23:20:48 +03:00
Ward Nakchbandi (Cosmic Fusion)
0e7a7e8939
Update main.sh 2024-01-26 23:13:25 +03:00
Ward Nakchbandi (Cosmic Fusion)
4cdc868f53
Update main.sh 2024-01-26 23:10:56 +03:00
Ward Nakchbandi (Cosmic Fusion)
89809d144e
Update main.sh 2023-11-12 19:08:48 +03:00
Ward Nakchbandi (Cosmic Fusion)
f068ad049c
Update postrm 2023-11-12 19:07:42 +03:00
Ward Nakchbandi (Cosmic Fusion)
e2d5c6cdf7
Update main.sh 2023-11-07 16:41:20 +03:00
Ward Nakchbandi (Cosmic Fusion)
2f88111a4e
Update main.sh 2023-11-07 16:27:49 +03:00
Ward Nakchbandi (Cosmic Fusion)
ad3ea28bac
Update main.sh 2023-11-07 16:25:14 +03:00
Ward Nakchbandi (Cosmic Fusion)
25a32cbf69
Update main.sh 2023-11-07 16:13:23 +03:00
Ward Nakchbandi (Cosmic Fusion)
67118df27e
Update Makefiletmp 2023-11-07 16:07:39 +03:00
Ward Nakchbandi (Cosmic Fusion)
8a810d8b98
Update main.sh 2023-11-07 15:56:31 +03:00
Ward Nakchbandi (Cosmic Fusion)
804c38469a
Update main.sh 2023-11-07 15:55:57 +03:00
Ward Nakchbandi (Cosmic Fusion)
ddb696b47b
Update Makefiletmp 2023-11-07 15:50:12 +03:00
Ward Nakchbandi (Cosmic Fusion)
21c0764c09
2023-11-01 21:24:33 +03:00
Ward Nakchbandi (Cosmic Fusion)
0e2d900f95
2023-11-01 21:24:20 +03:00
Ward Nakchbandi (Cosmic Fusion)
ccc5b78a0e
2023-11-01 21:22:54 +03:00
Ward Nakchbandi (Cosmic Fusion)
ebc645cda0
Update main.sh 2023-10-20 22:40:30 +03:00
Ward Nakchbandi (Cosmic Fusion)
16a485f48a
Update main.sh 2023-09-29 14:35:57 +03:00
Ward Nakchbandi (Cosmic Fusion)
9ca7922f9b
Update release.sh 2023-09-29 14:35:41 +03:00
Ward Nakchbandi (Cosmic Fusion)
c63e423e43
Update main.sh 2023-09-28 22:17:12 +03:00
Ward Nakchbandi (Cosmic Fusion)
d9dbb97e97
2023-09-28 22:15:18 +03:00
Ward Nakchbandi (Cosmic Fusion)
1a26efff9b
2023-09-28 22:00:05 +03:00
Ward Nakchbandi (Cosmic Fusion)
5fd53971f7
Sync with Ubuntu naming scheme 2023-09-28 21:48:05 +03:00
d6a5d401a0
Update main.sh 2023-09-28 18:42:13 +01:00
d19b6dacf0
Update release.sh 2023-09-28 18:38:45 +01:00
963846a512
Update release.yml 2023-09-06 22:25:16 +01:00
9bd2c8bd3e
Update release_slow.yml 2023-09-06 22:24:57 +01:00
7a5eef429a
Update release.sh 2023-09-06 22:24:35 +01:00
Ward Nakchbandi (Cosmic Fusion)
9a11f30200
2023-09-04 23:43:09 +03:00
Ward Nakchbandi (Cosmic Fusion)
38cd3799ca
2023-09-04 23:30:38 +03:00
20 changed files with 552 additions and 65 deletions

View File

@ -1,7 +1,9 @@
name: PikaOS Package Release name: PikaOS Package Release (Build 535 module for latest kernel)
on: on:
workflow_dispatch workflow_dispatch:
# schedule:
# - cron: '25 2 * * *'
jobs: jobs:
build: build:
@ -34,13 +36,13 @@ jobs:
run: apt-get update -y run: apt-get update -y
- name: Build Package - name: Build Package
run: ./main.sh run: chmod +x ./535.sh && ./535.sh
- name: Release Package - name: Release Package
run: ./release.sh run: ./release.sh
- name: Purge cache - name: Purge cache
uses: jakejarvis/cloudflare-purge-action@master uses: strrife/cloudflare-chunked-purge-action@master
env: env:
# Zone is required by both authentication methods # Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}

View File

@ -1,11 +1,13 @@
name: PikaOS Package Release (On Slow github servers) name: PikaOS Package Release (Build 545 module for latest kernel)
on: on:
workflow_dispatch workflow_dispatch:
# schedule:
# - cron: '25 2 * * *'
jobs: jobs:
build: build:
runs-on: ubuntu:latest runs-on: self-hosted
container: container:
image: ghcr.io/pikaos-linux/pika-package-container:latest image: ghcr.io/pikaos-linux/pika-package-container:latest
volumes: volumes:
@ -34,13 +36,13 @@ jobs:
run: apt-get update -y run: apt-get update -y
- name: Build Package - name: Build Package
run: ./main.sh run: chmod +x ./545.sh && ./545.sh
- name: Release Package - name: Release Package
run: ./release.sh run: ./release.sh
- name: Purge cache - name: Purge cache
uses: jakejarvis/cloudflare-purge-action@master uses: strrife/cloudflare-chunked-purge-action@master
env: env:
# Zone is required by both authentication methods # Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}

52
.github/workflows/550.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: PikaOS Package Release (Build 550 module for latest kernel)
on:
workflow_dispatch:
# schedule:
# - cron: '25 2 * * *'
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-get update -y
- name: Build Package
run: chmod +x ./550.sh && ./550.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 }}

52
.github/workflows/555.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: PikaOS Package Release (Build 555 module for latest kernel)
on:
workflow_dispatch:
# schedule:
# - cron: '25 2 * * *'
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-get update -y
- name: Build Package
run: chmod +x ./555.sh && ./555.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 }}

106
535.sh Executable file
View File

@ -0,0 +1,106 @@
#! /bin/bash
DRIVER=535
DRIVER_BUILT=true
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) || export DRIVER_BUILT=false && echo "This driver has never been built for this kernel version before."
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ' > ./linux-nvidia-modules/pika_nvidia.txt
rm -rfv /etc/apt/preferences.d/*
echo 'Pin: release c=external' > /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=ubuntu' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
apt update -y
apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ' > ./linux-nvidia-modules/new_nvidia.txt
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
echo "$(apt show nvidia-kernel-source-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_VERSION
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_PIKA
cd ./linux-nvidia-modules
VERSION="$(cat ./DRIVER_VERSION)-$(cat ./KERNEL)-100pika7"
echo -e "linux-nvidia-modules ("$VERSION") pikauwu; urgency=medium\n\n * New Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
if [[ $DRIVER_BUILT == true ]]
then
if echo $VERSION | grep "$(cat ./pika_nvidia.txt)"
then
echo "driver already built"
exit 0
fi
fi
echo -e "Source: linux-nvidia-modules\nSection: graphics\nPriority: optional\nMaintainer: Ward Nakchbandi <hotrod.master@hotmail.com>\nStandards-Version: 4.6.1\nBuild-Depends: debhelper-compat (= 13), linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), dkms, fakeroot\nRules-Requires-Root: no\n\nPackage: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL)\nArchitecture: linux-any\nDepends: linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), $(apt-cache show nvidia-dkms-$DRIVER | grep Depends: | head -n1 | cut -f2 -d":")\nConflicts: nvidia-6.5.0-pikaos-module-535, nvidia-$(cat ./KERNEL)-module-$DRIVER, "$(apt list 2>/dev/null | cut -d'/' -f1 | grep linux-modules-nvidia | grep $(cat ./KERNEL) | grep -v linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) | sed ':a;N;$!ba;s/\n/, /g')", nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nProvides: linux-modules-nvidia-$(cat ./KERNEL), nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nReplaces: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nDescription: Prebuilt Nvidia module for PikaOS kernel\n\nPackage: nvidia-pika-kernel-module-$DRIVER\nArchitecture: linux-any\nDepends: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) $(echo '(= ${binary:Version})')\nDescription: DKMS NVIDIA PLACEHOLDER" > ./debian/control
echo -e "usr" > ./debian/linux-modules-nvidia-$DRIVER-$(cat ./KERNEL).install
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/blacklist-pika-nouveau.conf /etc/modprobe.d/blacklist-pika-nouveau.conf" >> ./debian/postinst
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/pika-nvidia.conf /etc/modules-load.d/pika-nvidia.conf" >> ./debian/postinst
echo -e "DRIVER=$(cat ./DRIVER)\nKERNEL=$(cat ./KERNEL)\nVERSION=$(cat ./DRIVER_VERSION)\nMK_WORKDIR=$(env | grep -w "PWD" | cut -c5-)\nCARCH=x86_64" > ./Makefile
cat ./Makefiletmp >> ./Makefile
cat << EOF > ./debian/postinst
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
cat << EOF > ./debian/postrm
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
DEBIAN_FRONTEND=noninteractive
# Get build deps
apt-get build-dep ./ -y
apt download nvidia-kernel-source-$DRIVER -y
dpkg-deb -x ./nvidia-kernel-source-$DRIVER*.deb /
apt download nvidia-dkms-$DRIVER -y
dpkg-deb -x ./nvidia-dkms-$DRIVER*.deb /
# Build package
dpkg-buildpackage --no-sign
echo 'DKMS MAKEFILE LOG:'
cat ./nvidia/$(cat ./DRIVER)/$(cat ./KERNEL)/x86_64/log/make.log || cat ./nvidia/$(cat ./DRIVER)/build/make.log
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

106
545.sh Executable file
View File

@ -0,0 +1,106 @@
#! /bin/bash
DRIVER=545
DRIVER_BUILT=true
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) || export DRIVER_BUILT=false && echo "This driver has never been built for this kernel version before."
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ' > ./linux-nvidia-modules/pika_nvidia.txt
rm -rfv /etc/apt/preferences.d/*
echo 'Pin: release c=external' > /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=ubuntu' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
apt update -y
apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ' > ./linux-nvidia-modules/new_nvidia.txt
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
echo "$(apt show nvidia-kernel-source-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_VERSION
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_PIKA
cd ./linux-nvidia-modules
VERSION="$(cat ./DRIVER_VERSION)-$(cat ./KERNEL)-100pika7"
echo -e "linux-nvidia-modules ("$VERSION") pikauwu; urgency=medium\n\n * New Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
if [[ $DRIVER_BUILT == true ]]
then
if echo $VERSION | grep "$(cat ./pika_nvidia.txt)"
then
echo "driver already built"
exit 0
fi
fi
echo -e "Source: linux-nvidia-modules\nSection: graphics\nPriority: optional\nMaintainer: Ward Nakchbandi <hotrod.master@hotmail.com>\nStandards-Version: 4.6.1\nBuild-Depends: debhelper-compat (= 13), linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), dkms, fakeroot\nRules-Requires-Root: no\n\nPackage: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL)\nArchitecture: linux-any\nDepends: linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), $(apt-cache show nvidia-dkms-$DRIVER | grep Depends: | head -n1 | cut -f2 -d":")\nConflicts: nvidia-6.5.0-pikaos-module-535, nvidia-$(cat ./KERNEL)-module-$DRIVER, "$(apt list 2>/dev/null | cut -d'/' -f1 | grep linux-modules-nvidia | grep $(cat ./KERNEL) | grep -v linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) | sed ':a;N;$!ba;s/\n/, /g')", nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nProvides: linux-modules-nvidia-$(cat ./KERNEL), nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nReplaces: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nDescription: Prebuilt Nvidia module for PikaOS kernel\n\nPackage: nvidia-pika-kernel-module-$DRIVER\nArchitecture: linux-any\nDepends: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) $(echo '(= ${binary:Version})')\nDescription: DKMS NVIDIA PLACEHOLDER" > ./debian/control
echo -e "usr" > ./debian/linux-modules-nvidia-$DRIVER-$(cat ./KERNEL).install
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/blacklist-pika-nouveau.conf /etc/modprobe.d/blacklist-pika-nouveau.conf" >> ./debian/postinst
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/pika-nvidia.conf /etc/modules-load.d/pika-nvidia.conf" >> ./debian/postinst
echo -e "DRIVER=$(cat ./DRIVER)\nKERNEL=$(cat ./KERNEL)\nVERSION=$(cat ./DRIVER_VERSION)\nMK_WORKDIR=$(env | grep -w "PWD" | cut -c5-)\nCARCH=x86_64" > ./Makefile
cat ./Makefiletmp >> ./Makefile
cat << EOF > ./debian/postinst
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
cat << EOF > ./debian/postrm
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
DEBIAN_FRONTEND=noninteractive
# Get build deps
apt-get build-dep ./ -y
apt download nvidia-kernel-source-$DRIVER -y
dpkg-deb -x ./nvidia-kernel-source-$DRIVER*.deb /
apt download nvidia-dkms-$DRIVER -y
dpkg-deb -x ./nvidia-dkms-$DRIVER*.deb /
# Build package
dpkg-buildpackage --no-sign
echo 'DKMS MAKEFILE LOG:'
cat ./nvidia/$(cat ./DRIVER)/$(cat ./KERNEL)/x86_64/log/make.log || cat ./nvidia/$(cat ./DRIVER)/build/make.log
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

107
550.sh Executable file
View File

@ -0,0 +1,107 @@
#! /bin/bash
DRIVER=550
DRIVER_BUILT=true
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) || export DRIVER_BUILT=false && echo "This driver has never been built for this kernel version before."
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ' > ./linux-nvidia-modules/pika_nvidia.txt
rm -rfv /etc/apt/preferences.d/*
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=ubuntu' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 950' >> /etc/apt/preferences.d/0-a
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=external' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
apt update -y
apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ' > ./linux-nvidia-modules/new_nvidia.txt
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
echo "$(apt show nvidia-kernel-source-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_VERSION
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_PIKA
cd ./linux-nvidia-modules
VERSION="$(cat ./DRIVER_VERSION)-$(cat ./KERNEL)-100pika7"
echo -e "linux-nvidia-modules ("$VERSION") pikauwu; urgency=medium\n\n * New Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
if [[ $DRIVER_BUILT == true ]]
then
if echo $VERSION | grep "$(cat ./pika_nvidia.txt)"
then
echo "driver already built"
exit 0
fi
fi
echo -e "Source: linux-nvidia-modules\nSection: graphics\nPriority: optional\nMaintainer: Ward Nakchbandi <hotrod.master@hotmail.com>\nStandards-Version: 4.6.1\nBuild-Depends: debhelper-compat (= 13), linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), dkms, fakeroot\nRules-Requires-Root: no\n\nPackage: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL)\nArchitecture: linux-any\nDepends: linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), $(apt-cache show nvidia-dkms-$DRIVER | grep Depends: | head -n1 | cut -f2 -d":")\nConflicts: nvidia-6.5.0-pikaos-module-535, nvidia-$(cat ./KERNEL)-module-$DRIVER, "$(apt list 2>/dev/null | cut -d'/' -f1 | grep linux-modules-nvidia | grep $(cat ./KERNEL) | grep -v linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) | sed ':a;N;$!ba;s/\n/, /g')", nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nProvides: linux-modules-nvidia-$(cat ./KERNEL), nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nReplaces: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nDescription: Prebuilt Nvidia module for PikaOS kernel\n\nPackage: nvidia-pika-kernel-module-$DRIVER\nArchitecture: linux-any\nDepends: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) $(echo '(= ${binary:Version})')\nDescription: DKMS NVIDIA PLACEHOLDER" > ./debian/control
echo -e "usr" > ./debian/linux-modules-nvidia-$DRIVER-$(cat ./KERNEL).install
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/blacklist-pika-nouveau.conf /etc/modprobe.d/blacklist-pika-nouveau.conf" >> ./debian/postinst
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/pika-nvidia.conf /etc/modules-load.d/pika-nvidia.conf" >> ./debian/postinst
echo -e "DRIVER=$(cat ./DRIVER)\nKERNEL=$(cat ./KERNEL)\nVERSION=$(cat ./DRIVER_VERSION)\nMK_WORKDIR=$(env | grep -w "PWD" | cut -c5-)\nCARCH=x86_64" > ./Makefile
cat ./Makefiletmp >> ./Makefile
cat << EOF > ./debian/postinst
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
cat << EOF > ./debian/postrm
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
DEBIAN_FRONTEND=noninteractive
# Get build deps
apt-get build-dep ./ -y
apt download nvidia-kernel-source-$DRIVER -y
dpkg-deb -x ./nvidia-kernel-source-$DRIVER*.deb /
apt download nvidia-dkms-$DRIVER -y
dpkg-deb -x ./nvidia-dkms-$DRIVER*.deb /
# Build package
dpkg-buildpackage --no-sign
echo 'DKMS MAKEFILE LOG:'
cat ./nvidia/$(cat ./DRIVER)/$(cat ./KERNEL)/x86_64/log/make.log || cat ./nvidia/$(cat ./DRIVER)/build/make.log
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

107
555.sh Normal file
View File

@ -0,0 +1,107 @@
#! /bin/bash
DRIVER=555
DRIVER_BUILT=true
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) || export DRIVER_BUILT=false && echo "This driver has never been built for this kernel version before."
apt show linux-modules-nvidia-$DRIVER-$(cat ./linux-nvidia-modules/KERNEL) 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ' > ./linux-nvidia-modules/pika_nvidia.txt
rm -rfv /etc/apt/preferences.d/*
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=ubuntu' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 950' >> /etc/apt/preferences.d/0-a
echo 'Package: *' >> /etc/apt/preferences.d/0-a
echo 'Pin: release c=external' >> /etc/apt/preferences.d/0-a
echo 'Pin-Priority: 1000' >> /etc/apt/preferences.d/0-a
apt update -y
apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ' > ./linux-nvidia-modules/new_nvidia.txt
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER
echo "$(apt show kernel-pika 2>&1 | grep -v "does not have a stable" | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./linux-nvidia-modules/KERNEL
echo "$(apt show nvidia-kernel-source-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_VERSION
echo "$(apt show nvidia-driver-$DRIVER 2>&1 | grep -v "does not have a stable" | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./linux-nvidia-modules/DRIVER_PIKA
cd ./linux-nvidia-modules
VERSION="$(cat ./DRIVER_VERSION)-$(cat ./KERNEL)-100pika7"
echo -e "linux-nvidia-modules ("$VERSION") pikauwu; urgency=medium\n\n * New Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
if [[ $DRIVER_BUILT == true ]]
then
if echo $VERSION | grep "$(cat ./pika_nvidia.txt)"
then
echo "driver already built"
exit 0
fi
fi
echo -e "Source: linux-nvidia-modules\nSection: graphics\nPriority: optional\nMaintainer: Ward Nakchbandi <hotrod.master@hotmail.com>\nStandards-Version: 4.6.1\nBuild-Depends: debhelper-compat (= 13), linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), dkms, fakeroot\nRules-Requires-Root: no\n\nPackage: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL)\nArchitecture: linux-any\nDepends: linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), $(apt-cache show nvidia-dkms-$DRIVER | grep Depends: | head -n1 | cut -f2 -d":")\nConflicts: nvidia-6.5.0-pikaos-module-535, nvidia-$(cat ./KERNEL)-module-$DRIVER, "$(apt list 2>/dev/null | cut -d'/' -f1 | grep linux-modules-nvidia | grep $(cat ./KERNEL) | grep -v linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) | sed ':a;N;$!ba;s/\n/, /g')", nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nProvides: linux-modules-nvidia-$(cat ./KERNEL), nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nReplaces: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nDescription: Prebuilt Nvidia module for PikaOS kernel\n\nPackage: nvidia-pika-kernel-module-$DRIVER\nArchitecture: linux-any\nDepends: linux-modules-nvidia-$DRIVER-$(cat ./KERNEL) $(echo '(= ${binary:Version})')\nDescription: DKMS NVIDIA PLACEHOLDER" > ./debian/control
echo -e "usr" > ./debian/linux-modules-nvidia-$DRIVER-$(cat ./KERNEL).install
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/blacklist-pika-nouveau.conf /etc/modprobe.d/blacklist-pika-nouveau.conf" >> ./debian/postinst
echo "cp -vf /usr/lib/pika/nvidia-$(cat ./DRIVER)-$(cat ./KERNEL)/pika-nvidia.conf /etc/modules-load.d/pika-nvidia.conf" >> ./debian/postinst
echo -e "DRIVER=$(cat ./DRIVER)\nKERNEL=$(cat ./KERNEL)\nVERSION=$(cat ./DRIVER_VERSION)\nMK_WORKDIR=$(env | grep -w "PWD" | cut -c5-)\nCARCH=x86_64" > ./Makefile
cat ./Makefiletmp >> ./Makefile
cat << EOF > ./debian/postinst
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
cat << EOF > ./debian/postrm
#! /bin/sh
# Reset kernel modules
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.devname || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.alias.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.builtin.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.dep.bin || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.softdep || true
rm -rfv /usr/lib/modules/"$(cat ./KERNEL)"/modules.symbols.bin || true
# Regenerate kernel module configs
depmod -a "$(cat ./KERNEL)"
# Update initramfs with new module config
update-initramfs -c -k all
EOF
DEBIAN_FRONTEND=noninteractive
# Get build deps
apt-get build-dep ./ -y
apt download nvidia-kernel-source-$DRIVER -y
dpkg-deb -x ./nvidia-kernel-source-$DRIVER*.deb /
apt download nvidia-dkms-$DRIVER -y
dpkg-deb -x ./nvidia-dkms-$DRIVER*.deb /
# Build package
dpkg-buildpackage --no-sign
echo 'DKMS MAKEFILE LOG:'
cat ./nvidia/$(cat ./DRIVER)/$(cat ./KERNEL)/x86_64/log/make.log || cat ./nvidia/$(cat ./DRIVER)/build/make.log
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

View File

@ -9,7 +9,6 @@ install:
fakeroot dkms build --verbose --dkmstree "${MK_WORKDIR}" -m nvidia/"${DRIVER}" -k "${KERNEL}" fakeroot dkms build --verbose --dkmstree "${MK_WORKDIR}" -m nvidia/"${DRIVER}" -k "${KERNEL}"
install -Dt "$(DESTDIR)/usr/lib/modules/"${KERNEL}"/extramodules" -m644 nvidia/"${DRIVER}"/"${KERNEL}"/"${CARCH}"/module/* install -Dt "$(DESTDIR)/usr/lib/modules/"${KERNEL}"/extramodules" -m644 nvidia/"${DRIVER}"/"${KERNEL}"/"${CARCH}"/module/*
find "$(DESTDIR)" -name '*.ko' -exec xz -T1 {} + find "$(DESTDIR)" -name '*.ko' -exec xz -T1 {} +
mkdir -p "$(DESTDIR)"/etc/modprobe.d/ mkdir -p "$(DESTDIR)"/usr/lib/pika/nvidia-"${DRIVER}"-"${KERNEL}"
install -D -m 644 blacklist-pika-nouveau.conf $(DESTDIR)/etc/modprobe.d/blacklist-pika-nouveau.conf install -D -m 644 blacklist-pika-nouveau.conf "$(DESTDIR)"/usr/lib/pika/nvidia-"${DRIVER}"-"${KERNEL}"/blacklist-pika-nouveau.conf
mkdir -p "$(DESTDIR)"/etc/modules-load.d/ install -D -m 644 pika-nvidia.conf "$(DESTDIR)"/usr/lib/pika/nvidia-"${DRIVER}"-"${KERNEL}"/pika-nvidia.conf
install -D -m 644 pika-nvidia.conf $(DESTDIR)/etc/modules-load.d/pika-nvidia.conf

View File

View File

37
main.sh
View File

@ -1,37 +0,0 @@
#! /bin/bash
DRIVER=525
chmod +x ./nvidia-pikaos-kernel-module/get_pwd.sh
echo "$(apt-cache show nvidia-driver-$DRIVER | grep Version: | head -n1 | cut -f2 -d":" | cut -f1,2,3 -d"." | cut -f1 -d"-" | tr -d ' ')" > ./nvidia-pikaos-kernel-module/DRIVER
echo "$(apt-cache show kernel-pika | grep Depends: | head -n1 | cut -f2 -d":" | cut -f1 -d"," | cut -f3,4 -d"-" | tr -d ' ')" > ./nvidia-pikaos-kernel-module/KERNEL
echo "$(apt-cache show nvidia-kernel-source-$DRIVER | grep Version: | head -n1 | cut -f2 -d":" | tr -d ' ')" > ./nvidia-pikaos-kernel-module/DRIVER_VERSION
cd ./nvidia-pikaos-kernel-module
echo -e "nvidia-pikaos-kernel-module ($(cat ./DRIVER)-$(cat ./KERNEL)-99pika5.lunar) lunar; urgency=medium\n\n * New Release\n\n -- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 01 Oct 2022 14:50:00 +0200" > debian/changelog
echo -e "Source: nvidia-pikaos-kernel-module\nSection: graphics\nPriority: optional\nMaintainer: Ward Nakchbandi <hotrod.master@hotmail.com>\nStandards-Version: 4.6.1\nBuild-Depends: debhelper-compat (= 13), linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), dkms, fakeroot\nRules-Requires-Root: no\n\nPackage: nvidia-$(cat ./KERNEL)-module-$DRIVER\nArchitecture: linux-any\nDepends: linux-image-$(cat ./KERNEL), linux-headers-$(cat ./KERNEL), $(apt-cache show nvidia-dkms-$DRIVER | grep Depends: | head -n1 | cut -f2 -d":")\nConflicts: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nProvides: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nReplaces: nvidia-dkms-$DRIVER (= $(cat DRIVER_VERSION))\nDescription: Prebuilt Nvidia module for PikaOS kernel\n\nPackage: nvidia-pika-kernel-module-$DRIVER\nArchitecture: linux-any
Depends: nvidia-$(cat ./KERNEL)-module-$DRIVER $(echo '(= ${binary:Version})')\nDescription: DKMS NVIDIA PLACEHOLDER" > ./debian/control
echo -e "usr\netc" > ./debian/nvidia-$(cat ./KERNEL)-module-$DRIVER.install
echo -e "DRIVER=$(cat ./DRIVER)\nKERNEL=$(cat ./KERNEL)\nVERSION=$(cat ./DRIVER_VERSION)\nMK_WORKDIR=$(env | grep -w "PWD" | cut -c5-)\nCARCH=x86_64" > ./Makefile
cat ./Makefiletmp >> ./Makefile
DEBIAN_FRONTEND=noninteractive
# Get build deps
apt-get build-dep ./ -y
apt download nvidia-kernel-source-$DRIVER -y
dpkg-deb -x ./nvidia-kernel-source-$DRIVER*.deb /
apt download nvidia-dkms-$DRIVER -y
dpkg-deb -x ./nvidia-dkms-$DRIVER*.deb /
# Build package
dpkg-buildpackage --no-sign
echo 'DKMS MAKEFILE LOG:'
cat ./nvidia/$(cat ./DRIVER)/$(cat ./KERNEL)/x86_64/log/make.log || cat ./nvidia/$(cat ./DRIVER)/build/make.log
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

View File

@ -1,3 +0,0 @@
#! /bin/sh
depmod
update-initramfs -c -k all

View File

@ -1,3 +0,0 @@
#! /bin/sh
depmod
update-initramfs -c -k all

View File

@ -1,11 +1,8 @@
# Sign the packages # send debs to server
dpkg-sig --sign builder ./output/*.deb rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/
# Pull down existing ppa repo db files etc # add debs to repo
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pikauwu-main /srv/www/incoming/'
# Add the new package to the repo # publish the repo
reprepro -C main -V --basedir ./output/repo/ includedeb lunar ./output/*.deb ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite pikauwu filesystem:pikarepo:'
# Push the updated ppa repo to the server
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/