SPDXVersion: SPDX-2.1 DataLicense: CC0-1.0 SPDXID: SPDXRef-DOCUMENT DocumentName: project DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-bef1392c-fb28-427b-980e-0ca23b338e0c Creator: Person: Anonymous () Creator: Organization: Anonymous () Creator: Tool: reuse-6.1.0 Created: 2026-01-17T18:23:51Z CreatorComment: This document was created automatically using available reuse information consistent with REUSE. Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8aaf5300694bc57ae4232597eaf58bc1 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-998f02fc58fde72b38f0d5f0d48d745d Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-815064397a1c556b789c1a5b185ea0a0 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e038a570cb724e228834dde2ac8d423a Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f693cf91f536886852ea2886ebc46b1d Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f8e8e7357e8e04dbc076ac6c11bd947c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bd4646a9405b5432644bbda12199f5f7 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-629567ee689deaee1e39379832588ab4 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c0e698bf5513863d99de1ea90015dfca Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-70c4e49ae133c3567791a0f197a42af1 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-63f11628153eb59e761ea293422001cb Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8fd32224d080851f7b012a645e7ccf93 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-536f3b7990a1719a7571a8932be33c0d Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d896afa1237180a97d0c362d55ee2ad3 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ac4f098e57811fa4382d076c7dde79d7 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ae39448ad4229f8f72e4d91136911b90 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0455c2777cb87594270a199f5e341c0c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ce2f9ffe71200828656890f09d13befd Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e819d0452ffe4c109b942f261f60651b Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1caf0f063cabaaf283696ac1c76a590c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5154e5261ee990ce68698f7950b0c98a Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-2dc24d435530b511fda5ff52b78e61d7 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-33ff8e727c9857bc2a7c5b9935687a3b Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-2b82d9e8a7d66b84254e7509666a2b4e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1582ef5578cd59fbc9560fe40e6dfdb5 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a11aa433d3f6b147ce322ff767c99f5c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-01b136a382e3d3ea2f42e92586497432 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-4919f5f9d2b8d170e915075c8d14d07b Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-04e5339f977a4e0bf9b7947ae4bafcac Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d779d02598b92d4347404026b6535c04 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-986871ede40c8907a3532fab5c48f9a4 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a4093ef69cb5369c9afb09bbb812ea33 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6569e8a662f08f2c27b03792faf0b40c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b7f7b86ae8842404047c8143e1841adf Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-dcc1e1e5ca1e1ec831eac972e4cc7f7e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3585727ff8863caad532eaf446989157 FileName: ./.claude/skills/README.md SPDXID: SPDXRef-8aaf5300694bc57ae4232597eaf58bc1 FileChecksum: SHA1: 74f33f010ef317e1966836480ffc8cbba1e705ac LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/determining-git-commit-messages/SKILL.md SPDXID: SPDXRef-998f02fc58fde72b38f0d5f0d48d745d FileChecksum: SHA1: 4bf26c1f20fe32b2017b54cb2ce480f646469794 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/developing-ansible-playbooks/SKILL.md SPDXID: SPDXRef-815064397a1c556b789c1a5b185ea0a0 FileChecksum: SHA1: 0ca6bdc4de9c626749cbaa9050ff0e28db6ae601 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/developing-bash-scripts/SKILL.md SPDXID: SPDXRef-e038a570cb724e228834dde2ac8d423a FileChecksum: SHA1: 2dd60c6b26ab992c82b801104fa906fd0907cb63 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/developing-bash-scripts/template.sh SPDXID: SPDXRef-f693cf91f536886852ea2886ebc46b1d FileChecksum: SHA1: c798a0007329c2acd7364ff9071f8f1507910abd LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright _copyright_effective_year_ _copyright_holder_name_ <_copyright_holder_contact_> FileName: ./.claude/skills/searching-ubuntu-packages/SKILL.md SPDXID: SPDXRef-f8e8e7357e8e04dbc076ac6c11bd947c FileChecksum: SHA1: 6b4ab8c2d72c6baa5e075c566c3760cbfb08683f LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/searching-ubuntu-packages/identify-ubuntu-release-codename-from-version.md SPDXID: SPDXRef-bd4646a9405b5432644bbda12199f5f7 FileChecksum: SHA1: 700239d33334322839819b4b5e00bb4dee65b6e6 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/searching-ubuntu-packages/search-ubuntu-package-by-filename.md SPDXID: SPDXRef-629567ee689deaee1e39379832588ab4 FileChecksum: SHA1: 1518e2d35281f6f6273da9935446371325f4f117 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.claude/skills/searching-ubuntu-packages/search-ubuntu-package-name-by-package-name.md SPDXID: SPDXRef-c0e698bf5513863d99de1ea90015dfca FileChecksum: SHA1: 099703033a411f958ebd618c553b4afa44623911 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.editorconfig SPDXID: SPDXRef-70c4e49ae133c3567791a0f197a42af1 FileChecksum: SHA1: c018ef3aa9e572f2153491481b4663f52e30bc57 LicenseConcluded: NOASSERTION LicenseInfoInFile: WTFPL FileCopyrightText: Copyright 2021 林博仁(Buo-ren, Lin) FileName: ./.gitattributes SPDXID: SPDXRef-63f11628153eb59e761ea293422001cb FileChecksum: SHA1: 57cce264752ff2838e20e7ae3ab253af950673e0 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.github/workflows/README.md SPDXID: SPDXRef-8fd32224d080851f7b012a645e7ccf93 FileChecksum: SHA1: 9d151e013d56ae3168718e6851b7aa96259d49f0 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./.github/workflows/check-potential-problems.yml SPDXID: SPDXRef-536f3b7990a1719a7571a8932be33c0d FileChecksum: SHA1: 0647e3341aaf5c93736a631ab863cd0265b64d00 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.github/workflows/release.yml SPDXID: SPDXRef-d896afa1237180a97d0c362d55ee2ad3 FileChecksum: SHA1: a1da36d4ed6b2841f76360d1abd83adaaca9c83b LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.gitignore SPDXID: SPDXRef-ac4f098e57811fa4382d076c7dde79d7 FileChecksum: SHA1: 1561b1ac2ecd9effb31370ea2d958c75ff59d8fd LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2022 林博仁(Buo-ren, Lin) FileName: ./.gitlab-ci.yml SPDXID: SPDXRef-ae39448ad4229f8f72e4d91136911b90 FileChecksum: SHA1: f81152c4d1b2f53c77688939549215c9ee5cbbfe LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.gitmodules SPDXID: SPDXRef-0455c2777cb87594270a199f5e341c0c FileChecksum: SHA1: e8685d141b9ee8440b27343d9c704526a253122f LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.markdownlint.yml SPDXID: SPDXRef-ce2f9ffe71200828656890f09d13befd FileChecksum: SHA1: ae78a301a8f39cb5e34eca04e81b74bc8d0c0a6a LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./.pre-commit-config.yaml SPDXID: SPDXRef-e819d0452ffe4c109b942f261f60651b FileChecksum: SHA1: ae71580ea9de640027bfe3643efd9e75f1826eb2 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2025 林博仁(Buo-ren Lin) FileName: ./.shellcheckrc SPDXID: SPDXRef-1caf0f063cabaaf283696ac1c76a590c FileChecksum: SHA1: 1a0742d66206611670ccf702f9886b54e4f39dfd LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: Copyright 2025 林博仁(Buo-ren Lin) FileName: ./.yamllint SPDXID: SPDXRef-5154e5261ee990ce68698f7950b0c98a FileChecksum: SHA1: 1e3b97f7ced33a56a979db4f0768416c21c27e12 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2021 林博仁(Buo-ren, Lin) FileName: ./AGENTS.md SPDXID: SPDXRef-2dc24d435530b511fda5ff52b78e61d7 FileChecksum: SHA1: 6bbd34cc3a50253d0be4eb76c7cf1c395e6ac5c0 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./README.md SPDXID: SPDXRef-33ff8e727c9857bc2a7c5b9935687a3b FileChecksum: SHA1: 0eb68876dc017365b7f65eaecfb8fd1f9ed6638c LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./continuous-integration/create-gitlab-release.sh SPDXID: SPDXRef-2b82d9e8a7d66b84254e7509666a2b4e FileChecksum: SHA1: de323a193e05224fbcade0b491c44306610bdecb LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/do-static-analysis.install-system-deps.sh SPDXID: SPDXRef-1582ef5578cd59fbc9560fe40e6dfdb5 FileChecksum: SHA1: b86cfb614598ec92de796d42b9f1c22030f1ca4b LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/do-static-analysis.sh SPDXID: SPDXRef-a11aa433d3f6b147ce322ff767c99f5c FileChecksum: SHA1: df73dd9fdb8309ae7ef95a25e62e22e3ec6cad7e LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/generate-build-artifacts.install-system-deps.sh SPDXID: SPDXRef-01b136a382e3d3ea2f42e92586497432 FileChecksum: SHA1: a84f33d43bf579ebc72b482d21ccf4623afbdef1 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/generate-build-artifacts.sh SPDXID: SPDXRef-4919f5f9d2b8d170e915075c8d14d07b FileChecksum: SHA1: 9a13253630957d868412d188357c201e6d0804bb LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/generate-release-description.sh SPDXID: SPDXRef-04e5339f977a4e0bf9b7947ae4bafcac FileChecksum: SHA1: 633fae95018e164abf32db575abee4c17a13f608 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/patch-github-actions-sudo-security-policy.sh SPDXID: SPDXRef-d779d02598b92d4347404026b6535c04 FileChecksum: SHA1: b9d56bc877ec1537be0bd8c8da1d43120d4c2edc LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/sudoers.d/90_allow_github_actions_default_envvars.sudoers SPDXID: SPDXRef-986871ede40c8907a3532fab5c48f9a4 FileChecksum: SHA1: ab8894fa020fceefab2cd598a796e9ffd6c32302 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./continuous-integration/sudoers.d/README.md SPDXID: SPDXRef-a4093ef69cb5369c9afb09bbb812ea33 FileChecksum: SHA1: bd347f52a5b7d9aa9c592e8f4bbd0d0503717358 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./continuous-integration/upload-gitlab-generic-packages.sh SPDXID: SPDXRef-6569e8a662f08f2c27b03792faf0b40c FileChecksum: SHA1: 8155ba94f0f1455da0cbacbb3478c6f7cbcc1c12 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0 FileCopyrightText: Copyright 2024 林博仁(Buo-ren Lin) FileName: ./dev-assets/README.md SPDXID: SPDXRef-b7f7b86ae8842404047c8143e1841adf FileChecksum: SHA1: ef30dd0668d95e48db6f7aefeb16b60582df6ee6 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: SPDX-FileCopyrightText: 2026 林博仁(Buo-ren Lin) FileName: ./dev-assets/deploy-development-environment.sh SPDXID: SPDXRef-dcc1e1e5ca1e1ec831eac972e4cc7f7e FileChecksum: SHA1: a516648ca8e2713bd25a29619fe43931183c8ca8 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: Copyright 2025 林博仁(Buo-ren Lin) FileName: ./dev-assets/functions.sh SPDXID: SPDXRef-3585727ff8863caad532eaf446989157 FileChecksum: SHA1: 3093e73f7327b8ce0e3dfdf01f1b625f4d33e52f LicenseConcluded: NOASSERTION LicenseInfoInFile: CC-BY-SA-4.0+ FileCopyrightText: Copyright 2025 林博仁(Buo-ren Lin)