Compare commits

..

2 Commits

Author SHA1 Message Date
Owen-sz 67a5a9065b test: bump alipad and see if riscv64 builds
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-03-06 23:48:20 -08:00
Owen-sz c9eaea7539 feat: add riscv64 runners
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-03-06 23:47:13 -08:00
1436 changed files with 9242 additions and 22586 deletions
+3
View File
@@ -2,6 +2,9 @@
"name": "Terra Devcontainer", "name": "Terra Devcontainer",
"image": "ghcr.io/terrapkg/builder:frawhide", "image": "ghcr.io/terrapkg/builder:frawhide",
"runArgs": ["--privileged"], "runArgs": ["--privileged"],
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"customizations": { "customizations": {
"vscode": { "vscode": {
"extensions": [ "extensions": [
-1
View File
@@ -29,7 +29,6 @@ body:
description: Which version of Terra are you using? description: Which version of Terra are you using?
options: options:
- frawhide - frawhide
- f44
- f43 - f43
- f42 - f42
- el10 - el10
-8
View File
@@ -1,8 +0,0 @@
version: 2
updates:
# Maintain GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
+35 -53
View File
@@ -3,9 +3,6 @@
name: Automatically build packages name: Automatically build packages
permissions: permissions:
contents: read contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
push: push:
paths: paths:
@@ -33,7 +30,7 @@ jobs:
- name: Set workspace as safe - name: Set workspace as safe
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Generate build matrix - name: Generate build matrix
@@ -54,12 +51,11 @@ jobs:
image: ghcr.io/terrapkg/appstream-generator:main image: ghcr.io/terrapkg/appstream-generator:main
steps: steps:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 uses: actions/download-artifact@v8
with: with:
merge-multiple: true merge-multiple: true
path: ./artifacts path: ./artifacts
- name: Generate test catalog - name: Generate test catalog
id: catalog
# run appstream-builder, then add step summary # run appstream-builder, then add step summary
run: | run: |
set -x set -x
@@ -75,64 +71,50 @@ jobs:
--veto-ignore=missing-info 2>&1 | tee asb.log --veto-ignore=missing-info 2>&1 | tee asb.log
- name: Run appstreamcli validate - name: Run appstreamcli validate
if: steps.catalog.outcome == 'success'
run: | run: |
if stat output/test.xml.gz &>/dev/null; then echo "## AppStream MetaInfo Validation" >> $GITHUB_STEP_SUMMARY
echo "## AppStream MetaInfo Validation" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
for file in output/test.xml.gz; do
appstreamcli validate $file >> $GITHUB_STEP_SUMMARY || true
echo "" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY done
appstreamcli validate output/test.xml.gz >> $GITHUB_STEP_SUMMARY | true echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
else
echo "Nothing to do."
fi
- name: Export logs - name: Export logs
id: export_logs id: export_logs
if: steps.catalog.outcome == 'success'
run: | run: |
if stat output/*.xml.gz &>/dev/null; then echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY
echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY echo '```log' >> $GITHUB_STEP_SUMMARY
echo '```log' >> $GITHUB_STEP_SUMMARY cat asb.log >> $GITHUB_STEP_SUMMARY
cat asb.log >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY echo '---' >> $GITHUB_STEP_SUMMARY
echo '---' >> $GITHUB_STEP_SUMMARY
else
echo "Nothing to do."
fi
- name: Report Summary - name: Report Summary
id: report_summary id: report_summary
if: steps.export_logs.outcome == 'success'
run: | run: |
echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
if stat output/*.xml.gz &>/dev/null; then if grep -q "veto" asb.log; then
if grep -q "veto" asb.log; then echo "::group::Vetoed packages"
echo "::group::Vetoed packages" echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details."
echo "::endgroup::"
fi
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY echo '```xml' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY
for file in output/*.xml.gz; do echo '```' >> $GITHUB_STEP_SUMMARY
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details."
echo "" >> $GITHUB_STEP_SUMMARY echo "::endgroup::"
echo '```xml' >> $GITHUB_STEP_SUMMARY
zcat "$file" >> $GITHUB_STEP_SUMMARY || true
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
done
else
echo "No appstream files found." >> $GITHUB_STEP_SUMMARY
fi fi
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
for file in output/*.xml.gz; do
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
zcat "$file" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
done
+6 -25
View File
@@ -1,9 +1,6 @@
name: Bootstrap Andaman and Subatomic name: Bootstrap Andaman and Subatomic
permissions: permissions:
contents: read contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_dispatch: workflow_dispatch:
@@ -12,7 +9,7 @@ jobs:
strategy: strategy:
matrix: matrix:
version: ["rawhide"] version: ["rawhide"]
arch: ["x86_64", "aarch64"] arch: ["x86_64", "aarch64", "riscv64"]
fail-fast: true fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }} runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
container: container:
@@ -24,20 +21,11 @@ jobs:
dnf5 swap -y --setopt=install_weak_deps=False systemd-standalone-sysusers systemd dnf5 swap -y --setopt=install_weak_deps=False systemd-standalone-sysusers systemd
dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - uses: actions/checkout@v6
with: with:
ref: f${{ matrix.version }} ref: f${{ matrix.version }}
fetch-depth: 1 fetch-depth: 1
- name: Setup build environment
run: |
sed -i 's/.fc%{fedora}/.fcrawhide/g' /usr/lib/rpm/macros.d/macros.dist
cat<<EOF >> /etc/dnf/dnf.conf
gpgcheck=1
install_weak_deps=0
max_parallel_downloads=20
EOF
- name: Build anda-srpm-macros - name: Build anda-srpm-macros
run: | run: |
mkdir -p anda-build/rpm/rpms mkdir -p anda-build/rpm/rpms
@@ -46,11 +34,11 @@ jobs:
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Install build dependencies - name: Install build dependencies
run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros,appstream-helper}/*.spec anda/{buildsys/anda,tools/subatomic}/*.spec run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
- name: Install Anda - name: Install Anda
run: | run: |
rpmbuild -bb anda/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/" rpmbuild -bb anda/tools/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/tools/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/ mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
@@ -70,12 +58,12 @@ jobs:
run: anda build -D "vendor Terra" -D "__python %{__python3}" -rrpmbuild anda/terra/appstream-helper/pkg run: anda build -D "vendor Terra" -D "__python %{__python3}" -rrpmbuild anda/terra/appstream-helper/pkg
- name: Build Subatomic - name: Build Subatomic
run: anda build -D "vendor Terra" -rrpmbuild anda/tools/subatomic/pkg run: anda build -D "vendor Terra" -rrpmbuild anda/tools/buildsys/subatomic/pkg
- name: Install Subatomic - name: Install Subatomic
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- name: Tidy up output directory - name: Tidy up output directory
run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64} | true run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64,riscv64} | true
- name: Upload packages to subatomic - name: Upload packages to subatomic
run: | run: |
@@ -91,10 +79,3 @@ jobs:
--server https://subatomic.fyralabs.com \ --server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \ --token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}-source anda-build/rpm/srpm/* terra${{ matrix.version }}-source anda-build/rpm/srpm/*
- name: Attest build provenance
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-path: |
anda-build/rpm/rpms/*
anda-build/rpm/srpm/*
+2 -5
View File
@@ -1,9 +1,6 @@
name: Manual Builds name: Manual Builds
permissions: permissions:
contents: read contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
@@ -32,7 +29,7 @@ jobs:
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup Git - name: Setup Git
@@ -50,7 +47,7 @@ jobs:
git commit -a -m "tmp" git commit -a -m "tmp"
b=$(anda ci | sed -E 's@^build_matrix=@@') b=$(anda ci | sed -E 's@^build_matrix=@@')
if [ "${{ inputs.architecture }}" != "" ]; then if [ "${{ inputs.architecture }}" != "" ]; then
# e.g.: [ unique_by(.pkg)[] | (.arch="x86_64", .arch="aarch64") ] # e.g.: [ unique_by(.pkg)[] | (.arch="x86_64", .arch="aarch64", .arch="riscv64") ]
filter=`echo -n "${{ inputs.architecture }}" | tr '[:space:]' '\n' | sed -E '/^$/d; s@^.+$@.arch="\0"@' | tr '\n' ', '` filter=`echo -n "${{ inputs.architecture }}" | tr '[:space:]' '\n' | sed -E '/^$/d; s@^.+$@.arch="\0"@' | tr '\n' ', '`
b=`echo $b | jq -c '[unique_by(.pkg)[] | ('"$filter"')]'` b=`echo $b | jq -c '[unique_by(.pkg)[] | ('"$filter"')]'`
elif [ "${{ inputs.custom_builder }}" != "" ]; then elif [ "${{ inputs.custom_builder }}" != "" ]; then
+5 -16
View File
@@ -1,9 +1,6 @@
name: JSON Build name: JSON Build
permissions: permissions:
contents: read contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_call: workflow_call:
inputs: inputs:
@@ -45,13 +42,13 @@ jobs:
pkg: ${{ fromJson(inputs.packages) }} pkg: ${{ fromJson(inputs.packages) }}
version: ["rawhide"] version: ["rawhide"]
fail-fast: false fail-fast: false
runs-on: ${{ inputs.custom_builder && inputs.custom_builder || (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && format('cirun-arm64-lg--{0}', github.run_id) || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && format('cirun-x86-64-lg--{0}', github.run_id) || 'ubuntu-22.04' }} runs-on: ${{ inputs.custom_builder && inputs.custom_builder || (matrix.pkg.arch == 'riscv64' && 'milkv-pioneer') || (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && format('cirun-x86-64-lg--{0}', github.run_id) || 'ubuntu-22.04' }}
container: container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }} image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -61,7 +58,7 @@ jobs:
- name: Configure sccache - name: Configure sccache
id: sccache id: sccache
if: ${{ !contains(matrix.pkg.labels.sccache, '0') }} if: ${{ !contains(matrix.pkg.labels.sccache, '0') }}
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 uses: actions/github-script@v8
env: env:
SCCACHE_GHA_VERSION: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }} SCCACHE_GHA_VERSION: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
SCCACHE_GHA_CACHE_FROM: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }} SCCACHE_GHA_CACHE_FROM: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
@@ -89,7 +86,7 @@ jobs:
- name: Report Cache Summary - name: Report Cache Summary
if: steps.sccache.outcome == 'success' if: steps.sccache.outcome == 'success'
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 uses: actions/github-script@v8
with: with:
script: | script: |
const script = require('./.github/scripts/sccache-stats.js') const script = require('./.github/scripts/sccache-stats.js')
@@ -102,7 +99,7 @@ jobs:
x=${NAME//\//@} x=${NAME//\//@}
echo "name=$x" >> $GITHUB_OUTPUT echo "name=$x" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 - uses: actions/upload-artifact@v7
with: with:
name: ${{ steps.art.outputs.name }} name: ${{ steps.art.outputs.name }}
compression-level: 0 # The RPMs are already compressed :p compression-level: 0 # The RPMs are already compressed :p
@@ -128,14 +125,6 @@ jobs:
--token ${{ secrets.SUBATOMIC_TOKEN }} \ --token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/* terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
- name: Attest build provenance
if: inputs.publish
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-path: |
anda-build/rpm/rpms/*
anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success) - name: Notify Madoguchi (Success)
if: inputs.publish && success() if: inputs.publish && success()
run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA" run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
-78
View File
@@ -1,78 +0,0 @@
# This workflow uses actions that are not certified by GitHub. They are provided
# by a third-party and are governed by separate terms of service, privacy
# policy, and support documentation.
name: Scorecard supply-chain security
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '43 13 * * 2'
push:
branches: [ "frawhide" ]
# Declare default permissions as read only.
permissions: read-all
jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
# `publish_results: true` only works when run from the default branch. conditional can be removed if disabled.
if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request'
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write
# Uncomment the permissions below if installing in a private repository.
# contents: read
# actions: read
steps:
- name: "Checkout code"
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
with:
results_file: results.sarif
results_format: sarif
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
# - you want to enable the Branch-Protection check on a *public* repository, or
# - you are installing Scorecard on a *private* repository
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
# Public repositories:
# - Publish results to OpenSSF REST API for easy access by consumers
# - Allows the repository to include the Scorecard badge.
# - See https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories:
# - `publish_results` will always be set to `false`, regardless
# of the value entered here.
publish_results: true
# (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore
# file_mode: git
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: SARIF file
path: results.sarif
retention-days: 5
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with:
sarif_file: results.sarif
+3 -5
View File
@@ -1,15 +1,13 @@
name: Automatic backport/sync action name: Automatic backport/sync action
permissions: permissions:
contents: read contents: write
pull-requests: write
on: on:
pull_request_target: pull_request_target:
types: ["labeled", "closed"] types: ["labeled", "closed"]
jobs: jobs:
backport: backport:
permissions:
contents: write
pull-requests: write
name: Backport/sync PR name: Backport/sync PR
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
if: github.event.pull_request.merged if: github.event.pull_request.merged
@@ -27,7 +25,7 @@ jobs:
git config --global commit.gpgsign true git config --global commit.gpgsign true
- name: Backport Action - name: Backport Action
uses: sorenlouv/backport-github-action@8a6c0381851f43f9f1fddc7303f0e9015eb57b62 # v12.0.4 uses: sorenlouv/backport-github-action@v10.2.0
with: with:
github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }} github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }}
auto_backport_label_prefix: sync- auto_backport_label_prefix: sync-
+2 -4
View File
@@ -1,6 +1,6 @@
name: Update per branch name: Update per branch
permissions: permissions:
contents: read contents: write
on: on:
schedule: schedule:
- cron: "*/30 * * * *" - cron: "*/30 * * * *"
@@ -8,8 +8,6 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions:
contents: write
runs-on: ubuntu-24.04-arm runs-on: ubuntu-24.04-arm
strategy: strategy:
matrix: matrix:
@@ -24,7 +22,7 @@ jobs:
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
ref: ${{ matrix.branch }} ref: ${{ matrix.branch }}
fetch-depth: 0 fetch-depth: 0
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
container: container:
image: ghcr.io/terrapkg/builder:frawhide image: ghcr.io/terrapkg/builder:frawhide
steps: steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - uses: actions/checkout@v6
- name: Push to subatomic - name: Push to subatomic
run: | run: |
branch=${{ github.ref_name }} branch=${{ github.ref_name }}
+2 -4
View File
@@ -1,6 +1,6 @@
name: Nightly Update name: Nightly Update
permissions: permissions:
contents: read contents: write
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * *"
@@ -8,15 +8,13 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions:
contents: write
runs-on: ubuntu-24.04-arm runs-on: ubuntu-24.04-arm
container: container:
image: ghcr.io/terrapkg/builder:frawhide image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
+2 -4
View File
@@ -1,6 +1,6 @@
name: Weekly Update name: Weekly Update
permissions: permissions:
contents: read contents: write
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * *"
@@ -8,15 +8,13 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions:
contents: write
runs-on: ubuntu-24.04-arm runs-on: ubuntu-24.04-arm
container: container:
image: ghcr.io/terrapkg/builder:frawhide image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
+2 -4
View File
@@ -1,6 +1,6 @@
name: Update name: Update
permissions: permissions:
contents: read contents: write
on: on:
schedule: schedule:
- cron: "*/10 * * * *" - cron: "*/10 * * * *"
@@ -8,15 +8,13 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions:
contents: write
runs-on: ubuntu-24.04-arm runs-on: ubuntu-24.04-arm
container: container:
image: ghcr.io/terrapkg/builder:frawhide image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
-1
View File
@@ -6,4 +6,3 @@ anda-build/
**/*.nupkg **/*.nupkg
**/*.rpm **/*.rpm
**/*.kate-swp **/*.kate-swp
**/.DS_Store
+10 -12
View File
@@ -1,19 +1,17 @@
# Terra Sources # Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide) [![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/terrapkg/packages/badge)](https://scorecard.dev/viewer/?uri=github.com/terrapkg/packages)
Terra is a rolling-release Fedora repository for all the software you need. Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured. With Terra, you can install the latest packages knowing that quality and security are assured.
See the introduction at [our website](https://terrapkg.com). See the introduction at [our website](https://terra.fyralabs.com).
This monorepo contains the package manifests for all packages in Terra. This monorepo contains the package manifests for all packages in Terra.
## Installation ## Installation
The latest detailed instructions are available in our docs: https://docs.terrapkg.com/usage/installing The latest detailed instructions are available in our Devdocs: https://developer.fyralabs.com/terra/installing
### Fedora ### Fedora
@@ -34,7 +32,7 @@ On Fedora, you can optionally install the Terra subrepos. Extra care and caution
- Install `terra-release-extras` to enable the Extras subrepo. This repo contains packages which conflict with Fedora packages in some way, such as being a patched version of the same package. - Install `terra-release-extras` to enable the Extras subrepo. This repo contains packages which conflict with Fedora packages in some way, such as being a patched version of the same package.
- Install `terra-release-mesa` to install the Mesa subrepo which contains a patched and codec complete Mesa. - Install `terra-release-mesa` to install the Mesa subrepo which contains a patched and codec complete Mesa.
- Install `terra-release-nvidia` to install the NVIDIA subrepo which contains NVIDIA drivers. - Install `terra-release-nvidia` to install the NVIDIA subrepo which contains NVIDIA drivers.
- Install `terra-release-multimedia` for multimedia packages in Terra. **This repository is currently considered unstable and a work in progress.** - Install `terra-release-multimedia` for multimedia packages in Terra. This repository is currently considered a work in progress.
### Enterprise Linux (EL) ### Enterprise Linux (EL)
@@ -56,13 +54,13 @@ sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/t
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/). First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
- [Contribution Guide](https://docs.terrapkg.com/contributing/getting-started) - [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://docs.terrapkg.com/reference/faq) - [FAQ](https://developer.fyralabs.com/terra/faq)
- [Guidelines](https://docs.terrapkg.com/contributing/guidelines) - [Guidelines](https://developer.fyralabs.com/terra/guidelines)
## Documentation ## Documentation
Our documentation can be found on our [docs site](https://docs.terrapkg.com). Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
## Searching Packages ## Searching Packages
@@ -72,6 +70,6 @@ Our documentation can be found on our [docs site](https://docs.terrapkg.com).
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help! Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
- [Contribution Guide](https://docs.terrapkg.com/contributing/getting-started) - [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://docs.terrapkg.com/reference/faq) - [FAQ](https://developer.fyralabs.com/terra/faq)
- [Guidelines](https://docs.terrapkg.com/contributing/guidelines) - [Guidelines](https://developer.fyralabs.com/terra/guidelines)
@@ -1,49 +0,0 @@
%global debug_package %{nil}
%ifarch x86_64
%global op_arch amd64
%elifarch aarch64
%global op_arch arm64
%endif
Name: 1password-cli
Version: 2.34.1
Release: 1%{?dist}
Summary: 1Password command-line tool
Packager: Cappy Ishihara <cappy@fyralabs.com>
License: LicenseRef-1Password-Proprietary
URL: https://developer.1password.com/docs/cli/
Source0: https://cache.agilebits.com/dist/1P/op2/pkg/v%{version}/op_linux_%{op_arch}_v%{version}.zip
Source1: 1password-cli.sysusers
ExclusiveArch: x86_64 aarch64
BuildRequires: systemd-rpm-macros
BuildRequires: unzip
Recommends: 1password
Recommends: polkit
%description
1Password CLI brings 1Password to your terminal.
%prep
%autosetup -c
%build
%install
install -Dm0755 op %{buildroot}%{_bindir}/op
chmod 2755 %{buildroot}%{_bindir}/op
install -Dm0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf
%pre
%sysusers_create_package %{name} %{SOURCE1}
%files
%attr(2755,root,onepassword-cli) %{_bindir}/op
%{_sysusersdir}/%{name}.conf
%changelog
* Fri Jun 19 2026 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Package
@@ -1 +0,0 @@
g onepassword-cli -
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64", "aarch64"]
rpm {
spec = "1password-cli.spec"
}
}
-37
View File
@@ -1,37 +0,0 @@
let html = get("https://app-updates.agilebits.com/product_history/CLI2");
let versions = [];
for matches in find_all(`op_linux_amd64_v([\d]+\.[\d]+\.[\d]+)\.zip`, html) {
versions += matches[1];
}
versions.dedup();
let latest = "";
let latest_major = 0;
let latest_minor = 0;
let latest_patch = 0;
for version in versions {
let parts = version.split(".");
let major = parts[0].parse_int();
let minor = parts[1].parse_int();
let patch = parts[2].parse_int();
if latest == "" ||
major > latest_major ||
major == latest_major && minor > latest_minor ||
major == latest_major && minor == latest_minor && patch > latest_patch {
latest = version;
latest_major = major;
latest_minor = minor;
latest_patch = patch;
}
}
if latest == "" {
print("E: no 1Password CLI version found");
terminate();
}
rpm.version(latest);
-133
View File
@@ -1,133 +0,0 @@
%global debug_package %{nil}
%global policy_owners unix-group:wheel
%global appdir %{_datadir}/1password
# Exclude private Electron libraries bundled in the app payload.
%global __provides_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so
%global __requires_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so
%ifarch x86_64
%global tararch x64
%elifarch aarch64
%global tararch arm64
%endif
Name: 1password
Version: 8.12.24
Release: 3%{?dist}
Summary: Password manager and secure wallet
Packager: Cappy Ishihara <cappy@fyralabs.com>
License: LicenseRef-1Password-Proprietary
URL: https://1password.com
Source0: https://downloads.1password.com/linux/tar/stable/%{_arch}/%{name}-%{version}.%{tararch}.tar.gz
Source1: https://downloads.1password.com/linux/tar/stable/%{_arch}/%{name}-%{version}.%{tararch}.tar.gz.sig
Source2: 1password.sysusers
ExclusiveArch: x86_64 aarch64
BuildRequires: desktop-file-utils
BuildRequires: systemd-rpm-macros
Requires: desktop-file-utils
Requires: gtk3
Requires: hicolor-icon-theme
Requires: nss
Requires: polkit
Requires: xdg-utils
Requires(post): /usr/bin/chown
Requires(post): /usr/bin/chmod
%description
%{summary}
%prep
%autosetup -n %{name}-%{version}.%{tararch}
%build
%install
# Install icons
install -Dm0644 resources/icons/hicolor/32x32/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/
install -Dm0644 resources/icons/hicolor/64x64/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/
install -Dm0644 resources/icons/hicolor/256x256/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
install -Dm0644 resources/icons/hicolor/512x512/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/
sed 's|${POLICY_OWNERS}|%{policy_owners}|g' \
com.1password.1Password.policy.tpl > com.1password.1Password.policy
install -Dm0644 com.1password.1Password.policy -t %{buildroot}%{_datadir}/polkit-1/actions/
install -Dm0644 resources/custom_allowed_browsers -t %{buildroot}%{_sysconfdir}/1password/
install -Dm0644 resources/custom_allowed_browsers -t %{buildroot}%{_datadir}/doc/1password/examples/
sed -i 's|^Exec=/opt/1Password/1password|Exec=%{_bindir}/1password|' resources/1password.desktop
desktop-file-install --dir=%{buildroot}%{_datadir}/applications resources/1password.desktop
install -Dm0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf
# Install application payload under /usr for immutable-system compatibility.
mkdir -p %{buildroot}%{appdir}
cp -a . %{buildroot}%{appdir}/
rm -f %{buildroot}%{appdir}/com.1password.1Password.policy \
%{buildroot}%{appdir}/com.1password.1Password.policy.tpl \
%{buildroot}%{appdir}/after-install.sh \
%{buildroot}%{appdir}/after-remove.sh \
%{buildroot}%{appdir}/install.sh \
%{buildroot}%{appdir}/install_biometrics_policy.sh
mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_libexecdir}
ln -sr %{buildroot}%{appdir}/%{name} %{buildroot}%{_bindir}/%{name}
ln -sr %{buildroot}%{appdir}/1Password-Crash-Handler %{buildroot}%{_libexecdir}/1Password-Crash-Handler
ln -sr %{buildroot}%{appdir}/1Password-BrowserSupport %{buildroot}%{_libexecdir}/1Password-BrowserSupport
ln -sr %{buildroot}%{appdir}/1Password-LastPass-Exporter %{buildroot}%{_libexecdir}/1Password-LastPass-Exporter
ln -sr %{buildroot}%{appdir}/op-ssh-sign %{buildroot}%{_libexecdir}/op-ssh-sign
chmod 4755 %{buildroot}%{appdir}/chrome-sandbox
chmod 2755 %{buildroot}%{appdir}/1Password-BrowserSupport
if [ -f %{buildroot}%{appdir}/onepassword-mcp ]; then
ln -sr %{buildroot}%{appdir}/onepassword-mcp %{buildroot}%{_libexecdir}/onepassword-mcp
chmod 2755 %{buildroot}%{appdir}/onepassword-mcp
fi
find %{buildroot}%{appdir} -type f \
! -name chrome-sandbox \
! -name 1Password-Crash-Handler \
! -name 1Password-BrowserSupport \
! -name 1Password-LastPass-Exporter \
! -name op-ssh-sign \
! -name onepassword-mcp \
-printf '/%%P\n' | sed "s|^/|%{appdir}/|" > app.files
%pre
%sysusers_create_package %{name} %{SOURCE2}
%post
/usr/bin/chown root:onepassword %{appdir}/1Password-BrowserSupport
/usr/bin/chmod 2755 %{appdir}/1Password-BrowserSupport
/usr/bin/chown root:onepassword-mcp %{appdir}/onepassword-mcp
/usr/bin/chmod 2755 %{appdir}/onepassword-mcp
%files -f app.files
%{_bindir}/%{name}
%{_libexecdir}/1Password-Crash-Handler
%{_libexecdir}/1Password-BrowserSupport
%{_libexecdir}/1Password-LastPass-Exporter
%{_libexecdir}/op-ssh-sign
%{_libexecdir}/onepassword-mcp
%dir %{appdir}
%attr(4755,root,root) %{appdir}/chrome-sandbox
%{appdir}/1Password-Crash-Handler
%{appdir}/1Password-BrowserSupport
%{appdir}/1Password-LastPass-Exporter
%{appdir}/op-ssh-sign
%{appdir}/onepassword-mcp
%{_datadir}/icons/hicolor/32x32/apps/1password.png
%{_datadir}/icons/hicolor/64x64/apps/1password.png
%{_datadir}/icons/hicolor/256x256/apps/1password.png
%{_datadir}/icons/hicolor/512x512/apps/1password.png
%{_datadir}/applications/%{name}.desktop
%{_datadir}/polkit-1/actions/com.1password.1Password.policy
%{_sysusersdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/1password/custom_allowed_browsers
%{_datadir}/doc/1password/
%changelog
* Fri Jun 19 2026 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Package
-2
View File
@@ -1,2 +0,0 @@
g onepassword 5010
g onepassword-mcp 5011
-7
View File
@@ -1,7 +0,0 @@
project pkg {
arches = ["x86_64", "aarch64"]
rpm {
spec = "1password.spec"
}
}
-36
View File
@@ -1,36 +0,0 @@
let xml = get("https://releases.1password.com/linux/stable/index.xml");
let latest = "";
let latest_major = 0;
let latest_minor = 0;
let latest_patch = 0;
for title in find_all(`<title>[^<]*</title>`, xml) {
let matches = find_all(`[\d]+\.[\d]+\.[\d]+`, title[0]);
if matches.len() == 0 {
continue;
}
let version = matches[0][0];
let parts = version.split(".");
let major = parts[0].parse_int();
let minor = parts[1].parse_int();
let patch = parts[2].parse_int();
if latest == "" ||
major > latest_major ||
major == latest_major && minor > latest_minor ||
major == latest_major && minor == latest_minor && patch > latest_patch {
latest = version;
latest_major = major;
latest_minor = minor;
latest_patch = patch;
}
}
if latest == "" {
print("E: no 1Password version found");
terminate();
}
rpm.version(latest);
@@ -1,128 +0,0 @@
%global pypi_name arctis-sound-manager
%global _desc Linux GUI for SteelSeries Arctis headsets Nova Pro Wireless & Wired, Nova Pro Omni, Nova Elite, Nova 7/7P/5/3, Arctis 7/7+/9/Pro Wireless. Device settings, Sonar EQ, 4-channel Game/Chat/Media mixer, PipeWire routing.
%global arctis_sound_manager_services arctis-manager.service arctis-video-router.service arctis-gui.service
Name: python-%{pypi_name}
Version: 1.1.85
Release: 1%{?dist}
Summary: GUI for SteelSeries Arctis headsets
License: GPL-3.0-or-later
# GitHub pages URL 404s
URL: https://github.com/loteran/Arctis-Sound-Manager
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-wheel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
BuildRequires: python3-importlib-metadata
BuildRequires: python3-uv-build
BuildRequires: systemd-rpm-macros
BuildRequires: python3-ruamel-yaml
BuildRequires: desktop-file-utils
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildArch: noarch
Provides: Arctis-Sound-Manager
%description
%_desc
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
%_desc
%prep
%autosetup -n Arctis-Sound-Manager-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files arctis_sound_manager
install -Dm644 /dev/null %{buildroot}%{_udevrulesdir}/91-steelseries-arctis.rules
python3 scripts/generate_udev_rules.py src/arctis_sound_manager/devices/ \
> %{buildroot}%{_udevrulesdir}/91-steelseries-arctis.rules
# Systemd user services (single source of truth in systemd/, not heredocs)
install -Dm644 systemd/arctis-manager.service %{buildroot}%{_userunitdir}/arctis-manager.service
install -Dm644 systemd/arctis-video-router.service %{buildroot}%{_userunitdir}/arctis-video-router.service
install -Dm644 systemd/arctis-gui.service %{buildroot}%{_userunitdir}/arctis-gui.service
# dinit service templates
install -Dm644 dinit/arctis-manager %{buildroot}%{_datadir}/%{name}/dinit/arctis-manager
install -Dm644 dinit/arctis-video-router %{buildroot}%{_datadir}/%{name}/dinit/arctis-video-router
install -Dm644 dinit/arctis-gui %{buildroot}%{_datadir}/%{name}/dinit/arctis-gui
install -Dm644 dinit/pipewire-filter-chain %{buildroot}%{_datadir}/%{name}/dinit/pipewire-filter-chain
install -Dm755 scripts/asm-diag-dinit.py %{buildroot}%{_bindir}/asm-diag-dinit
# Desktop entry
install -Dm644 src/arctis_sound_manager/desktop/ArctisManager.desktop \
%{buildroot}%{_datadir}/applications/ArctisManager.desktop
# Icon
install -Dm644 src/arctis_sound_manager/gui/images/steelseries_logo.svg \
%{buildroot}%{_scalableiconsdir}/arctis-manager.svg
# PipeWire configs
install -Dm644 scripts/pipewire/10-arctis-virtual-sinks.conf \
%{buildroot}%{_datadir}/%{name}/pipewire/10-arctis-virtual-sinks.conf
install -Dm644 scripts/pipewire/sink-virtual-surround-7.1-hesuvi.conf \
%{buildroot}%{_datadir}/%{name}/pipewire/sink-virtual-surround-7.1-hesuvi.conf
# filter-chain.service (bundled for distros that don't ship one)
install -Dm644 scripts/filter-chain.service \
%{buildroot}%{_datadir}/%{name}/filter-chain.service
# First-run autostart (triggers asm-setup on first graphical login)
install -Dm644 debian/asm-first-run.desktop \
%{buildroot}%{_sysconfdir}/xdg/autostart/asm-first-run.desktop
%check
%desktop_file_validate %{buildroot}%{_appsdir}/ArctisManager.desktop
%post
%systemd_user_post %{arctis_sound_manager_services}
%preun
%systemd_user_preun %{arctis_sound_manager_services}
%postun
%systemd_postun_with_restart %{arctis_sound_manager_services}
%files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.md CONTRIBUTING.md CHANGELOG.md
%license LICENSE
%{_bindir}/asm-cli
%{_bindir}/asm-daemon
%{_bindir}/asm-diag-dinit
%{_bindir}/asm-gui
%{_bindir}/asm-router
%{_bindir}/asm-setup
%{_udevrulesdir}/91-steelseries-arctis.rules
%{_userunitdir}/arctis-manager.service
%{_userunitdir}/arctis-video-router.service
%{_userunitdir}/arctis-gui.service
%{_datadir}/%{name}/dinit/arctis-manager
%{_datadir}/%{name}/dinit/arctis-video-router
%{_datadir}/%{name}/dinit/pipewire-filter-chain
%{_bindir}/asm-diag-dinit
%{_appsdir}/ArctisManager.desktop
%{_scalableiconsdir}/arctis-manager.svg
%{_datadir}/%{name}/pipewire/10-arctis-virtual-sinks.conf
%{_datadir}/%{name}/pipewire/sink-virtual-surround-7.1-hesuvi.conf
%{_datadir}/%{name}/filter-chain.service
%{_sysconfdir}/xdg/autostart/asm-first-run.desktop
%{_datadir}/python-arctis-sound-manager/dinit/arctis-gui
%changelog
* Mon Jun 15 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "Arctis-Sound-Manager.spec"
}
}
@@ -1 +0,0 @@
rpm.version(pypi("arctis-sound-manager"));
-72
View File
@@ -1,72 +0,0 @@
Name: ktailctl
Version: 0.22.0
Release: 1%{?dist}
Summary: A GUI to monitor and manage Tailscale on your Linux desktop
License: GPL-3.0-only
URL: https://github.com/f-koehler/KTailctl
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: cmake
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: golang
BuildRequires: json-devel
BuildRequires: golang
BuildRequires: kf6-breeze-icons-devel
BuildRequires: kf6-kconfig-devel
BuildRequires: kf6-kcoreaddons-devel
BuildRequires: kf6-kdbusaddons-devel
BuildRequires: kf6-kguiaddons-devel
BuildRequires: kf6-ki18n-devel
BuildRequires: kf6-kirigami-addons-devel
BuildRequires: kf6-kirigami-devel
BuildRequires: kf6-knotifications-devel
BuildRequires: kf6-kwindowsystem-devel
BuildRequires: cmake(KF6IconThemes)
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtsvg-devel
Requires: tailscale
Requires: kf5-qqc2-desktop-style
Requires: hicolor-icon-theme
Provides: KTailctl
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%{summary}.
%package static
%pkg_static_files
%prep
%autosetup -n KTailctl-%{version}
cd src/tailscale/wrapper
go mod vendor
%conf
%cmake
%build
%cmake_build
%install
%cmake_install
%files
%doc README.md
%license LICENSE.txt
%{_bindir}/ktailctl
%{_libdir}/libktailctl_wrapper_logging.so
%{_appsdir}/org.fkoehler.KTailctl.desktop
%{_scalableiconsdir}/org.fkoehler.KTailctl.svg
%{_metainfodir}/org.fkoehler.KTailctl.metainfo.xml
%changelog
* Sat Jun 27 2026 Owen Zimmerman <owen@fyralabs.com> - 0.22.0-1
- Update spec for 0.22.0
* Sat May 23 2026 Owen Zimmerman <owen@fyralabs.com> - 0.21.5-1
- Initial commit
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "KTailctl.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("f-koehler/KTailctl"));
+5 -5
View File
@@ -1,10 +1,10 @@
%global xurl https://files.pythonhosted.org/packages/9c/a2/05729090f54c5489c79dee9177fb1d99860850d311247256eebb360ec622/anki-26.5-cp310-abi3-manylinux_2_35_x86_64.whl %global xurl https://files.pythonhosted.org/packages/22/1c/37fe0377fd5fbfe27b17db20679d76aeb1cef7be3ddfb22e24c0bb62cf96/anki-25.9.2-cp39-abi3-manylinux_2_36_x86_64.whl
%global aurl https://files.pythonhosted.org/packages/67/ec/354efa779cb7293aa5feb460f552ff475063149523afc1099433bbe8e65f/anki-26.5-cp310-abi3-manylinux_2_35_aarch64.whl %global aurl https://files.pythonhosted.org/packages/c1/49/484a786ea0e1b3659de9478f2546368c5970da60a1cd403cec1fa2f81d65/anki-25.9.2-cp39-abi3-manylinux_2_36_aarch64.whl
%global qurl https://files.pythonhosted.org/packages/2b/a1/8978e8200afcc9a9b5440366e5d579f9fb1e959147004943cb0ec97cdf0f/aqt-26.5-py3-none-any.whl %global qurl https://files.pythonhosted.org/packages/e5/d4/26016857a780290264866e1818b1a408106c379906fbd186a0aa26eb1054/aqt-25.9.2-py3-none-any.whl
Name: anki-bin Name: anki-bin
Version: 26.5 Version: 25.9.2
Release: 1%{?dist} Release: 1%?dist
Summary: Flashcard program for using space repetition learning (Installed with wheel) Summary: Flashcard program for using space repetition learning (Installed with wheel)
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
URL: https://apps.ankiweb.net/ URL: https://apps.ankiweb.net/
+2 -2
View File
@@ -1,6 +1,6 @@
Name: anki-qt5 Name: anki-qt5
Version: 26.05 Version: 25.09.2
Release: 1%{?dist} Release: 1%?dist
Summary: Flashcard program for using space repetition learning Summary: Flashcard program for using space repetition learning
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
URL: https://apps.ankiweb.net/ URL: https://apps.ankiweb.net/
+7 -6
View File
@@ -1,13 +1,12 @@
Name: anki Name: anki
Version: 26.05 Version: 25.09.2
Release: 1%{?dist} Release: 1%?dist
Summary: Flashcard program for using space repetition learning Summary: Flashcard program for using space repetition learning
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
URL: https://apps.ankiweb.net/ URL: https://apps.ankiweb.net/
Packager: madonuko <mado@fyralabs.com>
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes) BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson
BuildRequires: python3-installer make cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
Recommends: (mpv or mpv-nightly) Recommends: (mpv or mpv-nightly)
@@ -21,7 +20,9 @@ phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition. Anki is based on a theory called spaced repetition.
%prep %prep
%git_clone https://github.com/ankitects/anki rm -rf *
git clone https://github.com/ankitects/anki .
git checkout %{version}
%patch 0 -p1 %patch 0 -p1
# See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki # See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki
@@ -30,7 +31,7 @@ Anki is based on a theory called spaced repetition.
export RELEASE=1 export RELEASE=1
export PYTHONPATH=%_libdir/python3/dist-packages export PYTHONPATH=%_libdir/python3/dist-packages
cargo update cargo update
./tools/build mold -run ./tools/build
%install %install
-40
View File
@@ -1,40 +0,0 @@
%global appid dev.astramusic.astra
%global ver 0.6.1-beta
Name: astra
%electronmeta -D
Version: %(echo %ver | sed 's/-/~/')
Release: 1%?dist
Summary: A desktop music player for people who still have a music library
License: GPL-3.0-only AND %electron_license
URL: https://astramusic.dev
Source0: https://github.com/Boof2015/astra/archive/refs/tags/v%ver.tar.gz
BuildRequires: nodejs-npm nodejs-packaging
%description
Audiophile music player with gapless playback, parametric EQ, AutoEQ import, and real-time DSP visualizers.
%prep
%autosetup -n %name-%ver
%build
%npm_build -BV -M production
%__nodejs ./scripts/build/writeAppBuildMetadata.cjs
%install
%electron_install -I -D
%terra_appstream
%files
%license LICENSE
%doc README.md
%_bindir/%name
%_libdir/%name
%_appsdir/%name.desktop
%_metainfodir/%appid.metainfo.xml
%_hicolordir/*/apps/%name.png
%changelog
* Sat Jun 28 2026 madonuko <madonuko@outlook.com> - 0.6.1~beta
- Initial package.
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("Boof2015/astra"));
@@ -1,12 +1,12 @@
%global __requires_exclude ^lib-.*.so %global __requires_exclude ^lib-.*.so
%global __provides_exclude ^lib-.*.so %global __provides_exclude ^lib-.*.so
%global ver Audacity-3.7.8 %global ver Audacity-3.7.7
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g') %global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
Name: audacity-freeworld Name: audacity-freeworld
Version: %{sanitized_ver} Version: %{sanitized_ver}
Release: 1%{?dist} Release: 1%?dist
Summary: Multitrack audio editor Summary: Multitrack audio editor
License: GPLv2 License: GPLv2
URL: https://www.audacityteam.org/ URL: https://www.audacityteam.org/
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "auto-cpufreq.spec"
}
}
-87
View File
@@ -1,87 +0,0 @@
%global _desc Automatic CPU speed & power optimizer for Linux.
Name: python-auto-cpufreq
Version: 3.0.0
Release: 3%?dist
Summary: Automatic CPU speed & power optimizer for Linux
License: LGPL-3.0-or-later
URL: https://foolcontrol.org/?p=4603
Source0: https://github.com/AdnanHodzic/auto-cpufreq/archive/refs/tags/v%{version}.tar.gz
Patch0: prevent-install-and-copy.patch
BuildRequires: python3-devel
BuildRequires: python3-wheel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
BuildRequires: python3-installer
BuildRequires: systemd-rpm-macros
BuildRequires: python3-poetry-core
BuildRequires: python3-poetry-dynamic-versioning
BuildArch: noarch
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%_desc
%package -n python3-auto-cpufreq
Summary: %{summary}
%{?python_provide:%python_provide python3-auto-cpufreq}
%description -n python3-auto-cpufreq
%_desc
%prep
%git_clone https://github.com/AdnanHodzic/auto-cpufreq.git %{version}
%patch -P0 -p1
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files auto_cpufreq
mkdir -p %{buildroot}%{_datadir}/polkit-1/actions/
install -Dm644 scripts/org.auto-cpufreq.pkexec.policy %{buildroot}%{_datadir}/polkit-1/actions/
install -Dm644 images/icon.png %{buildroot}%{_hicolordir}/512x512/apps/auto-cpufreq.png
install -Dm644 images/icon.png %{buildroot}%{_datadir}/%{name}/icon.png
mkdir -p %{buildroot}%{_datadir}/auto-cpufreq/scripts/
mkdir -p %{buildroot}/opt/auto-cpufreq/
mkdir -p %{buildroot}%{_appsdir}/
mkdir -p %{buildroot}%{_unitdir}/
install -Dm755 scripts/auto-cpufreq-install.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/
install -Dm755 scripts/auto-cpufreq-remove.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/
install -Dm644 scripts/auto-cpufreq.service %{buildroot}%{_unitdir}/auto-cpufreq.service
install -Dm755 scripts/cpufreqctl.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/
install -Dm644 scripts/style.css %{buildroot}%{_datadir}/auto-cpufreq/scripts/
install -Dm644 scripts/auto-cpufreq-gtk.desktop %{buildroot}%{_appsdir}/
%post
%systemd_post auto-cpufreq.service
%preun
%systemd_preun auto-cpufreq.service
%postun
%systemd_postun_with_restart auto-cpufreq.service
%files -n python3-auto-cpufreq -f %{pyproject_files}
%doc README.md
%license LICENSE
%{_bindir}/auto-cpufreq
%{_bindir}/auto-cpufreq-gtk
%{_datadir}/polkit-1/actions/org.auto-cpufreq.pkexec.policy
%{_hicolordir}/512x512/apps/auto-cpufreq.png
%{_datadir}/%{name}/icon.png
%{_unitdir}/auto-cpufreq.service
%{_datadir}/auto-cpufreq/scripts/
%{_appsdir}/auto-cpufreq-gtk.desktop
%changelog
* Tue Apr 07 2026 Owen Zimmerman <owen@fyralabs.com>
- Add install fix patch
* Sun Apr 05 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
@@ -1,101 +0,0 @@
diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
index f03e7de..2dff5fb 100755
--- a/auto_cpufreq/core.py
+++ b/auto_cpufreq/core.py
@@ -277,19 +277,12 @@ def get_current_gov():
)
def cpufreqctl():
- """
- deploy cpufreqctl.auto-cpufreq script
- """
- if not (IS_INSTALLED_WITH_SNAP or os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq")):
- copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/local/bin/cpufreqctl.auto-cpufreq")
- call(["chmod", "a+x", "/usr/local/bin/cpufreqctl.auto-cpufreq"])
+ # scripts are already in the correct place
+ pass
def cpufreqctl_restore():
- """
- remove cpufreqctl.auto-cpufreq script
- """
- if not IS_INSTALLED_WITH_SNAP and os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"):
- os.remove("/usr/local/bin/cpufreqctl.auto-cpufreq")
+ #no need to restore
+ pass
def footer(l=79): print("\n" + "-" * l + "\n")
@@ -307,31 +300,8 @@ def remove_complete_msg():
footer()
def deploy_daemon():
- print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n")
-
- cpufreqctl() # deploy cpufreqctl script func call
-
- bluetooth_disable() # turn off bluetooth on boot
-
- auto_cpufreq_stats_path.touch(exist_ok=True)
-
- print("\n* Deploy auto-cpufreq install script")
- copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install")
- call(["chmod", "a+x", "/usr/local/bin/auto-cpufreq-install"])
-
- print("\n* Deploy auto-cpufreq remove script")
- copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/local/bin/auto-cpufreq-remove")
- call(["chmod", "a+x", "/usr/local/bin/auto-cpufreq-remove"])
-
- # output warning if gnome power profile is running
- gnome_power_detect_install()
- gnome_power_svc_disable()
-
- tuned_svc_disable()
-
- tlp_service_detect() # output warning if TLP service is detected
-
- call("/usr/local/bin/auto-cpufreq-install", shell=True)
+ # prevent needless copying and system changes
+ pass
def deploy_daemon_performance():
print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon (performance) " + "-" * 22 + "\n")
@@ -363,37 +333,7 @@ def deploy_daemon_performance():
call("/usr/local/bin/auto-cpufreq-install", shell=True)
-def remove_daemon():
- # check if auto-cpufreq is installed
- if not os.path.exists("/usr/local/bin/auto-cpufreq-remove"):
- print("\nauto-cpufreq daemon is not installed.\n")
- sys.exit(1)
-
- print("\n" + "-" * 21 + " Removing auto-cpufreq daemon " + "-" * 22 + "\n")
-
- bluetooth_enable() # turn on bluetooth on boot
-
- # output warning if gnome power profile is stopped
- gnome_power_rm_reminder()
- gnome_power_svc_enable()
-
- tuned_svc_enable()
-
- # run auto-cpufreq daemon remove script
- call("/usr/local/bin/auto-cpufreq-remove", shell=True)
-
- # remove auto-cpufreq-remove
- os.remove("/usr/local/bin/auto-cpufreq-remove")
-
- # delete override pickle if it exists
- if os.path.exists(governor_override_state): os.remove(governor_override_state)
-
- # delete stats file
- if auto_cpufreq_stats_path.exists():
- if auto_cpufreq_stats_file is not None: auto_cpufreq_stats_file.close()
- auto_cpufreq_stats_path.unlink()
-
- cpufreqctl_restore() # restore original cpufrectl script
+def remove_daemon(): pass
def gov_check():
for gov in AVAILABLE_GOVERNORS:
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("AdnanHodzic/auto-cpufreq"));
+4 -7
View File
@@ -1,13 +1,13 @@
Name: bazzite-portal Name: bazzite-portal
Version: 0.2.3 Version: 0.1.6
Release: 1%{?dist} Release: 3%?dist
Summary: Bazzite Portal is a tabbed frontend for curated script execution, with a focus on distro specific QOL shortcuts Summary: Bazzite Portal is a tabbed frontend for curated script execution, with a focus on distro specific QOL shortcuts
URL: https://github.com/ublue-os/yafti-gtk URL: https://github.com/ublue-os/yafti-gtk
Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz
License: GPL-3.0-only License: GPL-3.0-only
Requires: python3-gobject Requires: python3-gobject
Requires: python3-PyYAML Requires: python3-PyYAML
Requires: gtk4 Requires: gtk3
Provides: Bazzite-Portal Provides: Bazzite-Portal
BuildArch: noarch BuildArch: noarch
Packager: Zacharias Xenakis <xarishark@outlook.com> Packager: Zacharias Xenakis <xarishark@outlook.com>
@@ -35,8 +35,5 @@ install -Dm 644 io.github.ublue_os.yafti_gtk.metainfo.xml %{buildroot}%{_metainf
%{_metainfodir}/io.github.ublue_os.yafti_gtk.metainfo.xml %{_metainfodir}/io.github.ublue_os.yafti_gtk.metainfo.xml
%changelog %changelog
* Sun Apr 19 2026 Xarishark <xarishark@outlook.com>
- Upgraded to GTK4
* Wed Jan 28 2026 Xarishark <xarishark@outlook.com> * Wed Jan 28 2026 Xarishark <xarishark@outlook.com>
- Initial commit - Initial commit
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "bazzite-updater.spec"
}
}
@@ -1,77 +0,0 @@
%global appid io.github.rfrench3.bazzite-updater
Name: bazzite-updater
Version: 0.7.3
Release: 1%{?dist}
Summary: Update your Bazzite system
License: GPL-2.0-or-later AND BSD-3-Clause AND CC0-1.0
URL: https://github.com/rfrench3/bazzite-updater
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
Packager: Robert French <frenchrobertm@outlook.com>
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
BuildRequires: systemd-rpm-macros
BuildRequires: cmake
BuildRequires: extra-cmake-modules
BuildRequires: kf6-rpm-macros
BuildRequires: cmake(SDL3)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(KF6Kirigami)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(KF6KirigamiAddons)
Requires: kf6-kirigami%{?_isa}
Requires: kf6-kirigami-addons%{?_isa}
Requires: kf6-qqc2-desktop-style%{?_isa}
Requires: which%{?_isa}
Requires: qt6-controllable%{?_isa}
Requires: uupd%{?_isa}
Requires: hicolor-icon-theme
Provides: bazzite-updater = %{evr}
%description
This is a convenient, easy-to-use interface for updating your Bazzite system.
- Simple and powerful
- Full support for all input types (keyboard/mouse, controller, touchscreen)
%prep
%autosetup
%conf
%cmake
%build
%cmake_build
%install
%cmake_install
%check
appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/%{appid}.*.xml || :
desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/%{appid}.desktop
%files
%license LICENSES/{BSD-3-Clause.txt,CC0-1.0.txt,GPL-2.0-or-later.txt}
%doc README.md
%{_bindir}/bazzite-updater
%{_appsdir}/%{appid}.desktop
%{_metainfodir}/%{appid}.*.xml
%{_scalableiconsdir}/%{appid}.svg
%changelog
* Thu Feb 05 2026 Robert French
- Initial rpm build of Bazzite Updater
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("rfrench3/bazzite-updater"));
@@ -1,5 +1,5 @@
Name: bitwarden-cli.bin Name: bitwarden-cli.bin
Version: 2026.5.0 Version: 2026.2.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: Bitwarden command-line client Summary: Bitwarden command-line client
License: GPL-3.0-only License: GPL-3.0-only
+1 -1
View File
@@ -6,7 +6,7 @@
%endif %endif
Name: bitwarden-cli Name: bitwarden-cli
Version: 2026.5.0 Version: 2026.2.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: Bitwarden command-line client Summary: Bitwarden command-line client
License: GPL-3.0-only License: GPL-3.0-only
+2 -2
View File
@@ -1,8 +1,8 @@
%undefine __brp_mangle_shebangs %undefine __brp_mangle_shebangs
Name: chdig Name: chdig
Version: 26.6.1 Version: 26.2.3
Release: 1%{?dist} Release: 1%?dist
Summary: Dig into ClickHouse with TUI interface Summary: Dig into ClickHouse with TUI interface
URL: https://github.com/azat/chdig URL: https://github.com/azat/chdig
Source0: %url/archive/refs/tags/v%{version}.tar.gz Source0: %url/archive/refs/tags/v%{version}.tar.gz
@@ -1,8 +1,8 @@
%undefine __brp_mangle_shebangs %undefine __brp_mangle_shebangs
Name: chrultrabook-tools Name: chrultrabook-tools
Version: 3.1.6 Version: 3.1.3
Release: 1%{?dist} Release: 2%?dist
Summary: User-friendly configuration utility for Chromebooks running an alternate OS Summary: User-friendly configuration utility for Chromebooks running an alternate OS
URL: https://github.com/death7654/Chrultrabook-Tools URL: https://github.com/death7654/Chrultrabook-Tools
Source0: %url/archive/refs/tags/%version.tar.gz Source0: %url/archive/refs/tags/%version.tar.gz
+2 -2
View File
@@ -8,8 +8,8 @@ for background device management, as well as a GUI to expertly customize your se
%global __brp_mangle_shebangs %{nil} %global __brp_mangle_shebangs %{nil}
Name: coolercontrol Name: coolercontrol
Version: 4.3.1 Version: 3.1.1
Release: 1%{?dist} Release: 2%?dist
Summary: Cooling device control for Linux Summary: Cooling device control for Linux
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64
License: GPL-3.0-or-later License: GPL-3.0-or-later
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar Name: discord-canary-openasar
Version: 1.0.1361 Version: 0.0.889
Release: 1%{?dist} Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms License: MIT AND https://discord.com/terms
+24 -21
View File
@@ -1,17 +1,20 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary Name: discord-canary
Version: 1.0.1361 Version: 0.0.889
Release: 1%{?dist} Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers Summary: Free Voice and Text Chat for Gamers
URL: discord.com URL: discord.com
Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/discord-canary-%{version}.tar.gz
Source1: https://discord.com/terms#/terms.html License: https://discord.com/terms
License: Proprietary Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1.2
Requires: zenity
Group: Applications/Internet Group: Applications/Internet
ExclusiveArch: x86_64 ExclusiveArch: x86_64
%electronmeta -D
%description %description
All-in-one voice and text chat for gamers that's free, secure, and works on All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone. both your desktop and phone.
@@ -22,23 +25,23 @@ both your desktop and phone.
%build %build
%install %install
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} rm -rf $RPM_BUILD_ROOT
install -Dpm755 %{name} -t %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_bindir}
install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png mkdir -p %{buildroot}%{_datadir}/discord-canary
%desktop_file_install %{name}.desktop cp -rv * %{buildroot}%{_datadir}/discord-canary
cp %{SOURCE1} -t . mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary
%files %files
%license terms.html %_bindir/discord-canary
%{_bindir}/%{name} %{_datadir}/discord-canary/
%{_datadir}/%{name}/ %{_datadir}/applications/discord-canary.desktop
%{_appsdir}/%{name}.desktop %{_datadir}/pixmaps/discord-canary.png
%{_datadir}/pixmaps/%{name}.png
%changelog %changelog
* Tue May 5 2026 Gilver E. <roachy@fyralabs.com> - 1.0.1025-2
- Update build for new bootstrap format
* Thu Dec 01 2022 root - 0.0.144-1 * Thu Dec 01 2022 root - 0.0.144-1
- new version - new version
@@ -6,8 +6,8 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar Name: discord-openasar
Version: 1.0.144 Version: 0.0.127
Release: 1%{?dist} Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms License: MIT AND https://discord.com/terms
URL: https://github.com/GooseMod/OpenAsar URL: https://github.com/GooseMod/OpenAsar
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar Name: discord-ptb-openasar
Version: 1.0.197 Version: 0.0.181
Release: 1%{?dist} Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms License: MIT AND https://discord.com/terms
+28 -21
View File
@@ -1,17 +1,24 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb Name: discord-ptb
Version: 1.0.197 Version: 0.0.181
Release: 1%{?dist} Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers. Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com URL: https://discord.com
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz
Source1: https://discord.com/terms#/terms.html License: https://discord.com/terms
License: Proprietary Requires: glibc GConf2
Requires: zenity Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Group: Applications/Internet Group: Applications/Internet
ExclusiveArch: x86_64 ExclusiveArch: x86_64
%electronmeta -D
%description %description
All-in-one voice and text chat for gamers that's free, secure, and works on All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone. both your desktop and phone.
@@ -22,23 +29,23 @@ both your desktop and phone.
%build %build
%install %install
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} rm -rf $RPM_BUILD_ROOT
install -Dpm755 %{name} -t %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_bindir}
install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png mkdir -p %{buildroot}%{_datadir}/discord-ptb
%desktop_file_install %{name}.desktop cp -rv * %{buildroot}%{_datadir}/discord-ptb
cp %{SOURCE1} -t . mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
%files %files
%license terms.html %_bindir/discord-ptb
%{_bindir}/%{name} %{_datadir}/discord-ptb/
%{_datadir}/%{name}/ %{_datadir}/applications/discord-ptb.desktop
%{_appsdir}/%{name}.desktop %{_datadir}/pixmaps/discord-ptb.png
%{_datadir}/pixmaps/%{name}.png
%changelog %changelog
* Tue May 5 2026 Gilver E. <roachy@fyralabs.com> - 1.0.189-2
- Update build for new bootstrap format
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.35-1 * Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.35-1
- new version - new version
+32 -26
View File
@@ -1,17 +1,24 @@
Name: discord %define debug_package %{nil}
Version: 1.0.144 %global _build_id_links none
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
Source0: https://dl.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz
Source1: https://discord.com/terms#/terms.html
License: Proprietary
Requires: zenity
Group: Applications/Internet
ExclusiveArch: x86_64
%electronmeta -D # Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.127
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
License: https://discord.com/terms
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description %description
All-in-one voice and text chat for gamers that's free, secure, and works on All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone. both your desktop and phone.
@@ -22,23 +29,22 @@ both your desktop and phone.
%build %build
%install %install
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} rm -rf $RPM_BUILD_ROOT
install -Dpm755 %{name} -t %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_bindir}
install -Dpm644 %{name}.png -t %{buildroot}%{_datadir}/pixmaps mkdir -p %{buildroot}%{_datadir}/discord
%desktop_file_install %{name}.desktop cp -rv * %{buildroot}%{_datadir}/discord
cp %{SOURCE1} -t . mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
%files %files
%license terms.html %_bindir/discord
%{_bindir}/%{name} %{_datadir}/discord/
%{_datadir}/%{name}/ %{_datadir}/applications/discord.desktop
%{_appsdir}/%{name}.desktop %{_datadir}/pixmaps/discord.png
%{_datadir}/pixmaps/%{name}.png
%changelog %changelog
* Tue May 5 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-4
- Remove unused files from package
* Mon May 4 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-2
- Updated /usr/bin symlink
* Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1 * Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1
- Initial package - Initial package
+2 -2
View File
@@ -1,8 +1,8 @@
%undefine __brp_mangle_shebangs %undefine __brp_mangle_shebangs
Name: dorion Name: dorion
Version: 6.12.2 Version: 6.12.0
Release: 1%{?dist} Release: 1%?dist
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more! Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
SourceLicense: GPL-3.0-only SourceLicense: GPL-3.0-only
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "golang-github-ente-io-cli.spec"
}
}
@@ -1,75 +0,0 @@
# Generated by go2rpm 1.19.0
%bcond check 0
%bcond bootstrap 0
%if %{with bootstrap}
%global debug_package %{nil}
%endif
%if %{with bootstrap}
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$
%endif
# https://github.com/ente-io/ente
%global goipath github.com/ente-io/ente/cli
%global tag cli-v0.2.3
Version: %(echo %tag | sed 's/^cli-v//')
%gometa -f
%global common_description %{expand:
The Ente CLI is a Command Line Utility for exporting data from Ente. It also does a few more things, for example, you can use it to decrypt the export from Ente Auth.}
%global golicenses LICENSE
%global godocs CODE_OF_CONDUCT.md CONTRIBUTING.md cli/README.md SECURITY.md SUPPORT.md
Name: ente
Release: 1%?dist
Summary: 💚 End-to-end encrypted cloud for everything
Packager: madonuko <mado@fyralabs.com>
License: AGPL-3.0-only
URL: ente.com
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep -A
%autopatch -p1
%if %{without bootstrap}
%build
%global gomodulesmode GO111MODULE=on
cd cli
%gobuild -o %{gobuilddir}/bin/ente .
%endif
%install
cd cli
%gopkginstall
%if %{without bootstrap}
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%endif
%if %{without bootstrap}
%if %{with check}
%check
%gocheck
%endif
%endif
%if %{without bootstrap}
%files
%license LICENSE
%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md SECURITY.md SUPPORT.md cli/README.md
%{_bindir}/ente
%endif
%gopkgfiles
%changelog
* Tue Jun 16 2026 madonuko <mado@fyralabs.com> - 0.2.3-1
- Initial package.
-10
View File
@@ -1,10 +0,0 @@
let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr();
for tagobj in tagobjs {
if tagobj.name.starts_with("cli-v") {
rpm.global("tag", tagobj.name);
if rpm.changed() {
rpm.release();
break;
}
}
}
-9
View File
@@ -1,9 +0,0 @@
[Desktop Entry]
Name=Ensu
Comment=Ensu Desktop App
Exec=Ensu
Icon=io.ente.ensu
Terminal=false
Type=Application
Categories=Utility;
StartupNotify=true
-58
View File
@@ -1,58 +0,0 @@
%global tag ensu-v0.1.17
%global appid io.ente.ensu
%global developer "Ente"
%global org "io.ente"
%global appstream_component desktop-application
# the original version of %%_package_note_flags expects cc/gcc to parse the ld flags,
# but for wasm the `lld -flavor wasm` linker is called directly
%dnl --package-metadata={\\"type\\":\\"rpm\\",\\"name\\":\\"%name\\",\\"version\\":\\"%version-%release\\",\\"architecture\\":\\"$RPM_ARCH\\",\\"osCpe\\":\\"cpe:/o:fedoraproject:fedora:%fedora\\"}
%define _package_note_flags %nil
%undefine _package_note_status
%define terra_rustflags %build_rustflags
%bcond_with mold
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
%global _distro_extra_cxxflags -fno-permissive
Name: ensu
Version: %(echo %tag | sed 's/^ensu-v//')
Release: 1%?dist
Summary: Private, personal LLM app that runs on your device and grows with you over time
License: AGPL-3.0-only
URL: https://ente.com/ensu
Source0: https://github.com/ente-io/ente/archive/refs/tags/%tag.tar.gz
Source1: ensu.desktop
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake %tauri_buildrequires
BuildRequires: rust-std-static-wasm32-unknown-unknown
BuildRequires: clang-devel
%description
%summary.
%prep
%autosetup -n ente-%tag
pushd web
npm ci
popd
cd rust/apps/ensu
%tauri_prep
%build
cd rust/apps/ensu
%npm_build -Bc
%install
install -Dpm755 rust/target/rpm/Ensu -t %buildroot%_bindir
%desktop_file_install %{S:1}
install -Dpm644 rust/apps/ensu/src-tauri/icons/icon.png %buildroot%_hicolordir/1024x1024/apps/ensu.png
%terra_appstream
%files
%doc README.md CONTRIBUTING.md CODE_OF_CONDUCT.md SECURITY.md SUPPORT.md
%license LICENSE
%_bindir/Ensu
%_appsdir/ensu.desktop
%_hicolordir/*/apps/ensu.png
%_metainfodir/%appid.metainfo.xml
-10
View File
@@ -1,10 +0,0 @@
let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr();
for tagobj in tagobjs {
if tagobj.name.starts_with("ensu-v") {
rpm.global("tag", tagobj.name);
if rpm.changed() {
rpm.release();
break;
}
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 373646a12620a82e9684d79c1066f9b48bf3eed1 %global commit f345e496b4edafe84d3fe6fd9150c92c7de93b72
%global commit_date 20260613 %global commit_date 20260306
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly Name: envision-nightly
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "golang-github-equicord-equilotl.spec"
}
}
@@ -1,102 +0,0 @@
# Generated by go2rpm 1.19.0
%bcond check 1
%bcond bootstrap 0
%if %{with bootstrap}
%global debug_package %{nil}
%endif
%if %{with bootstrap}
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$
%endif
# https://github.com/Equicord/Equilotl
%global goipath github.com/Equicord/Equilotl
Version: 2.2.6
%gometa -f
%global common_description %{expand:
A cross platform gui/cli app for installing Equicord.}
%global golicenses LICENSE
%global godocs README.md
Name: equilotl
Release: %autorelease
Summary: A cross platform gui app for installing Equicord
License: GPL-3.0-only
URL: %{gourl}
Source: %{gosource}
Packager: madonuko <mado@fyralabs.com>
BuildRequires: pkg-config libGL-devel libXxf86vm-devel gcc-c++
BuildRequires: wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules
BuildRequires: libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
RemovePathPostFixes: .wayland
%description %{common_description}
%package cli
Summary: A cross platform cli app for installing Equicord
RemovePathPostFixes: .cli
%description cli %{common_description}
%package x11
Summary: A cross platform gui (X11) app for installing Equicord
RemovePathPostFixes: .x11
%description x11 %{common_description}
%gopkg
%prep
%goprep -A
%autopatch -p1
%if %{without bootstrap}
%build
%define gomodulesmode GO111MODULE=on
export GO_BUILDTAGS="wayland"
%gobuild -o %{gobuilddir}/bin/Equilotl.wayland equilotl
export GO_BUILDTAGS=""
%gobuild -o %{gobuilddir}/bin/Equilotl.x11 equilotl
export GO_BUILDTAGS="cli"
%gobuild -o %{gobuilddir}/bin/Equilotl.cli equilotl
%endif
%install
%gopkginstall
%if %{without bootstrap}
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%endif
%if %{without bootstrap}
%if %{with check}
%check
%gocheck
%endif
%endif
%if %{without bootstrap}
%files
%license LICENSE
%doc README.md
%{_bindir}/Equilotl.wayland
%files cli
%license LICENSE
%doc README.md
%{_bindir}/Equilotl.cli
%files x11
%license LICENSE
%doc README.md
%{_bindir}/Equilotl.x11
%endif
%gopkgfiles
%changelog
* Sat Jun 27 2026 madonuko <mado@fyralabs.com> - 2.2.6-1
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("Equicord/Equilotl"));
+7 -9
View File
@@ -1,8 +1,6 @@
%global appid com.pikaos.falcondgui
Name: falcond-gui Name: falcond-gui
Version: 1.0.3 Version: 1.0.2
Release: 1%{?dist} Release: 1%?dist
Summary: A GTK4/LibAdwaita application to control and monitor the Falcond gaming optimization daemon Summary: A GTK4/LibAdwaita application to control and monitor the Falcond gaming optimization daemon
SourceLicense: MIT SourceLicense: MIT
License: (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND CC0-1.0 AND ISC AND (MIT OR Apache-2.0) AND MIT AND (Unlicense OR MIT) License: (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND CC0-1.0 AND ISC AND (MIT OR Apache-2.0) AND MIT AND (Unlicense OR MIT)
@@ -32,12 +30,12 @@ falcond-gui provides a user-friendly graphical interface for managing falcond. I
%install %install
%cargo_install %cargo_install
%desktop_file_install res/%{appid}.desktop desktop-file-install res/%{name}.desktop
install -Dm644 res/%{appid}.png -t %{buildroot}%{_hicolordir}/512x512/apps/ install -Dm644 res/falcond.png -t %{buildroot}%{_hicolordir}/512x512/apps/
%{cargo_license_online} > LICENSE.dependencies %{cargo_license_online} > LICENSE.dependencies
%check %check
%desktop_file_validate %{buildroot}%{_datadir}/applications/%{appid}.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%posttrans %posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/ &>/dev/null || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/ &>/dev/null || :
@@ -46,8 +44,8 @@ install -Dm644 res/%{appid}.png -t %{buildroot}%{_hicolordir}/512x512/apps/
%doc ../README.md %doc ../README.md
%license ../LICENSE.md %license ../LICENSE.md
%{_bindir}/%{name} %{_bindir}/%{name}
%{_hicolordir}/512x512/apps/%{appid}.png %{_hicolordir}/512x512/apps/falcond.png
%{_appsdir}/%{appid}.desktop %{_appsdir}/%{name}.desktop
%changelog %changelog
* Thu Jan 1 2026 Gilver E. <roachy@fyralabs.com> - 1.0.0-1 * Thu Jan 1 2026 Gilver E. <roachy@fyralabs.com> - 1.0.0-1
+1 -1
View File
@@ -1 +1 @@
rpm.version(gitea("git.pika-os.com", "general-packages/falcond-gui")); rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond-gui/releases").json_arr()[0].tag_name);
+2 -2
View File
@@ -6,8 +6,8 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin Name: feishin
Version: 1.13.0 Version: 1.6.0
Release: 1%{?dist} Release: 1%?dist
Summary: A modern self-hosted music player Summary: A modern self-hosted music player
License: GPL-3.0 License: GPL-3.0
URL: https://github.com/jeffvli/feishin URL: https://github.com/jeffvli/feishin
+3 -3
View File
@@ -1,9 +1,9 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec #? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 14.0.0 %global ver 13.3.0
%global commit 6a635d2d5d88190dab8152bcebb4a85796a55ab3 %global commit bb6e504e842b9197897469428ffccbbd61cbe831
%global shortcommit %{sub %{commit} 1 7} %global shortcommit %{sub %{commit} 1 7}
%global commit_date 20260626 %global commit_date 20260306
%global devel_name QtColorWidgets %global devel_name QtColorWidgets
%global _distro_extra_cflags -fuse-ld=mold %global _distro_extra_cflags -fuse-ld=mold
%global _distro_extra_cxxflags -fuse-ld=mold %global _distro_extra_cxxflags -fuse-ld=mold
+2 -2
View File
@@ -1,7 +1,7 @@
Name: fontviewer Name: fontviewer
Epoch: 1 Epoch: 1
Version: 1.3.0 Version: 1.2.0
Release: 1%{?dist} Release: 1%?dist
Summary: View and install fonts Summary: View and install fonts
License: GPL-2.0 License: GPL-2.0
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "framework-tool-tui.spec"
}
}
@@ -1,53 +0,0 @@
%undefine __brp_mangle_shebangs
Name: framework-tool-tui
Version: 0.8.3
Release: 1%{?dist}
Summary: A TUI for controlling and monitoring Framework Computers hardware built in Rust
URL: https://github.com/grouzen/framework-tool-tui
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
License: MIT AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (MIT OR Apache-2.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Zlib AND (Unlicense OR MIT)
BuildRequires: anda-srpm-macros
BuildRequires: cargo-rpm-macros
BuildRequires: pkgconfig(libudev)
BuildArch: x86_64
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
A snappy TUI dashboard for controlling and monitoring your Framework Laptop
hardware charging, privacy, lighting, USB PD ports, and more.
%package doc
Summary: Documentations for %{name}
BuildArch: noarch
%description doc
Documentations for %{name}.
%prep
%autosetup
%cargo_prep_online
%build
%cargo_build
%install
install -Dm755 target/rpm/framework-tool-tui %{buildroot}%{_bindir}/framework-tool-tui
%{cargo_license_online} > LICENSE.dependencies
mkdir -p %{buildroot}%{_docdir}/%{name}/
cp -r docs/*.md %{buildroot}%{_docdir}/%{name}/
%files
%{_bindir}/framework-tool-tui
%license LICENSE
%license LICENSE.dependencies
%doc README.md
%files doc
%{_docdir}/%{name}/
%changelog
* Thu Apr 23 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("grouzen/framework-tool-tui"));
@@ -1,7 +1,7 @@
%global commit 7cd0395ebd3e0591c0ae4f850f22425b0be30a45 %global commit 693414730d0e102e30f9b3fd92f30a81ef05258d
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260612 %global commit_date 20260307
%global ver 2.2.1^ %global ver 2.1.1^
%global base_name goofcord %global base_name goofcord
%global git_name GoofCord %global git_name GoofCord
%global appid io.github.milkshiift.GoofCord %global appid io.github.milkshiift.GoofCord
+1 -1
View File
@@ -2,7 +2,7 @@
%global appid io.github.milkshiift.GoofCord %global appid io.github.milkshiift.GoofCord
Name: goofcord Name: goofcord
Version: 2.2.1 Version: 2.1.1
Release: 1%{?dist} Release: 1%{?dist}
License: OSL-3.0 License: OSL-3.0
Summary: A privacy-minded Legcord fork. Summary: A privacy-minded Legcord fork.
+2 -2
View File
@@ -1,8 +1,8 @@
%undefine __brp_mangle_shebangs %undefine __brp_mangle_shebangs
Name: gurk Name: gurk
Version: 0.9.3 Version: 0.9.0
Release: 1%{?dist} Release: 1%?dist
Summary: Signal Messenger client for terminal Summary: Signal Messenger client for terminal
License: AGPL-3.0-or-later AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND ISC AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CDLA-Permissive-2.0 AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) License: AGPL-3.0-or-later AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND ISC AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CDLA-Permissive-2.0 AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
URL: https://github.com/boxdot/gurk-rs URL: https://github.com/boxdot/gurk-rs
+2 -2
View File
@@ -4,8 +4,8 @@
%global crate halloy %global crate halloy
Name: halloy Name: halloy
Version: 2026.7.2 Version: 2026.4
Release: 1%{?dist} Release: 1%?dist
Summary: An open-source IRC client written in Rust, with the Iced GUI library Summary: An open-source IRC client written in Rust, with the Iced GUI library
Packager: Yoong jin <solomoncyj@gmail.com> Packager: Yoong jin <solomoncyj@gmail.com>
SourceLicense: GPL-3.0-or-later SourceLicense: GPL-3.0-or-later
@@ -11,8 +11,8 @@
%endif %endif
Name: helium-browser-bin Name: helium-browser-bin
Version: 0.13.6.1 Version: 0.9.4.1
Release: 2%{?dist} Release: 2%?dist
Summary: Private, fast, and honest web browser based on Chromium Summary: Private, fast, and honest web browser based on Chromium
URL: https://helium.computer URL: https://helium.computer
@@ -21,7 +21,7 @@ License: GPL-3.0-only AND BSD-3-Clause
Source0: https://github.com/imputnet/helium-linux/releases/download/%{version}/helium-%{version}-%{arch}_linux.tar.xz Source0: https://github.com/imputnet/helium-linux/releases/download/%{version}/helium-%{version}-%{arch}_linux.tar.xz
Source1: https://github.com/imputnet/helium-linux/archive/refs/tags/%{version}.tar.gz Source1: https://github.com/imputnet/helium-linux/archive/refs/tags/%{version}.tar.gz
Source2: net.imput.helium.metainfo.xml Source2: net.imput.helium.metainfo.xml
Source3: helium.desktop Source3: net.imput.helium.desktop
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64
@@ -31,7 +31,6 @@ BuildRequires: desktop-file-utils
Requires: xdg-utils Requires: xdg-utils
Requires: liberation-fonts Requires: liberation-fonts
Conflicts: helium-bin
Packager: Nadia P <nyadiia@pm.me>, Jaiden Riordan <jade@fyralabs.com> Packager: Nadia P <nyadiia@pm.me>, Jaiden Riordan <jade@fyralabs.com>
%description %description
@@ -48,7 +47,7 @@ tar --strip-components=1 -zxvf %{SOURCE1}
install -dm755 %{buildroot}%{_libdir}/%{name} install -dm755 %{buildroot}%{_libdir}/%{name}
cp -a * %{buildroot}%{_libdir}/%{name}/ cp -a * %{buildroot}%{_libdir}/%{name}/
%desktop_file_install %{S:3} install -Dm644 %{SOURCE3} %{buildroot}%{_appsdir}/%{appid}.desktop
install -Dm644 product_logo_256.png %{buildroot}%{_hicolordir}/256x256/apps/%{appid}.png install -Dm644 product_logo_256.png %{buildroot}%{_hicolordir}/256x256/apps/%{appid}.png
@@ -57,6 +56,7 @@ rm -f %{buildroot}%{_libdir}/%{name}/product_logo_256.png
install -dm755 %{buildroot}%{_bindir} install -dm755 %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/%{name} << 'EOF' cat > %{buildroot}%{_bindir}/%{name} << 'EOF'
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail
@@ -112,14 +112,11 @@ chmod 755 %{buildroot}%{_bindir}/%{name}
%{_libdir}/%{name}/ %{_libdir}/%{name}/
# shebang reasons # shebang reasons
%attr(0755,root,root) %{_bindir}/%{name} %attr(0755,root,root) %{_bindir}/%{name}
%{_appsdir}/helium.desktop %{_appsdir}/%{appid}.desktop
%{_hicolordir}/256x256/apps/%{appid}.png %{_hicolordir}/256x256/apps/%{appid}.png
%{_metainfodir}/%{appid}.metainfo.xml %{_metainfodir}/%{appid}.metainfo.xml
%changelog %changelog
* Fri Jun 26 2026 Jaiden Riordan <jade@fyralabs.com>
- Conflict helium-bin to avoid messing with people who use upstream's COPR
* Sun Feb 15 2026 Jaiden Rirordan <jade@fyralabs.com> * Sun Feb 15 2026 Jaiden Rirordan <jade@fyralabs.com>
- Use downstream desktop file and recombobulate - Use downstream desktop file and recombobulate
+4 -6
View File
@@ -1,7 +1,7 @@
Name: juce Name: juce
Version: 8.0.14 Version: 8.0.12
Release: 1%{?dist} Release: 3%{?dist}
License: AGPL-3.0-or-later License: AGPL-3.0
Summary: framework for audio application and plug-in development Summary: framework for audio application and plug-in development
URL: https://juce.com URL: https://juce.com
Source: https://github.com/juce-framework/JUCE/archive/refs/tags/%{version}.tar.gz Source: https://github.com/juce-framework/JUCE/archive/refs/tags/%{version}.tar.gz
@@ -46,12 +46,10 @@ Documentation files for %{name}
%prep %prep
%autosetup -p1 -n JUCE-%{version} %autosetup -p1 -n JUCE-%{version}
%conf %build
%cmake -DJUCER_ENABLE_GPL_MODE=1 \ %cmake -DJUCER_ENABLE_GPL_MODE=1 \
-DJUCE_BUILD_EXTRAS=ON \ -DJUCE_BUILD_EXTRAS=ON \
-DJUCE_TOOL_INSTALL_DIR=bin -DJUCE_TOOL_INSTALL_DIR=bin
%build
%cmake_build %cmake_build
pushd docs/doxygen pushd docs/doxygen
+4 -3
View File
@@ -3,18 +3,19 @@
%global gtk4_version 4.14.4 %global gtk4_version 4.14.4
%global libadwaita_version 1.5.1 %global libadwaita_version 1.5.1
%global pure_protobuf_version 2.0.0 %global pure_protobuf_version 2.0.0
%global raw_ver v1.104.0
Name: komikku Name: komikku
Version: 50.8.0 Version: 1.104.0
%forgemeta %forgemeta
Release: 1%{?dist} Release: 1%?dist
Summary: A manga reader for GNOME Summary: A manga reader for GNOME
BuildArch: noarch BuildArch: noarch
License: GPL-3.0-or-later License: GPL-3.0-or-later
URL: https://apps.gnome.org/Komikku/ URL: https://apps.gnome.org/Komikku/
Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: intltool BuildRequires: intltool
+4 -1
View File
@@ -1 +1,4 @@
rpm.version(codeberg("valos/Komikku")); let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name;
let new_version = find("([\\.\\d]+)", latest_tag, 1);
rpm.global("raw_ver", latest_tag);
rpm.version(new_version);
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "kontainer.spec"
}
}
-59
View File
@@ -1,59 +0,0 @@
%global appid io.github.DenysMb.Kontainer
Name: kontainer
Version: 1.4.1
Release: 1%?dist
Summary: A Kirigami Distrobox GUI
URL: https://github.com/DenysMb/Kontainer
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
License: GPL-3.0-or-later AND MIT AND CC0-1.0
BuildRequires: cmake >= 3.20
BuildRequires: gcc-c++
BuildRequires: extra-cmake-modules
BuildRequires: pkgconfig(Qt6Quick)
BuildRequires: kf6-kirigami-devel
BuildRequires: kf6-ki18n-devel
BuildRequires: kf6-kcoreaddons-devel
BuildRequires: kf6-kiconthemes-devel
BuildRequires: kf6-qqc2-desktop-style
BuildRequires: kf6-kio-devel
BuildRequires: kf6-kirigami-addons-devel
BuildRequires: kf6-kirigami-addons
Requires: kf6-kirigami-addons
Requires: kf6-qqc2-desktop-style
Requires: distrobox
Packager: Cayden Granger <caydengranger@safri.cloud>
%description
Graphical user interface for Distrobox container management.
A native KDE application for managing Distrobox containers with ease.
%prep
%autosetup -n Kontainer-%{version}
%conf
%cmake
%build
%cmake_build
%install
%cmake_install
%find_lang kontainer
%files -f kontainer.lang
%license LICENSES/
%doc README.md
%{_bindir}/kontainer
%{_appsdir}/%{appid}.desktop
%{_scalableiconsdir}/%{appid}.svg
%{_metainfodir}/%{appid}.metainfo.xml
%changelog
* Fri Jun 19 2026 Cayden Granger <caydengranger@safri.cloud>
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_tag("DenysMb/Kontainer"))
+1 -1
View File
@@ -3,7 +3,7 @@
Name: kopia Name: kopia
%electronmeta -D %electronmeta -D
Version: 0.23.1 Version: 0.22.3
Release: 1%{?dist} Release: 1%{?dist}
Summary: A backup/restore tool that allows you to create encrypted snapshots Summary: A backup/restore tool that allows you to create encrypted snapshots
+1 -1
View File
@@ -4,6 +4,6 @@ project pkg {
} }
labels { labels {
nightly = 1 nightly = 1
mock = 1 mock = 1
} }
} }
+36 -18
View File
@@ -1,15 +1,19 @@
%global commit 0a022f149000bdaed644c2609e19aa7b8badf825 %global commit 3adce3c9b5a31e37c7f340afdcf2629859faa9c2
%global commit_date 20260626 %global commit_date 20260305
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
# terrible evil no good very bad hack %global debug_package %nil
# fix one day %global __strip /bin/true
%global __requires_exclude_from (.*)lib(.*)so(.*) %global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: legcord-nightly Name: legcord-nightly
%electronmeta -aD
Version: %commit_date.%shortcommit Version: %commit_date.%shortcommit
Release: 1%{?dist} Release: 1%?dist
License: OSL-3.0 AND %{electron_license} License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord URL: https://github.com/Legcord/Legcord
Group: Applications/Internet Group: Applications/Internet
@@ -17,7 +21,7 @@ Packager: Owen <owen@fyralabs.com>
Requires: xdg-utils Requires: xdg-utils
Obsoletes: armcord < 3.3.2-1 Obsoletes: armcord < 3.3.2-1
Conflicts: legcord Conflicts: legcord
BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel nvm BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel
%description %description
Legcord is a custom client designed to enhance your Discord experience Legcord is a custom client designed to enhance your Discord experience
@@ -25,23 +29,40 @@ while keeping everything lightweight.
%prep %prep
%git_clone %{url}.git %{commit} %git_clone %{url}.git %{commit}
%vendor_nodejs -v 26
%build %build
%pnpm_build -r build pnpm install
pnpm run build
pnpm run package --linux AppImage tar.gz
%install %install
%electron_install -i legcord -l -I dist/.icon-set/icon_16.png -I dist/.icon-set/icon_32.png -I dist/.icon-set/icon_48x48.png -I dist/.icon-set/icon_64.png -I dist/.icon-set/icon_128.png -I dist/.icon-set/icon_256.png -I dist/.icon-set/icon_512.png -I dist/.icon-set/icon_1024.png mkdir -p %{buildroot}%{_datadir}/legcord
%ifarch aarch64
mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord
%else
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord
install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
dist/Legcord-*.AppImage --appimage-extract '*.desktop' dist/Legcord-*.AppImage --appimage-extract '*.desktop'
%desktop_file_install -k Exec,Icon -v "%{_libdir}/legcord-nightly/Legcord",legcord -u %U -f squashfs-root/legcord.desktop desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop
%files %files
%doc README.md %doc README.md
%license license.txt %license license.txt
%{_bindir}/legcord-nightly %{_bindir}/legcord
%{_datadir}/applications/legcord.desktop %{_datadir}/applications/legcord.desktop
%{_libdir}/legcord-nightly/ %{_datadir}/legcord/
%{_iconsdir}/hicolor/16x16/apps/legcord.png %{_iconsdir}/hicolor/16x16/apps/legcord.png
%{_iconsdir}/hicolor/32x32/apps/legcord.png %{_iconsdir}/hicolor/32x32/apps/legcord.png
%{_iconsdir}/hicolor/48x48/apps/legcord.png %{_iconsdir}/hicolor/48x48/apps/legcord.png
@@ -52,9 +73,6 @@ dist/Legcord-*.AppImage --appimage-extract '*.desktop'
%{_iconsdir}/hicolor/1024x1024/apps/legcord.png %{_iconsdir}/hicolor/1024x1024/apps/legcord.png
%changelog %changelog
* Mon May 18 2026 june-fish <june@fyralabs.com> - 1.2.4-1
- Use electron macros
* Fri Nov 22 2024 owen <owen@fyralabs.com> - 1.0.2-2 * Fri Nov 22 2024 owen <owen@fyralabs.com> - 1.0.2-2
- Add nightly package. - Add nightly package.
+3
View File
@@ -2,4 +2,7 @@ project pkg {
rpm { rpm {
spec = "legcord.spec" spec = "legcord.spec"
} }
labels {
mock =1
}
} }
+35 -15
View File
@@ -1,12 +1,17 @@
# terrible evil no good very bad hack %define debug_package %nil
# fix one day
%global __requires_exclude_from (.*)lib(.*)so(.*) # Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: legcord Name: legcord
%electronmeta -D Version: 1.2.2
Version: 1.2.4 Release: 1%?dist
Release: 1%{?dist} License: OSL-3.0
License: OSL-3.0 AND %{electron_license}
Summary: Custom lightweight Discord client designed to enhance your experience Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord URL: https://github.com/Legcord/Legcord
Group: Applications/Internet Group: Applications/Internet
@@ -25,20 +30,38 @@ while keeping everything lightweight.
%git_clone %url v%version %git_clone %url v%version
%build %build
%pnpm_build -r build pnpm install
pnpm run build
pnpm run package --linux AppImage tar.gz
%install %install
%electron_install -i legcord -l -I dist/.icon-set/icon_16.png -I dist/.icon-set/icon_32.png -I dist/.icon-set/icon_48x48.png -I dist/.icon-set/icon_64.png -I dist/.icon-set/icon_128.png -I dist/.icon-set/icon_256.png -I dist/.icon-set/icon_512.png -I dist/.icon-set/icon_1024.png mkdir -p %{buildroot}%{_datadir}/legcord
%ifarch aarch64
mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord
%else
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord
install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
dist/Legcord-*.AppImage --appimage-extract '*.desktop' dist/Legcord-*.AppImage --appimage-extract '*.desktop'
%desktop_file_install -k Exec,Icon -v "%{_libdir}/legcord/Legcord",legcord -u %U -f squashfs-root/Legcord.desktop desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop
%files %files
%doc README.md %doc README.md
%license license.txt %license license.txt
%{_bindir}/legcord %{_bindir}/legcord
%{_datadir}/applications/Legcord.desktop %{_datadir}/applications/legcord.desktop
%{_libdir}/legcord/ %{_datadir}/legcord/
%{_iconsdir}/hicolor/16x16/apps/legcord.png %{_iconsdir}/hicolor/16x16/apps/legcord.png
%{_iconsdir}/hicolor/32x32/apps/legcord.png %{_iconsdir}/hicolor/32x32/apps/legcord.png
%{_iconsdir}/hicolor/48x48/apps/legcord.png %{_iconsdir}/hicolor/48x48/apps/legcord.png
@@ -49,9 +72,6 @@ dist/Legcord-*.AppImage --appimage-extract '*.desktop'
%{_iconsdir}/hicolor/1024x1024/apps/legcord.png %{_iconsdir}/hicolor/1024x1024/apps/legcord.png
%changelog %changelog
* Mon May 18 2026 june-fish <june@fyralabs.com> - 1.2.4-1
- Use electron macros
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2 * Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
- Rename to LegCord. - Rename to LegCord.
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "mount-manager.spec"
}
}
@@ -1,42 +0,0 @@
Name: mount-manager
Version: 0.1.5
Release: 1%{?dist}
Summary: SMB Mount Manager helps users mount SMB shares through a simple GTK interface. It checks the share, asks for credentials, tests the mount, and creates a startup mount managed by systemd.
URL: https://github.com/Xarishark/mount-manager
Source0: https://github.com/Xarishark/mount-manager/archive/refs/tags/v%{version}.tar.gz
License: GPL-3.0-only
Requires: cifs-utils
Requires: gtk4
Requires: polkit
Requires: python3-gobject
Provides: SMB-Mount-Manager
BuildArch: noarch
Packager: Zacharias Xenakis <xarishark@outlook.com>
%description
%{summary}.
%prep
%autosetup -n mount-manager-%{version}
%build
%install
install -Dm 755 mount_manager.py %{buildroot}%{_bindir}/mount-manager
install -Dm 644 data/applications/io.github.xarishark.mount-manager.desktop %{buildroot}%{_appsdir}/io.github.xarishark.mount-manager.desktop
install -Dm 644 data/icons/hicolor/scalable/apps/io.github.xarishark.mount-manager.svg %{buildroot}%{_scalableiconsdir}/io.github.xarishark.mount-manager.svg
install -Dm 644 data/metainfo/io.github.xarishark.mount-manager.metainfo.xml %{buildroot}%{_metainfodir}/io.github.xarishark.mount-manager.metainfo.xml
%files
%doc README.md
%license LICENSE
%{_bindir}/mount-manager
%{_appsdir}/io.github.xarishark.mount-manager.desktop
%{_scalableiconsdir}/io.github.xarishark.mount-manager.svg
%{_metainfodir}/io.github.xarishark.mount-manager.metainfo.xml
%changelog
* Fri May 15 2026 Zacharias Xenakis <xarishark@outlook.com>
- Initial package
* Fri May 15 2026 Zacharias Xenakis <xarishark@outlook.com>
- migrated to new source GIT
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("Xarishark/mount-manager"));
+2 -3
View File
@@ -1,9 +1,9 @@
# Disable X11 for RHEL 10+ # Disable X11 for RHEL 10+
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10] %bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
%global commit 62f1494661b362eac02e7d6c2f9173f53c0f278f %global commit f9190e57f9d29a7a387b2b9f49671ebf19ea09bd
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260628 %global commit_date 20260307
%global ver 0.41.0 %global ver 0.41.0
Name: mpv-nightly Name: mpv-nightly
@@ -21,7 +21,6 @@ BuildRequires: gcc
BuildRequires: libappstream-glib BuildRequires: libappstream-glib
BuildRequires: libatomic BuildRequires: libatomic
BuildRequires: meson BuildRequires: meson
BuildRequires: cmake
BuildRequires: python3-docutils BuildRequires: python3-docutils
BuildRequires: perl(Encode) BuildRequires: perl(Encode)
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "neohtop-cli.spec"
}
}
@@ -1,44 +0,0 @@
%define debug_package %{nil}
%global goipath github.com/abdenasser/neohtop-cli
Version: 0.1.13
%gometa -f
Name: neohtop-cli
Release: 1%{?dist}
Summary: A cross-platform terminal process monitor with btop-style visualizations
License: MIT
URL: https://github.com/Abdenasser/neohtop-cli
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: go-rpm-macros
%description
%summary.
%gopkg
%prep
%autosetup
%build
%define gomodulesmode GO111MODULE=on
pushd cli
%gobuild -o %{gobuilddir}/../neohtop-cli %{goipath}/
popd
%install
install -Dm 0755 cli/neohtop-cli %{buildroot}%{_bindir}/neohtop-cli
%files
%doc README.md CONTRIBUTING.md
%license LICENSE
%{_bindir}/neohtop-cli
%changelog
* Sun Jun 14 2026 Owen Zimmerman <owen@fyralabs.com>
- Use go packaging
* Sun Mar 29 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit

Some files were not shown because too many files have changed in this diff Show More