Compare commits

..
11 Commits
Author SHA1 Message Date
bart ee9ceb4256 feat(jellyfin-kiosk): bump package to 0.1.5
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 30s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-06 18:25:15 +01:00
bart 1ca16dee3d feat(jellyfin-kiosk): bump package to 0.1.4
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 24s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 22:20:37 +01:00
bart 0d7ca3ee4b feat(jellyfin-kiosk): bump package to 0.1.3 with YouTube sharing and cursor fix
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 23s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 19:12:14 +01:00
bart e28d4adef0 fix(jellyfin-kiosk): update binary with hidden cursor
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 23s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 18:58:22 +01:00
bart 419942a496 feat(jellyfin-kiosk): bump package to 0.1.2
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 33s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 18:46:40 +01:00
bart d97a1a9662 feat(jellyfin-kiosk): add debian package build and staging for jellyfin-kiosk 2026-11-04 23:26:30 +01:00
bart 6ee1625e70 feat(ca): configure browser trust policies for Chrome, Chromium, Brave and Firefox (v1.0.1)
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 19s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-10-20 23:36:47 +02:00
bart 13aea1c654 Add automated update-repo.sh for index generation and signing 2026-10-20 23:12:58 +02:00
bart 06bd01807a Add bnhmeijer-ca-certificates package to sources and repository
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 20s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-10-20 22:44:29 +02:00
bart 496920fddb Add package installation testing to Gitea workflow and fix package metadata
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 21s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-10-20 22:01:16 +02:00
bart ed27a09ef9 Fix interactive terminal prompt via /dev/tty for piped curl 2026-10-20 21:43:38 +02:00
49 changed files with 820 additions and 10495 deletions
+72 -2
View File
@@ -1,4 +1,4 @@
name: Build and Publish Debian Packages
name: Build, Test and Publish Debian Packages
on:
push:
@@ -9,6 +9,10 @@ on:
- 'sources/**'
- 'buildpackages.sh'
- '.gitea/workflows/**'
pull_request:
branches:
- main
- master
workflow_dispatch:
jobs:
@@ -35,9 +39,75 @@ jobs:
name: debian-packages
path: staging/*.deb
test-install:
name: Test Package Installation
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download built artifacts
uses: actions/download-artifact@v4
with:
name: debian-packages
path: staging
- name: Install system runtime dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv ffmpeg mpv yt-dlp libmpv2
- name: Test install eendoe-repository
run: |
echo "=== Installing eendoe-repository ==="
sudo apt-get install -y ./staging/eendoe-repository-*.deb
dpkg -s eendoe-repository | grep -q "Status: install ok installed"
test -f /etc/apt/sources.list.d/eendoe.list
echo "eendoe-repository: OK"
- name: Test install eendoe-srs
run: |
echo "=== Installing eendoe-srs ==="
sudo apt-get install -y ./staging/eendoe-srs-*.deb
dpkg -s eendoe-srs | grep -q "Status: install ok installed"
test -x /usr/share/srs/objs/srs
echo "eendoe-srs: OK"
- name: Test install eendoe-hyperdeck
run: |
echo "=== Installing eendoe-hyperdeck ==="
sudo apt-get install -y ./staging/eendoe-hyperdeck-*.deb
dpkg -s eendoe-hyperdeck | grep -q "Status: install ok installed"
test -d /usr/share/hyperdeck
test -f /etc/hyperdeck/config.json
test -f /usr/lib/systemd/system/hyperdeck.service
- name: Test install bnhmeijer-ca-certificates
run: |
echo "=== Installing bnhmeijer-ca-certificates ==="
sudo apt-get install -y ./staging/bnhmeijer-ca-certificates-*.deb
dpkg -s bnhmeijer-ca-certificates | grep -q "Status: install ok installed"
test -f /usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt
echo "bnhmeijer-ca-certificates: OK"
- name: Test install jellyfin-kiosk
run: |
echo "=== Installing jellyfin-kiosk ==="
sudo apt-get install -y ./staging/jellyfin-kiosk-*.deb
dpkg -s jellyfin-kiosk | grep -q "Status: install ok installed"
test -x /usr/bin/jellyfin-kiosk
test -f /usr/lib/systemd/system/jellyfin-kiosk.service
echo "jellyfin-kiosk: OK"
- name: Test package uninstall and cleanup
run: |
echo "=== Testing package removal ==="
sudo apt-get remove -y eendoe-hyperdeck eendoe-srs eendoe-repository bnhmeijer-ca-certificates jellyfin-kiosk
echo "Package removal: OK"
publish:
name: Publish to eendoe repository
needs: build
needs: [build, test-install]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
+1
View File
@@ -6,6 +6,7 @@ Debian / APT package repository bronbestanden en build tools voor Eendoe.
- **`sources/`**: Bronbestanden, control definities en packaging scripts voor de te bouwen packages:
- `eendoe_repository`: Repository configuratie package (`/etc/apt/sources.list.d/`)
- `bnhmeijer_ca_certificates`: Bnhmeijer Homelab Root CA package voor `/usr/local/share/ca-certificates/`
- `eendoe_hyperdeck`: Hyperdeck Python service en systemd unit
- `eendoe_srs`: SRS streaming server package en systemd unit
- **`staging/`**: Bestaande en nieuw gebouwde `.deb` packages (exclusief Oracle database packages).
+23 -46
View File
@@ -1,57 +1,34 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hash: SHA512
Origin: . stable
Label: . stable
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: Wed, 27 Dec 2023 15:09:09 UTC
Architectures: amd64
Date: Tue, 20 Oct 2026 21:36:18 +0000
Architectures: amd64 all
Components: main
Description: Generated by aptly
Description: Eendoe Private APT Package Repository
MD5Sum:
cf5f351b126aaab2bf6ca97c13b378c5 3405449 Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 Contents-amd64.gz
cf5f351b126aaab2bf6ca97c13b378c5 3405449 main/Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 main/Contents-amd64.gz
f8778b24beb2988de929e2d59d1f4c58 2761 main/binary-amd64/Packages
a9ae692d17b8e39db0555ab28ca1207d 1357 main/binary-amd64/Packages.bz2
9a64097df252b063fd82b0127ffc57ae 1268 main/binary-amd64/Packages.gz
1a863a05e2aa38a0db0bf785722d7fae 99 main/binary-amd64/Release
8fc1ad8fefc657a8da319cc9b55c6eaf 4709 main/binary-amd64/Packages
a6c07fa32055f89a45b322fc1804dd8e 1747 main/binary-amd64/Packages.gz
cddb357d915f3e3cc9c59e221003730d 1893 main/binary-amd64/Packages.bz2
SHA1:
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 Contents-amd64.gz
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 main/Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 main/Contents-amd64.gz
7236da7bf2d82d5b66a9305d78f7ec7876792c71 2761 main/binary-amd64/Packages
a2ed1b4117915d2349051ada9ddc089113aa7803 1357 main/binary-amd64/Packages.bz2
a628182db07c468ccf6236597693c3624a0eb9f8 1268 main/binary-amd64/Packages.gz
279ffa18634b8d6c311595f6e6db2c1b2324b3ef 99 main/binary-amd64/Release
e349ded34482fa7054812a7ff8ec1675a0d3987b 4709 main/binary-amd64/Packages
c8c126f431f6813812de54c586da7d3c998008cb 1747 main/binary-amd64/Packages.gz
f875d955166a78973c768b08bc595a2dcb7c41c7 1893 main/binary-amd64/Packages.bz2
SHA256:
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 Contents-amd64.gz
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 main/Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 main/Contents-amd64.gz
f2197b98eadd153d364ff7948bca222763f70e18b76a963b504c1ebbbeb0f2b7 2761 main/binary-amd64/Packages
7dc41b5f359d26cb8c1bcc4b512c94c5db1b402efb15e76d5d0d23625cdca933 1357 main/binary-amd64/Packages.bz2
64f1a3fd43c28053b3c2301a123b4cf6dc5a1370a94463d861fab3856554366e 1268 main/binary-amd64/Packages.gz
101f8d561bb536f600918ab98ffb742828149f0d90ed0b007b7b761e9ad4f8a2 99 main/binary-amd64/Release
SHA512:
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 Contents-amd64.gz
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 main/Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 main/Contents-amd64.gz
19efa178a219564af52c8eff763c820d973a9f00f43a6fd5d1599179661b025a043da630874ba56814ca43608d68aa2e555bb5f303a3d84deb1412c4c8923ff6 2761 main/binary-amd64/Packages
87099e5b28836adde21419be72bc16bbb6b02bd901f8372df2de3543d03f8de9ff58fd058ef7bc90a7bafc9b8d4c38fdd25c507b788b8054d79d448c97ef32d7 1357 main/binary-amd64/Packages.bz2
dc706a07d45f70d0bf645c4d65e1b6b235a66dfa294f8a77825b1395cf40aa3a2ed097f7092e4635c99ff231fc9f44852d0b91ed09fbbd1cc8a78bb758afc2e7 1268 main/binary-amd64/Packages.gz
fd75f52e3d8ab190e919a646d1ccc84e447b32e45691f0f9f65c3ac5ac806f024f7edef6e0c3c9e2d19a5f2621dcd3744f684d9b87a7cdc493b0eb55e7a0b393 99 main/binary-amd64/Release
8bd948850a78b9f51ef065ce194760947b7bfb60e0124bdf8ff115e4eaa51d62 4709 main/binary-amd64/Packages
4cff378eeaf24824f9e9027c8e4b2e42023c7fb8b83bb9e3517caffc82ee7c66 1747 main/binary-amd64/Packages.gz
a38a8258163e341ddaf3708b7dab8d4437d9b65ef1267539d3c184cc2c367ade 1893 main/binary-amd64/Packages.bz2
-----BEGIN PGP SIGNATURE-----
wsBcBAEBCAAQBQJljD4VCRBWSZ+SBjn1cQAANDUIAKjuNqznCTWjUgwAdRkmCLyb
HzmxTbtSfc4Eguri0QsUCQg7FA5nlupNketz2NNJ3TIkPJ7KVHAvcYdifnDlL0k2
WQMRC4L94jxYSvRnMj4f+/pWt1UxHs5wCHGaojvf8s9ZzSTme52g3MLtikQCEpgv
zqIgSH4bzAJu0fc5Je1qRpxiwATyf7B7vC276XSWkDIxDZBUSupLoZNua0NdZ7mh
cTXyFIexrWOJk3xJjKfcTQZEB+RxVZk/vSADAnaVKo/YuzBoSx2A1HEwVDOPc4TD
vwPIfM9LDoS6YrN4mKDvkjlUtgds/5rXcOVxEQAAaG/md5RvRTOAFbpBKs/pbZc=
=2HIC
iQEzBAEBCgAdFiEEUQdwLhqNQP44F6OuVkmfkgY59XEFAmrX3tIACgkQVkmfkgY5
9XFjHwf/Qqa5PCPX919pWz/ML5entwd2vEZpr3HSqfum0R9hp7YE9p9100Z+p7pk
BFG2vLSKzw9XsExUH5WqtDyDLyxZNqqrlwlhZWbaVfHhpFoUf2ToOAF6lA2vB40U
EmG2dFgnrvC43oZIh46W1EGs0yKmeinJuZWh/OIQI1oNP6TCzEAkmzaLZOtlBQSy
0wYVGYp/DwkzGOink7Izz3GP6CHeDUwzp3tazeOQAqgz5cjUmc4O6GNl78MdSeu8
rD0DQNELvDK2TXsE8b17MdK/ZdHZNGuq27xZeVcedF5CQ+7fkv2I9vHsGulj8dF/
KwmW68r0bBmvZsM0xsBbvpKPfAfHeg==
=9xzR
-----END PGP SIGNATURE-----
+14 -38
View File
@@ -1,44 +1,20 @@
Origin: . stable
Label: . stable
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: Wed, 27 Dec 2023 15:09:09 UTC
Architectures: amd64
Date: Tue, 20 Oct 2026 21:36:18 +0000
Architectures: amd64 all
Components: main
Description: Generated by aptly
Description: Eendoe Private APT Package Repository
MD5Sum:
cf5f351b126aaab2bf6ca97c13b378c5 3405449 Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 Contents-amd64.gz
cf5f351b126aaab2bf6ca97c13b378c5 3405449 main/Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 main/Contents-amd64.gz
f8778b24beb2988de929e2d59d1f4c58 2761 main/binary-amd64/Packages
a9ae692d17b8e39db0555ab28ca1207d 1357 main/binary-amd64/Packages.bz2
9a64097df252b063fd82b0127ffc57ae 1268 main/binary-amd64/Packages.gz
1a863a05e2aa38a0db0bf785722d7fae 99 main/binary-amd64/Release
8fc1ad8fefc657a8da319cc9b55c6eaf 4709 main/binary-amd64/Packages
a6c07fa32055f89a45b322fc1804dd8e 1747 main/binary-amd64/Packages.gz
cddb357d915f3e3cc9c59e221003730d 1893 main/binary-amd64/Packages.bz2
SHA1:
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 Contents-amd64.gz
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 main/Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 main/Contents-amd64.gz
7236da7bf2d82d5b66a9305d78f7ec7876792c71 2761 main/binary-amd64/Packages
a2ed1b4117915d2349051ada9ddc089113aa7803 1357 main/binary-amd64/Packages.bz2
a628182db07c468ccf6236597693c3624a0eb9f8 1268 main/binary-amd64/Packages.gz
279ffa18634b8d6c311595f6e6db2c1b2324b3ef 99 main/binary-amd64/Release
e349ded34482fa7054812a7ff8ec1675a0d3987b 4709 main/binary-amd64/Packages
c8c126f431f6813812de54c586da7d3c998008cb 1747 main/binary-amd64/Packages.gz
f875d955166a78973c768b08bc595a2dcb7c41c7 1893 main/binary-amd64/Packages.bz2
SHA256:
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 Contents-amd64.gz
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 main/Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 main/Contents-amd64.gz
f2197b98eadd153d364ff7948bca222763f70e18b76a963b504c1ebbbeb0f2b7 2761 main/binary-amd64/Packages
7dc41b5f359d26cb8c1bcc4b512c94c5db1b402efb15e76d5d0d23625cdca933 1357 main/binary-amd64/Packages.bz2
64f1a3fd43c28053b3c2301a123b4cf6dc5a1370a94463d861fab3856554366e 1268 main/binary-amd64/Packages.gz
101f8d561bb536f600918ab98ffb742828149f0d90ed0b007b7b761e9ad4f8a2 99 main/binary-amd64/Release
SHA512:
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 Contents-amd64.gz
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 main/Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 main/Contents-amd64.gz
19efa178a219564af52c8eff763c820d973a9f00f43a6fd5d1599179661b025a043da630874ba56814ca43608d68aa2e555bb5f303a3d84deb1412c4c8923ff6 2761 main/binary-amd64/Packages
87099e5b28836adde21419be72bc16bbb6b02bd901f8372df2de3543d03f8de9ff58fd058ef7bc90a7bafc9b8d4c38fdd25c507b788b8054d79d448c97ef32d7 1357 main/binary-amd64/Packages.bz2
dc706a07d45f70d0bf645c4d65e1b6b235a66dfa294f8a77825b1395cf40aa3a2ed097f7092e4635c99ff231fc9f44852d0b91ed09fbbd1cc8a78bb758afc2e7 1268 main/binary-amd64/Packages.gz
fd75f52e3d8ab190e919a646d1ccc84e447b32e45691f0f9f65c3ac5ac806f024f7edef6e0c3c9e2d19a5f2621dcd3744f684d9b87a7cdc493b0eb55e7a0b393 99 main/binary-amd64/Release
8bd948850a78b9f51ef065ce194760947b7bfb60e0124bdf8ff115e4eaa51d62 4709 main/binary-amd64/Packages
4cff378eeaf24824f9e9027c8e4b2e42023c7fb8b83bb9e3517caffc82ee7c66 1747 main/binary-amd64/Packages.gz
a38a8258163e341ddaf3708b7dab8d4437d9b65ef1267539d3c184cc2c367ade 1893 main/binary-amd64/Packages.bz2
+8 -7
View File
@@ -1,10 +1,11 @@
-----BEGIN PGP SIGNATURE-----
wsBcBAABCAAQBQJljD4VCRBWSZ+SBjn1cQAA8egIADfaxAQ/X/sjUAVIXODYu2cu
CWzVmXJ9PcNAQhTo+3rCgLKfs2o8Vw4lKGbNlAUAUZuLTooAUAmIqqnkgaiJsXLO
wGWqbHRi/opVVvYRATpuQJfpZ6Du9z8bhmnm7klVlZhluxuFia1analsT3lOopI1
GrXrN4TMXwUp3tOk/7hWaP/ME3v0MsMIqtrkDwseA8lQ7pMhA8TnmabDZTSmf94R
KxYzw8TaI/Ddrs9HBsP9d0hUqOvyhicwqC5XF4Rtn9GgjN2H0+/vUPkNta7I8zOV
UlnOj0r8owjVKg4opRqrGfk14MmyliQZ2KlFHhsgdxUoTB0QPuFKnQLflwx7Ztw=
=tgYK
iQEyBAABCgAdFiEEUQdwLhqNQP44F6OuVkmfkgY59XEFAmrX3tIACgkQVkmfkgY5
9XGlSQf4useyfLCS4hNEM1x4soVjDwrs5LB8nQJTs14zHZ00YFinE66kaV6OdDJv
MH+vv9JdMFK+tyaemkw2xKkDib0RyLx8rQYqGERI/TX6RBTIlZRa7TBwVw4YuleC
jPeXtyFJGvho4rAN6gS1jG5POHhnZk9cZPeCsC9ydoAXBevQV6j1WR3n98qvx/vp
ObAqVIGX7uP7Ffmgo5yXZUWOeLU7lmaiwjv8yMEjirqHpqhxq9qkYe41tXS2NJ18
ZCrm0uutbDdOS4DiU2ndSNKDd9bQtNwU9X0+xviFzOteMtOMEhtzycytDBFCur3z
Np6uCQaoxKOLfgomTeKhBG6PRbOo
=UcVa
-----END PGP SIGNATURE-----
@@ -1,29 +1,91 @@
Package: eendoe-repository
Section: utils
Maintainer: Bart Meijer
Package: bnhmeijer-ca-certificates
Version: 1.0.0
Architecture: all
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Depends: ca-certificates
Filename: pool/main/b/bnhmeijer-ca-certificates/bnhmeijer-ca-certificates-1.0.0_all.deb
Size: 2408
MD5sum: 042a9554c51f2add03a5cd82cacb616f
SHA1: 439678abe947246bfc25d8ad4bd336acada4bec1
SHA256: 2a87b6bb51d751c47ebc83d5dfc81f1874c509e70859cf25a0003f0e2c5fb382
Section: utils
Priority: optional
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and updates the CA trust list.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
Package: bnhmeijer-ca-certificates
Version: 1.0.1
Architecture: all
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Depends: ca-certificates
Recommends: libnss3-tools
Filename: pool/main/b/bnhmeijer-ca-certificates/bnhmeijer-ca-certificates-1.0.1_all.deb
Size: 3548
MD5sum: e3933131eb461153e3b52ebb1605815b
SHA1: 31bb175b972276bca977646af656a9f3b7a9083e
SHA256: cfe6653252f5b55a26e645efb6718a72049c5e4185d77d915fc50fcf635acfc3
Section: utils
Priority: optional
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and configures system policies
for Firefox, Google Chrome, Chromium and Brave browsers.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
Package: eendoe-hyperdeck
Version: 0.15.2
Architecture: all
Maintainer: nl.eendoe.bart
Depends: python3, python3-pip, ffmpeg, eendoe-srs
Filename: pool/main/e/eendoe-hyperdeck/eendoe-hyperdeck-0.15.2_all.deb
Size: 11316
MD5sum: 17a094c21bc92198231c1438cd834633
SHA1: 45e06ad000760f88ee025d888b246bacc59da1a8
SHA256: 7a5de2fa5289da9fe3227b5e39ff9b837d3c99c397008376d6b29714fcd3dd1e
Section: utils
Description: Eendoe hyperdeck client module
Package: eendoe-repository
Version: 1.0
Architecture: all
Maintainer: Bart Meijer
Filename: pool/main/e/eendoe-repository/eendoe-repository-1.0_all.deb
Size: 7224
MD5sum: 1dec21c569795d9a7c408b49bc462351
SHA1: f81b15730a43fc3e8bb002046a09755c83b00794
SHA256: 87fe58023583065366484a08af3789e276a0ab87516eae549e550dd6e74ca78f
SHA512: 6c5ccca79318822ea39cfe04bbf8c11e9be06e8f53aafdef9a47b8bbcf3b2370b1ad1d15e23fb36378aa8cf3304fce8563f5e963299eda348636f0e1eead4809
Section: utils
Description: Eendoe package repository
Package: eendoe-srs
Version: 0.0.1
Architecture: all
Maintainer: nl.eendoe.bart
Depends: python3, python3-pip, ffmpeg
Filename: pool/main/e/eendoe-srs/eendoe-srs-0.0.1_all.deb
Size: 12412098
MD5sum: 1c91d1fdfff4a8c2b1512c28d49e5ea9
SHA1: a8ad5125183f618f0f652275670f4369f4fca07b
SHA256: 38f8b0288471024e2cb4465210bb28fa6bf3442a4d7c938a598686595d67eebc
Section: utils
Description: Eendoe Hyperdeck SRS module
Package: oracle-database-preinstall-21c
Priority: extra
Section: alien
Installed-Size: 101
Maintainer: Bart Meijer <bart@vmserver>
Architecture: amd64
Version: 1.0-2
Architecture: amd64
Maintainer: Bart Meijer <bart@vmserver>
Installed-Size: 101
Filename: pool/main/o/oracle-database-preinstall-21c/oracle-database-preinstall-21c_1.0-2_amd64.deb
Size: 19796
MD5sum: 9a95793469fb85f535a26266b60738bf
SHA1: 6869aad4114275c479e40865bba021c6ca02e6cb
SHA256: a6ad8c2b5b204f631f88199ed799784ad6fd73bd65d899277b8e786ecf5bb578
SHA512: 617ce833e5771b2d55f8d1c39c77adf1f775590565ff056610625f8c24450150d4a563a7a4cac25966b41c6becd90e73c38c379bc198096acd0b673eaa0b48e2
Section: alien
Priority: extra
Description: Oracle Database Preinstallation RPM
The Oracle Database Preinstallation RPM automatically installs any additional
packages needed for installing Oracle Grid Infrastructure and Oracle Database
@@ -33,33 +95,31 @@ Description: Oracle Database Preinstallation RPM
(Converted from a rpm package by alien version 8.95.)
Package: oracle-database-xe-21c
Section: utils
Maintainer: Bart Meijer
Architecture: all
Version: 1.0.3
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c-1.0.3_all.deb
Size: 2188370848
MD5sum: b89910db6b9ba0ab149db6ee78a711f8
SHA1: 39e2f816b81ccc4dbbc4bc89d20361272dd59161
SHA256: ec96ebd544d9492e3696fc609d18a539357c653b3fb4264d144fbd0a27b23eec
SHA512: 1922b4fec8b7e6b03a298a2f8d4f400ec9aa9b2d7ad6fe4ceaa83d136c6d5910316f46c6025b352b05ce18ad8fc9e3b7286bf3948e000a1857b6fce2d2c19c03
Description: Eendoe package repository
Package: oracle-database-xe-21c
Priority: extra
Section: alien
Installed-Size: 6067591
Maintainer: Bart Meijer <bart@vmserver>
Architecture: amd64
Version: 1.0-2
Architecture: amd64
Maintainer: Bart Meijer <bart@vmserver>
Installed-Size: 6067591
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c_1.0-2_amd64.deb
Size: 2188841976
MD5sum: 0b39df8f78e8c909557d1f028c9e7e5f
SHA1: 882d1f5f63d842c6051a9aa0ec57a2d34cdb1a3f
SHA256: 5b1401ac3e34ac5c0c636b8b41a6b3762f9b8297fb6f42c3bc2d1d05677ae01d
SHA512: 9ff82c1b2d09582f1c456ba99ecb3f3be5079bd00a5101c7f927fb3752bc869fe4e982b51d170feca64e9ab6ab58c41566a30e57b1ff9fe066041bc0465e3d2a
Section: alien
Priority: extra
Description: Oracle 21c Express Edition Database
Oracle 21c Express Edition Database
.
(Converted from a rpm package by alien version 8.95.)
Package: oracle-database-xe-21c
Version: 1.0.3
Architecture: all
Maintainer: Bart Meijer
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c-1.0.3_all.deb
Size: 2188370848
MD5sum: b89910db6b9ba0ab149db6ee78a711f8
SHA1: 39e2f816b81ccc4dbbc4bc89d20361272dd59161
SHA256: ec96ebd544d9492e3696fc609d18a539357c653b3fb4264d144fbd0a27b23eec
Section: utils
Description: Eendoe package repository
Binary file not shown.
Binary file not shown.
+11
View File
@@ -645,6 +645,17 @@
</div>
</div>
<div class="pkg-card">
<div>
<div class="pkg-name">bnhmeijer-ca-certificates</div>
<div class="pkg-desc">Bnhmeijer Homelab Root CA certificaat. Voegt de root CA automatisch toe aan de OS trust store zodat interne TLS-certificaten direct vertrouwd worden.</div>
</div>
<div class="pkg-footer">
<span>Versie: 1.0.0</span>
<span>Arch: all</span>
</div>
</div>
<div class="pkg-card">
<div>
<div class="pkg-name">eendoe-repository</div>
+14 -3
View File
@@ -26,13 +26,24 @@ REPO_USER="${1:-}"
REPO_PASS="${2:-}"
if [ -z "$REPO_USER" ]; then
read -r -p "Gebruikersnaam voor repository [eendoe]: " INPUT_USER
if [ -t 0 ]; then
read -r -p "Gebruikersnaam voor repository [eendoe]: " INPUT_USER
elif [ -e /dev/tty ]; then
read -r -p "Gebruikersnaam voor repository [eendoe]: " INPUT_USER </dev/tty
else
INPUT_USER=""
fi
REPO_USER="${INPUT_USER:-eendoe}"
fi
if [ -z "$REPO_PASS" ]; then
read -r -s -p "Wachtwoord voor repository ($REPO_USER): " REPO_PASS
echo ""
if [ -t 0 ]; then
read -r -s -p "Wachtwoord voor repository ($REPO_USER): " REPO_PASS
echo ""
elif [ -e /dev/tty ]; then
read -r -s -p "Wachtwoord voor repository ($REPO_USER): " REPO_PASS </dev/tty
echo ""
fi
fi
if [ -z "$REPO_USER" ] || [ -z "$REPO_PASS" ]; then
+46
View File
@@ -0,0 +1,46 @@
#!/bin/sh
set -e
CONTROL_FILE=$(ls -1 *.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $(pwd)" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-all}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME" -type f -exec chmod 644 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
@@ -0,0 +1,14 @@
Package: bnhmeijer-ca-certificates
Version: 1.0.1
Section: utils
Priority: optional
Architecture: all
Depends: ca-certificates
Recommends: libnss3-tools
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and configures system policies
for Firefox, Google Chrome, Chromium and Brave browsers.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
@@ -0,0 +1,40 @@
#!/bin/sh
set -e
CA_CRT="/usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt"
CA_NICKNAME="Bnhmeijer Homelab Root CA"
case "$1" in
configure|abort-upgrade)
# 1. Update OS system trust store
if command -v update-ca-certificates >/dev/null 2>&1; then
echo "Bijwerken van systeem trusted CA certificaten..."
update-ca-certificates >/dev/null 2>&1 || true
fi
# 2. Link Firefox distribution policies if application dir exists
if [ -d /usr/lib/firefox ]; then
mkdir -p /usr/lib/firefox/distribution
if [ ! -e /usr/lib/firefox/distribution/policies.json ] || [ -L /usr/lib/firefox/distribution/policies.json ]; then
ln -sf /etc/firefox/policies/policies.json /usr/lib/firefox/distribution/policies.json
fi
fi
# 3. Import into NSS databases if certutil is installed
if command -v certutil >/dev/null 2>&1 && [ -f "$CA_CRT" ]; then
for user_home in /root $(awk -F: '$3 >= 1000 && $3 < 60000 {print $6}' /etc/passwd 2>/dev/null); do
user_name=$(stat -c '%U' "$user_home" 2>/dev/null || echo "root")
for pki_dir in "$user_home/.pki/nssdb" "$user_home/.local/share/pki/nssdb"; do
if [ -d "$pki_dir" ]; then
certutil -d "sql:$pki_dir" -A -t "TC,," -n "$CA_NICKNAME" -i "$CA_CRT" >/dev/null 2>&1 || true
chown -R "$user_name:" "$pki_dir" 2>/dev/null || true
fi
done
done
fi
echo "Bnhmeijer Root CA is geconfigureerd voor OS, Firefox en Chromium/Chrome."
echo "Herstart actieve browsers om de nieuwe certificaatvertrouwenslijst te laden."
;;
esac
exit 0
@@ -0,0 +1,31 @@
#!/bin/sh
set -e
CA_NICKNAME="Bnhmeijer Homelab Root CA"
case "$1" in
remove|purge|disappear)
# 1. Update OS system trust store
if command -v update-ca-certificates >/dev/null 2>&1; then
echo "Verwijderen van certificaat uit systeem trust store..."
update-ca-certificates --fresh >/dev/null 2>&1 || true
fi
# 2. Clean up Firefox symlink if it points to our policy
if [ -L /usr/lib/firefox/distribution/policies.json ]; then
rm -f /usr/lib/firefox/distribution/policies.json 2>/dev/null || true
fi
# 3. Remove from NSS databases if certutil is installed
if command -v certutil >/dev/null 2>&1; then
for user_home in /root $(awk -F: '$3 >= 1000 && $3 < 60000 {print $6}' /etc/passwd 2>/dev/null); do
for pki_dir in "$user_home/.pki/nssdb" "$user_home/.local/share/pki/nssdb"; do
if [ -d "$pki_dir" ]; then
certutil -d "sql:$pki_dir" -D -n "$CA_NICKNAME" >/dev/null 2>&1 || true
fi
done
done
fi
;;
esac
exit 0
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,10 @@
{
"policies": {
"Certificates": {
"ImportEnterpriseRoots": true,
"Install": [
"/usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt"
]
}
}
}
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAw
TTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwR
Qm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoX
DTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9v
dCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDd
Fs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7o
j7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1do
ki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEp
IKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/
c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMt
jH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQ
ORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sS
wQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXpQUpoXkZ/Zdd2zI2eKLnKuYqkiUv
UOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtR
WM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RB
H3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
Af8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3
DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmid
vwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1
ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/Pr
Cqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kD
CLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nC
MSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7
o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCz
O2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/d
rt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGpr
NLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/v
UX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A==
-----END CERTIFICATE-----
+34 -20
View File
@@ -1,31 +1,45 @@
#!/bin/sh
set -e
CONTROL_FILE=$(ls -1 *.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $(pwd)" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
CONTROL_FILE=$(ls -1 *.control)
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-all}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Using control file $CONTROL_FILE"
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' $CONTROL_FILE)
VERSION=$(awk '/^Version: /{print $NF}' $CONTROL_FILE)
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# tag git repo
# git tag -f release-${VERSION}
echo "Building package $PACKAGE_NAME ($VERSION): $PACKAGE_NAME-${VERSION}_all.deb"
# VERSION
sed "s/{VERSION}/${VERSION}/" $PACKAGE_NAME.control > packaging/$PACKAGE_NAME/DEBIAN/control
#create debian package
dpkg --build packaging/$PACKAGE_NAME $PACKAGE_NAME-${VERSION}_all.deb
# dpkg-sig -k 14AF7F05 --sign builder icosi-${VERSION}_all.deb
echo "clean up"
rm packaging/$PACKAGE_NAME/DEBIAN/control
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
@@ -1,7 +1,7 @@
Package: eendoe-hyperdeck
Version: {VERSION}
Version: 0.15.2
Section: utils
Maintainer: nl.eendoe.bart
Architecture: all
Depends: python3, python3-pip, ffmpeg, eendoe-srs
Depends: python3, python3-pip, python3-venv, ffmpeg, eendoe-srs
Description: Eendoe hyperdeck client module
@@ -1,41 +1,43 @@
#!/bin/bash
set -e
#set -e
case "$1" in
configure|abort-upgrade)
id -u vid &>/dev/null || useradd --system -m -s /bin/bash vid
id -u vid &>/dev/null || useradd --system -m vid
# Setup virtualenv for python dependencies to comply with PEP 668 on Debian 12 / Ubuntu 24.04+
VENV_DIR="/usr/share/hyperdeck/venv"
if [ ! -d "$VENV_DIR" ]; then
python3 -m venv "$VENV_DIR" 2>/dev/null || python3 -m venv --system-site-packages "$VENV_DIR" 2>/dev/null || true
fi
runuser -l vid -c "pip3 install -r /usr/share/hyperdeck/requirements.txt"
if [ -x "$VENV_DIR/bin/pip" ]; then
"$VENV_DIR/bin/pip" install -q -r /usr/share/hyperdeck/requirements.txt || true
chown -R vid:vid "$VENV_DIR" || true
else
pip3 install -r /usr/share/hyperdeck/requirements.txt --break-system-packages 2>/dev/null || \
pip3 install -r /usr/share/hyperdeck/requirements.txt 2>/dev/null || true
fi
FILE="/etc/hyperdeck/config.json"
SOURCEFILE="/usr/share/hyperdeck/config.json.orig"
if [ ! -f "$FILE" ]; then
mkdir -p /etc/hyperdeck/
echo "Copy default config"
cp "$SOURCEFILE" "$FILE"
chmod 744 "$FILE"
fi
# Register and enable systemd service if running under systemd
if systemctl is-system-running &>/dev/null || [ -d /run/systemd/system ]; then
systemctl daemon-reload 2>/dev/null || true
systemctl enable hyperdeck 2>/dev/null || true
fi
FILE="/etc/hyperdeck/config.json"
SOURCEFILE="/usr/share/hyperdeck/config.json.orig"
if [ -f "$FILE" ]; then
echo "$FILE exists."
else
mkdir -p /etc/hyperdeck/
echo "Copy default config"
cp "$SOURCEFILE" "$FILE"
chmod 744 "$FILE"
fi
mkdir -p /var/log/hyperdeck/
chown vid:vid "/var/log/hyperdeck/" 2>/dev/null || true
systemd-notify --booted
if [ "$?" -eq 0 ]
then
echo "Systemd running, registering service"
systemctl daemon-reload && systemctl enable hyperdeck
else
echo "Systemd not running, skipping"
fi
mkdir -p /var/log/hyperdeck/
chown vid:vid "/var/log/hyperdeck/"
echo "Installation done"
echo "Installation done"
;;
esac
exit 0
+34 -20
View File
@@ -1,31 +1,45 @@
#!/bin/sh
set -e
CONTROL_FILE=$(ls -1 *.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $(pwd)" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
CONTROL_FILE=$(ls -1 *.control)
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-all}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Using control file $CONTROL_FILE"
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' $CONTROL_FILE)
VERSION=$(awk '/^Version: /{print $NF}' $CONTROL_FILE)
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# tag git repo
# git tag -f release-${VERSION}
echo "Building package $PACKAGE_NAME ($VERSION): $PACKAGE_NAME-${VERSION}_all.deb"
# VERSION
sed "s/{VERSION}/${VERSION}/" $PACKAGE_NAME.control > packaging/$PACKAGE_NAME/DEBIAN/control
#create debian package
dpkg --build packaging/$PACKAGE_NAME $PACKAGE_NAME-${VERSION}_all.deb
# dpkg-sig -k 14AF7F05 --sign builder icosi-${VERSION}_all.deb
echo "clean up"
rm packaging/$PACKAGE_NAME/DEBIAN/control
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
+34 -20
View File
@@ -1,31 +1,45 @@
#!/bin/sh
set -e
CONTROL_FILE=$(ls -1 *.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $(pwd)" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
CONTROL_FILE=$(ls -1 *.control)
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-all}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Using control file $CONTROL_FILE"
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' $CONTROL_FILE)
VERSION=$(awk '/^Version: /{print $NF}' $CONTROL_FILE)
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# tag git repo
# git tag -f release-${VERSION}
echo "Building package $PACKAGE_NAME ($VERSION): $PACKAGE_NAME-${VERSION}_all.deb"
# VERSION
sed "s/{VERSION}/${VERSION}/" $PACKAGE_NAME.control > packaging/$PACKAGE_NAME/DEBIAN/control
#create debian package
dpkg --build packaging/$PACKAGE_NAME $PACKAGE_NAME-${VERSION}_all.deb
# dpkg-sig -k 14AF7F05 --sign builder icosi-${VERSION}_all.deb
echo "clean up"
rm packaging/$PACKAGE_NAME/DEBIAN/control
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
+2 -2
View File
@@ -1,7 +1,7 @@
Package: eendoe-srs
Version: {VERSION}
Version: 0.0.1
Section: utils
Maintainer: nl.eendoe.bart
Architecture: all
Architecture: amd64
Depends: python3, python3-pip, ffmpeg
Description: Eendoe Hyperdeck SRS module
@@ -1 +0,0 @@
vid-35m3s3d
File diff suppressed because it is too large Load Diff
@@ -1 +0,0 @@
27563
+79
View File
@@ -0,0 +1,79 @@
#!/bin/sh
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PKG_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
CLUSTER_ROOT="$(cd "$PKG_ROOT/../../.." && pwd)"
CONTROL_FILE=$(ls -1 "$PKG_ROOT"/*.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $PKG_ROOT" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
cd "$PKG_ROOT"
TARGET_BIN="packaging/$PACKAGE_NAME/usr/bin/jellyfin-kiosk"
mkdir -p "packaging/$PACKAGE_NAME/usr/bin"
mkdir -p "packaging/$PACKAGE_NAME/etc/jellyfin-client"
mkdir -p "packaging/$PACKAGE_NAME/usr/lib/systemd/system"
RELEASE_BIN="$CLUSTER_ROOT/jellyfin-client/jellyfin-kiosk-rs/target/release/jellyfin-kiosk-rs"
if [ -f "$RELEASE_BIN" ]; then
echo "Copying compiled binary from $RELEASE_BIN to $TARGET_BIN..."
cp -f "$RELEASE_BIN" "$TARGET_BIN"
strip -s "$TARGET_BIN" 2>/dev/null || true
elif [ ! -f "$TARGET_BIN" ]; then
echo "Error: Binary not found at $RELEASE_BIN or $TARGET_BIN" >&2
exit 1
fi
# Copy config example if available
if [ -f "$CLUSTER_ROOT/jellyfin-client/config.yaml" ]; then
cp -f "$CLUSTER_ROOT/jellyfin-client/config.yaml" "packaging/$PACKAGE_NAME/etc/jellyfin-client/config.example.yaml"
elif [ -f "$CLUSTER_ROOT/jellyfin-client/config.example.yaml" ]; then
cp -f "$CLUSTER_ROOT/jellyfin-client/config.example.yaml" "packaging/$PACKAGE_NAME/etc/jellyfin-client/config.example.yaml"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-amd64}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME" -type f -exec chmod 644 {} +
find "packaging/$PACKAGE_NAME/usr/bin" -type f -exec chmod 755 {} + 2>/dev/null || true
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
chmod 644 "packaging/$PACKAGE_NAME/DEBIAN/control" 2>/dev/null || true
if [ -f "packaging/$PACKAGE_NAME/DEBIAN/conffiles" ]; then
chmod 644 "packaging/$PACKAGE_NAME/DEBIAN/conffiles"
fi
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
@@ -0,0 +1,10 @@
Package: jellyfin-kiosk
Version: 0.1.5
Section: video
Maintainer: Bart Meijer <bart@bnhmeijer.nl>
Architecture: amd64
Depends: libmpv2, mpv, yt-dlp
Description: Native Jellyfin HTPC Kiosk client with Yatse and YouTube support
High-performance Rust GUI client for Jellyfin, featuring hardware-accelerated
MPV playback, Yatse Kodi JSON-RPC & EventServer emulation, YouTube sharing receiver,
and TV-friendly interface.
@@ -0,0 +1 @@
/etc/jellyfin-client/config.example.yaml
@@ -0,0 +1,14 @@
#!/bin/sh
set -e
mkdir -p /etc/jellyfin-client
if [ ! -f /etc/jellyfin-client/config.yaml ] && [ -f /etc/jellyfin-client/config.example.yaml ]; then
cp /etc/jellyfin-client/config.example.yaml /etc/jellyfin-client/config.yaml
chmod 644 /etc/jellyfin-client/config.yaml 2>/dev/null || true
fi
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,8 @@
#!/bin/sh
set -e
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,68 @@
# Jellyfin HTPC Client Configuration
jellyfin:
# Base URL of your Jellyfin server (can be internal IP or external domain with HTTPS)
server_url: "http://10.2.0.4:8096/jellyfin"
# Login credentials
username: "bart"
password: "8x5yPgAa"
# Device identification
client_name: "Jellyfin HTPC Client"
device_name: "HTPC Living Room"
device_id: "htpc-living-room-01"
player:
# Path to mpv binary
mpv_path: "mpv"
# MPV IPC socket location
ipc_socket: "/tmp/mpv-jellyfin.sock"
# Video output & hardware decoding
# Options for hwdec: auto, vaapi (Intel/AMD), nvdec (Nvidia), no
hwdec: "auto"
vo: "gpu"
fullscreen: false
# Audio device (use `mpv --audio-device=help` to list devices)
audio_device: "auto"
# Custom MPV arguments
extra_args:
- "--keep-open=yes"
- "--force-window=immediate"
- "--osd-font=sans-serif"
- "--osd-font-size=28"
kodi_rpc:
# Emulated Kodi JSON-RPC interface for Yatse and other Kodi remotes
enabled: true
http_port: 8080
ws_port: 9090
web_api:
# Direct REST API and web sharing page
enabled: true
host: "0.0.0.0"
port: 8097
youtube:
# Maximum resolution preference for YouTube streaming via yt-dlp
max_height: 1080
# Automatically extract metadata (title, uploader) using yt-dlp before playback
fetch_metadata: true
# Google OAuth 2.0 Client ID (Google Cloud Console -> APIs -> Credentials, type: TVs and Limited Input / Desktop)
client_id: "612788493042-0070gm71evodaajv02tcl9kjtk9s76au.apps.googleusercontent.com"
client_secret: "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"
# Pad voor het opslaan van de ingelogde YouTube sessie
token_path: "youtube_token.json"
mqtt:
# Enable MQTT client and Home Assistant auto-discovery
enabled: true
# MQTT broker host/IP
host: "10.2.0.4"
port: 1883
username: ""
password: ""
# Home Assistant MQTT discovery prefix (default: homeassistant)
discovery_prefix: "homeassistant"
# Base topic prefix for state updates and commands
topic_prefix: "jellyfin-kiosk"
@@ -0,0 +1,18 @@
[Unit]
Description=Jellyfin HTPC Kiosk & YouTube Receiver
After=network-online.target sound.target graphical-session.target
Wants=network-online.target
[Service]
Type=simple
User=bart
Environment=DISPLAY=:0
Environment=WAYLAND_DISPLAY=wayland-0
ExecStart=/usr/bin/jellyfin-kiosk
WorkingDirectory=/home/bart
Restart=always
RestartSec=3s
LimitNOFILE=65536
[Install]
WantedBy=default.target
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+62
View File
@@ -0,0 +1,62 @@
#!/usr/bin/env bash
# ==============================================================================
# Update and sign Eendoe APT Repository
# ==============================================================================
set -euo pipefail
REPO_DIR="/sites/repository/binaries"
DISTS_DIR="${REPO_DIR}/dists/stable"
MAIN_DIR="${DISTS_DIR}/main/binary-amd64"
KEY_ID="56499F920639F571"
echo "=== Updating Eendoe APT Repository ==="
cd "$REPO_DIR"
mkdir -p "$MAIN_DIR"
echo "Scanning packages in pool/main..."
dpkg-scanpackages --multiversion pool/main /dev/null > "$MAIN_DIR/Packages"
echo "Compressing Packages..."
gzip -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.gz"
bzip2 -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.bz2"
echo "Generating Release file..."
cd "$DISTS_DIR"
cat << EOF > Release
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: $(date -Ru)
Architectures: amd64 all
Components: main
Description: Eendoe Private APT Package Repository
EOF
add_checksums() {
local algo="$1"
local cmd="$2"
echo "${algo}:" >> Release
for file in main/binary-amd64/Packages main/binary-amd64/Packages.gz main/binary-amd64/Packages.bz2; do
if [ -f "$file" ]; then
local size
size=$(stat -c%s "$file")
local hash
hash=$($cmd "$file" | awk '{print $1}')
printf " %s %16d %s\n" "$hash" "$size" "$file" >> Release
fi
done
}
add_checksums "MD5Sum" "md5sum"
add_checksums "SHA1" "sha1sum"
add_checksums "SHA256" "sha256sum"
echo "Signing Release with GPG key $KEY_ID..."
rm -f Release.gpg InRelease
gpg --batch --yes --default-key "$KEY_ID" --armor --detach-sign -o Release.gpg Release
gpg --batch --yes --default-key "$KEY_ID" --clearsign -o InRelease Release
echo "=== Repository update & signing complete ==="