Compare commits

..

2 Commits

Author SHA1 Message Date
Cappy Ishihara a4ecd34cdd higher priority for sources too 2025-01-05 15:33:48 +07:00
Cappy Ishihara 18eea51485 Lower priority for terra-extras 2025-01-05 15:32:20 +07:00
3067 changed files with 22137 additions and 80087 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
"repoOwner": "terrapkg", "repoOwner": "terrapkg",
"repoName": "packages", "repoName": "packages",
"resetAuthor": true, "resetAuthor": true,
"targetBranchChoices": ["frawhide", "f44", "f43", "f42", "el10"], "targetBranchChoices": ["f39", "f40", "frawhide"],
"branchLabelMapping": { "branchLabelMapping": {
"^sync-(.+)$": "$1" "^sync-(.+)$": "$1"
} }
+9
View File
@@ -0,0 +1,9 @@
ARG VARIANT="rawhide"
FROM fedora:${VARIANT}
RUN useradd -m vscode
RUN groupadd mock
RUN usermod -aG mock vscode
RUN echo vscode ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/vscode
RUN curl -Lo /etc/yum.repos.d/terra.repo https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo
RUN dnf -y install git mock createrepo_c anda terra-mock-configs
+11 -10
View File
@@ -1,17 +1,18 @@
{ {
"name": "Terra Devcontainer", "name": "Fedora",
"image": "ghcr.io/terrapkg/builder:frawhide", "build": {
"runArgs": ["--privileged"], "dockerfile": "Dockerfile",
"args": { "VARIANT": "rawhide" }
},
"remoteUser": "vscode",
"runArgs": [
"--privileged"
],
"customizations": { "customizations": {
"vscode": { "vscode": {
"extensions": [ "extensions": [
"rhaiscript.vscode-rhai", "rhaiscript.vscode-rhai"
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
] ]
} }
}, }
"remoteUser": "vscode",
"onCreateCommand": "sudo usermod -a -G mock vscode"
} }
-67
View File
@@ -1,67 +0,0 @@
name: Package Bug Report
description: Report an issue with a package.
title: "[BUG] "
labels: ["bug", "triage"]
#projects: ["octo-org/1", "octo-org/44"]
assignees:
- hamachitan
#type: bug
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: pkg
attributes:
label: Full Raw Package Name (e.g. anda-0.4.14-1.fcrawhide.x86_64)
description: |
If you report multiple packages, only the main package is needed if applicable, or separate them with spaces otherwise. Obtain the full package name using `rpm -qa pkg-name`.
**The format MUST BE LITERALLY THE SAME as `anda-0.4.14-1.fc43.x86_64`. Do NOT add anything else, not even backticks.**
placeholder: anda-0.4.14-1.fc43.x86_64 (MUST be under this format, no backticks)
validations:
required: true
- type: dropdown
id: releasever
attributes:
label: Release Version
description: Which version of Terra are you using?
options:
- frawhide
- f44
- f43
- f42
- el10
default: 1
- type: textarea
id: description
attributes:
label: Describe the Bug
description: A clear and concise description of what the bug is. Please only report issues with packaging or Terra itself, report upstream bugs to the respective project.
placeholder: A bug happened!
validations:
required: true
- type: textarea
id: repro
attributes:
label: To Reproduce
description: How can the bug be reproduced?
placeholder: |
1. `dnf install this-package`
2. run `this-package`
3. see error
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
placeholder: Running it should show hello world!
- type: textarea
id: logs
attributes:
label: Relevant Log Output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
@@ -1,14 +1,14 @@
--- ---
name: Incident Report name: Bug report
about: Report an issue with Terra itself about: Report an issue with a package (or Terra itself)
title: '[INCIDENT] ' title: '[BUG] '
labels: incident labels: bug
assignees: ['madonuko', 'korewaChino', 'lleyton'] assignees: ''
--- ---
**Describe the Incident** **Describe the bug**
A clear and concise description of what is going on. **If you want to report a problem with a package, please use the Package Bug Report option instead.** A clear and concise description of what the bug is. Please only report issues with packaging or Terra itself, report upstream bugs to the respective project.
**To Reproduce** **To Reproduce**
Steps to reproduce the behavior: Steps to reproduce the behavior:
@@ -23,7 +23,7 @@ If applicable, add screenshots to help explain your problem.
**Affected (please complete the following information):** **Affected (please complete the following information):**
- Distro [e.g. Fedora] - Distro [e.g. Fedora]
- Other relevant environments - Package [e.g. melody, srpm-macros]
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.
@@ -6,10 +6,3 @@ A clear and concise description of why you want this package. Would this provide
**Additional context** **Additional context**
Add any other context about the package submission here. Link to any relavent issues. Add any other context about the package submission here. Link to any relavent issues.
**Checklist**
- [] This package is maintained OR there is a valid reason to add it (e.g. python dependency)
- [] I have tested at least the `x86_64` version of the package
- [] I have read through any relevant [Terra](https://developer.fyralabs.com/terra) and [Fedora packaging](https://docs.fedoraproject.org/en-US/packaging-guidelines/) documentation/policies/guidelines
- [] I have made sure there are no security issues with this package to the best of my ability
- [] I have made sure this is not in Fedora (unless adding to the [extras repo](https://developer.fyralabs.com/terra/installing#extras)).
-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
-180
View File
@@ -1,180 +0,0 @@
// Configure sccache environment variables for GitHub Actions cache integration
//
// This script is still unused until we build terra-sccache with this supported,
// Turns out that Fedora's sccache build has the GHA feature support disabled.
//
// Note: ACTIONS_CACHE_SERVICE_V2 and SCCACHE_GHA_ENABLED are set at workflow level
module.exports = async ({ github, context, core, exec }) => {
// Find sccache path (try which command)
let sccachePath = "/usr/bin/sccache";
try {
const result = await exec.getExecOutput("which", ["sccache"], {
ignoreReturnCode: true,
silent: true,
});
if (result.exitCode === 0 && result.stdout.trim()) {
sccachePath = result.stdout.trim();
core.info(`Found sccache at: ${sccachePath}`);
}
} catch (e) {
core.debug(`Could not find sccache path: ${e.message}`);
}
// Check sccache version
try {
const versionResult = await exec.getExecOutput(sccachePath, ["--version"], {
ignoreReturnCode: true,
silent: true,
});
core.info(`sccache version: ${versionResult.stdout.trim()}`);
} catch (e) {
core.warning(`Could not get sccache version: ${e.message}`);
}
// Enable caching
core.exportVariable("RUSTC_WRAPPER", sccachePath);
core.exportVariable("SCCACHE_GHA_ENABLED", "true");
// Disable Cargo incremental builds to not interfere with caching
core.exportVariable("CARGO_INCREMENTAL", "false");
// Debug: Show what environment variables are available
core.info("=== Environment Variables Diagnostic ===");
core.info(`SCCACHE_GHA_ENABLED: ${process.env.SCCACHE_GHA_ENABLED}`);
core.info(
`ACTIONS_CACHE_SERVICE_V2: ${process.env.ACTIONS_CACHE_SERVICE_V2}`,
);
core.info(
`ACTIONS_RESULTS_URL: ${process.env.ACTIONS_RESULTS_URL ? "SET (length: " + process.env.ACTIONS_RESULTS_URL.length + ")" : "NOT SET"}`,
);
core.info(
`ACTIONS_RUNTIME_TOKEN: ${process.env.ACTIONS_RUNTIME_TOKEN ? "SET (length: " + process.env.ACTIONS_RUNTIME_TOKEN.length + ")" : "NOT SET"}`,
);
core.info(`RUSTC_WRAPPER: ${process.env.RUSTC_WRAPPER}`);
core.info(`SCCACHE_LOG: ${process.env.SCCACHE_LOG}`);
core.info("========================================");
// Export SCCACHE_PATH so it's available to subsequent steps
core.exportVariable("SCCACHE_PATH", sccachePath);
// Expose the GHA cache related variables to make it easier for users to
// integrate with GHA support (from upstream mozilla/sccache-action)
if (process.env.ACTIONS_RESULTS_URL) {
core.exportVariable("ACTIONS_RESULTS_URL", process.env.ACTIONS_RESULTS_URL);
core.info("✓ Exported ACTIONS_RESULTS_URL");
} else {
core.error(
"ACTIONS_RESULTS_URL is not set - GitHub Actions cache WILL NOT work",
);
}
if (process.env.ACTIONS_RUNTIME_TOKEN) {
core.exportVariable(
"ACTIONS_RUNTIME_TOKEN",
process.env.ACTIONS_RUNTIME_TOKEN,
);
core.info("✓ Exported ACTIONS_RUNTIME_TOKEN");
} else {
core.error(
"ACTIONS_RUNTIME_TOKEN is not set - GitHub Actions cache WILL NOT work",
);
}
// Set cache version and restore keys for this specific build matrix
if (process.env.SCCACHE_GHA_VERSION) {
core.exportVariable("SCCACHE_GHA_VERSION", process.env.SCCACHE_GHA_VERSION);
}
if (process.env.SCCACHE_GHA_CACHE_FROM) {
core.exportVariable(
"SCCACHE_GHA_CACHE_FROM",
process.env.SCCACHE_GHA_CACHE_FROM,
);
}
// Check if cache busting is enabled
const inputs =
(github &&
github.context &&
github.context.payload &&
github.context.payload.inputs) ||
{};
const rawBustCache =
inputs.bust_cache ??
inputs.bustCache ??
process.env.INPUT_BUST_CACHE ??
process.env.BUST_CACHE;
let bustCache = false;
if (typeof rawBustCache === "string") {
const v = rawBustCache.toLowerCase().trim();
bustCache = v === "true" || v === "1" || v === "yes";
} else {
bustCache = !!rawBustCache;
}
if (bustCache) {
core.exportVariable("SCCACHE_BUST_CACHE", "true");
core.exportVariable("SCCACHE_RECACHE", "1");
core.info("SCCACHE_RECACHE enabled because bust_cache is true");
}
// Stop any running sccache daemon so it picks up the new environment variables
core.info("Stopping any running sccache daemon to pick up configuration...");
try {
await exec.exec(sccachePath, ["--stop-server"], {
ignoreReturnCode: true,
});
core.info("✓ sccache daemon stopped successfully");
} catch (e) {
core.debug(
`Could not stop sccache daemon (it may not be running): ${e.message}`,
);
}
// Verify sccache can see the GHA environment variables by starting server with explicit env
core.info("Starting sccache server with GHA environment variables...");
const sccacheEnv = {
...process.env,
SCCACHE_GHA_ENABLED: process.env.SCCACHE_GHA_ENABLED || "on",
ACTIONS_CACHE_SERVICE_V2: process.env.ACTIONS_CACHE_SERVICE_V2 || "on",
};
try {
await exec.exec(sccachePath, ["--start-server"], {
ignoreReturnCode: true,
env: sccacheEnv,
});
core.info("✓ sccache server started");
} catch (e) {
core.warning(`Could not start sccache server: ${e.message}`);
}
// Show the current sccache configuration
core.info("Verifying sccache configuration:");
try {
const statsResult = await exec.getExecOutput(
sccachePath,
["--show-stats"],
{
ignoreReturnCode: true,
env: sccacheEnv,
},
);
// Check if it's using GitHub Actions cache
if (statsResult.stdout.includes("GitHub Actions")) {
core.info("✓ sccache is configured to use GitHub Actions cache");
} else if (statsResult.stdout.includes("Local disk")) {
core.error(
"✗ sccache is using Local disk cache instead of GitHub Actions cache!",
);
core.error(
"This means SCCACHE_GHA_ENABLED or required env vars are not being recognized.",
);
core.info("Stats output:");
core.info(statsResult.stdout);
}
} catch (e) {
core.debug(`Could not show sccache stats: ${e.message}`);
}
};
-121
View File
@@ -1,121 +0,0 @@
module.exports = async ({ github, context, core, exec }) => {
if (!exec) {
throw new Error("exec parameter is required but was not provided");
}
// Use SCCACHE_PATH if set, otherwise default to 'sccache' (will use PATH)
const sccachePath = process.env.SCCACHE_PATH || "sccache";
core.debug(`Using sccache path: ${sccachePath}`);
const percentage = (x, y) => Math.round((x / y) * 100 || 0);
const plural = (count, base, pluralForm = base + "s") =>
`${count} ${count === 1 ? base : pluralForm}`;
const sumStats = (stats) =>
Object.values(stats.counts).reduce((acc, val) => acc + val, 0);
const formatDuration = (duration) => {
const ms = duration.nanos / 1e6;
return `${duration.secs}s ${ms}ms`;
};
const formatJsonStats = (stats) => {
const cacheErrorCount = sumStats(stats.stats.cache_errors);
const cacheHitCount = sumStats(stats.stats.cache_hits);
const cacheMissCount = sumStats(stats.stats.cache_misses);
const totalHits = cacheHitCount + cacheMissCount + cacheErrorCount;
const ratio = percentage(cacheHitCount, totalHits);
const writeDuration = formatDuration(stats.stats.cache_write_duration);
const readDuration = formatDuration(stats.stats.cache_read_hit_duration);
const compilerDuration = formatDuration(
stats.stats.compiler_write_duration,
);
const noticeHit = plural(cacheHitCount, "hit");
const noticeMiss = plural(cacheMissCount, "miss", "misses");
const noticeError = plural(cacheErrorCount, "error");
const notice = `${ratio}% - ${noticeHit}, ${noticeMiss}, ${noticeError}`;
const table = [
[{ data: "Cache hit %", header: true }, { data: `${ratio}%` }],
[
{ data: "Cache hits", header: true },
{ data: cacheHitCount.toString() },
],
[
{ data: "Cache misses", header: true },
{ data: cacheMissCount.toString() },
],
[
{ data: "Cache errors", header: true },
{ data: cacheErrorCount.toString() },
],
[
{ data: "Compile requests", header: true },
{ data: stats.stats.compile_requests.toString() },
],
[
{ data: "Requests executed", header: true },
{ data: stats.stats.requests_executed.toString() },
],
[
{ data: "Cache writes", header: true },
{ data: stats.stats.cache_writes.toString() },
],
[
{ data: "Cache write errors", header: true },
{ data: stats.stats.cache_write_errors.toString() },
],
[{ data: "Cache write duration", header: true }, { data: writeDuration }],
[
{ data: "Cache read hit duration", header: true },
{ data: readDuration },
],
[
{ data: "Compiler write duration", header: true },
{ data: compilerDuration },
],
];
return { table, notice };
};
const getOutput = async (command, args = []) => {
core.debug(`get_output: ${command} ${args.join(" ")}`);
const output = await exec.getExecOutput(command, args, {
ignoreReturnCode: false,
silent: false,
});
if (!output.stdout.endsWith("\n")) {
process.stdout.write("\n");
}
return output.stdout.toString();
};
const humanStats = await core.group("Get human-readable stats", async () => {
return getOutput(sccachePath, ["--show-stats"]);
});
const jsonStats = await core.group("Get JSON stats", async () => {
return getOutput(sccachePath, ["--show-stats", "--stats-format=json"]);
});
const stats = JSON.parse(jsonStats);
const formattedStats = formatJsonStats(stats);
core.notice(formattedStats.notice, {
title: `sccache stats - ${context.job}`,
});
core.info("\nFull human-readable stats:");
core.info(humanStats);
core.summary.addHeading("sccache stats", 2);
core.summary.addTable(formattedStats.table);
core.summary.addDetails(
"Full human-readable stats",
"\n\n```\n" + humanStats + "\n```\n\n",
);
core.summary.addDetails(
"Full JSON Stats",
"\n\n```json\n" + JSON.stringify(stats, null, 2) + "\n```\n\n",
);
await core.summary.write();
};
+67 -94
View File
@@ -1,11 +1,6 @@
# for each folder in anda/ # for each folder in anda/
# generate a new workflow for each folder in anda/ # generate a new workflow for each folder in anda/
name: Automatically build packages name: Automatically build packages
permissions:
contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
push: push:
paths: paths:
@@ -23,7 +18,8 @@ on:
jobs: jobs:
manifest: manifest:
runs-on: ubuntu-24.04-arm runs-on: ubuntu-latest
outputs: outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }} build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container: container:
@@ -33,7 +29,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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Generate build matrix - name: Generate build matrix
@@ -41,98 +37,75 @@ jobs:
run: anda ci >> $GITHUB_OUTPUT run: anda ci >> $GITHUB_OUTPUT
build: build:
needs: manifest needs: manifest
uses: ./.github/workflows/json-build.yml strategy:
secrets: inherit matrix:
with: pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
packages: ${{ needs.manifest.outputs.build_matrix }} version: ["rawhide"]
publish: ${{ github.event_name == 'push' }} fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
appstream:
needs: build
runs-on: ubuntu-latest
container: container:
image: ghcr.io/terrapkg/appstream-generator:main image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Download artifacts - name: Checkout
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 uses: actions/checkout@v4
with: with:
merge-multiple: true fetch-depth: 0
path: ./artifacts
- name: Generate test catalog
id: catalog
# run appstream-builder, then add step summary
run: |
set -x
appstream-builder -v \
--packages-dir=artifacts/rpms \
--icons-dir=icons \
--include-failed \
--output-dir=output \
--uncompressed-icons \
--origin=test \
--basename=test \
--veto-ignore=missing-parents \
--veto-ignore=missing-info 2>&1 | tee asb.log
- name: Run appstreamcli validate - name: Set up git repository
if: steps.catalog.outcome == 'success' run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: CI Setup Script
if: ${{ matrix.pkg.labels.mock != '1' }}
run: | run: |
if stat output/test.xml.gz &>/dev/null; then dir=$(dirname ${{ matrix.pkg.pkg }})
echo "## AppStream MetaInfo Validation" >> $GITHUB_STEP_SUMMARY if [ -f $dir/ci_setup.rhai ]; then
echo "" >> $GITHUB_STEP_SUMMARY anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
echo '```xml' >> $GITHUB_STEP_SUMMARY
appstreamcli validate output/test.xml.gz >> $GITHUB_STEP_SUMMARY | true
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
else
echo "Nothing to do."
fi
- name: Export logs
id: export_logs
if: steps.catalog.outcome == 'success'
run: |
if stat output/*.xml.gz &>/dev/null; then
echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```log' >> $GITHUB_STEP_SUMMARY
cat asb.log >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '---' >> $GITHUB_STEP_SUMMARY
else
echo "Nothing to do."
fi fi
- name: Report Summary - name: Install Build Dependencies
id: report_summary if: ${{ matrix.pkg.labels.mock != '1' }}
if: steps.export_logs.outcome == 'success'
run: | run: |
echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY dir=$(dirname ${{ matrix.pkg.pkg }})
echo "" >> $GITHUB_STEP_SUMMARY dnf5 builddep -y ${dir}/*.spec
if stat output/*.xml.gz &>/dev/null; then
if grep -q "veto" asb.log; then - name: Build with Andaman
echo "::group::Vetoed packages" run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY - name: Generating artifact name
echo '```xml' >> $GITHUB_STEP_SUMMARY id: art
echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY run: |
echo '```' >> $GITHUB_STEP_SUMMARY NAME=${{ matrix.pkg.pkg }}-${{ matrix.pkg.arch }}-${{ matrix.version }}
echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details." x=${NAME//\//@}
echo "::endgroup::" echo "name=$x" >> $GITHUB_OUTPUT
fi
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY - uses: actions/upload-artifact@v4
echo "" >> $GITHUB_STEP_SUMMARY with:
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY name: ${{ steps.art.outputs.name }}
echo "" >> $GITHUB_STEP_SUMMARY compression-level: 0 # The RPMs are already compressed :p
for file in output/*.xml.gz; do path: |
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY anda-build/rpm/rpms/*
echo "" >> $GITHUB_STEP_SUMMARY anda-build/rpm/srpm/*
echo '```xml' >> $GITHUB_STEP_SUMMARY
zcat "$file" >> $GITHUB_STEP_SUMMARY || true - name: Upload packages to subatomic
echo '```' >> $GITHUB_STEP_SUMMARY if: github.event_name == 'push'
echo "" >> $GITHUB_STEP_SUMMARY run: |
done subatomic-cli upload --prune \
else --server https://subatomic.fyralabs.com \
echo "No appstream files found." >> $GITHUB_STEP_SUMMARY --token ${{ secrets.SUBATOMIC_TOKEN }} \
fi terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success() && github.event_name == 'push'
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
- name: Notify Madoguchi (Failure)
if: ( cancelled() || failure() ) && github.event_name == 'push'
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
+14 -42
View File
@@ -1,9 +1,5 @@
name: Bootstrap Andaman and Subatomic name: Bootstrap Andaman and Subatomic
permissions:
contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_dispatch: workflow_dispatch:
@@ -14,59 +10,42 @@ jobs:
version: ["rawhide"] version: ["rawhide"]
arch: ["x86_64", "aarch64"] arch: ["x86_64", "aarch64"]
fail-fast: true fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }} runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container: container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }} image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Install repositories - name: Install repositories
run: | run: |
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 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install Anda
run: cargo install anda
- uses: actions/checkout@v4
with: with:
ref: f${{ matrix.version }} ref: f${{ matrix.version }}
fetch-depth: 1 fetch-depth: 1
- name: Build anda-srpm-macros
run: |
mkdir -p anda-build/rpm/rpms
rpmbuild -bb anda/terra/srpm-macros/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/terra/srpm-macros/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Install build dependencies
run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
- name: Install Anda
run: |
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/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Build terra-mock-configs - name: Build terra-mock-configs
run: | run: |
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
export PATH=$PATH:/github/home/.cargo/bin export PATH=$PATH:/github/home/.cargo/bin
git config --global --add safe.directory "$GITHUB_WORKSPACE" git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -D "vendor Terra" -rrpmbuild anda/terra/mock-configs/pkg anda build -rrpmbuild anda/terra/mock-configs/pkg
- name: Install terra-mock-configs - name: Install terra-mock-configs
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
- name: Build terra-release - name: Build anda-srpm-macros
run: anda build -D "vendor Terra" -rrpmbuild anda/terra/release/pkg run: anda build -rrpmbuild anda/terra/srpm-macros/pkg
- name: Build terra-appstream-helper
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/buildsys/subatomic/pkg run: anda build -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: Build Andaman
run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64} | true run: anda build -rrpmbuild anda/tools/buildsys/anda/pkg
- name: Upload packages to subatomic - name: Upload packages to subatomic
run: | run: |
@@ -82,10 +61,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/*
+84 -43
View File
@@ -1,9 +1,4 @@
name: Manual Builds name: Manual Builds
permissions:
contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
@@ -15,53 +10,99 @@ on:
required: false required: false
default: "" default: ""
architecture: architecture:
description: "Architectures" description: "Architecture"
required: false required: false
default: "" default: all
type: string type: string
run-name: ${{ inputs.packages }}
jobs: jobs:
manifest: parse:
outputs: outputs:
build_matrix: ${{ steps.parsing.outputs.build_matrix }} pkgs: ${{ steps.parsing.outputs.pkgs }}
runs-on: ubuntu-24.04-arm builder: ${{ inputs.custom_builder }}
container: arch: ${{ steps.parsing.outputs.arch }}
image: ghcr.io/terrapkg/builder:frawhide runs-on: "ubuntu-latest"
options: --cap-add=SYS_ADMIN --privileged
steps: steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Setup Git
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
- name: Parse Input - name: Parse Input
id: parsing id: parsing
run: | run: |
for pkg in ${{ inputs.packages }}; do echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
touch anda/$pkg/.build echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
done arch="${{ inputs.architecture }}"
git add --all # Convert to json array using jq
git commit -a -m "tmp" # if arch is not all, convert to array
b=$(anda ci | sed -E 's@^build_matrix=@@') if [ "$arch" != "all" ]; then
if [ "${{ inputs.architecture }}" != "" ]; then # jq, array with single element as string
# e.g.: [ unique_by(.pkg)[] | (.arch="x86_64", .arch="aarch64") ] arch=$(echo $arch | sed 's/,/\n/g')
filter=`echo -n "${{ inputs.architecture }}" | tr '[:space:]' '\n' | sed -E '/^$/d; s@^.+$@.arch="\0"@' | tr '\n' ', '` echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
b=`echo $b | jq -c '[unique_by(.pkg)[] | ('"$filter"')]'` else
elif [ "${{ inputs.custom_builder }}" != "" ]; then echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
b=`echo $b | jq -c 'unique_by(.pkg)'`
fi fi
echo "build_matrix=$b" >> $GITHUB_OUTPUT
build: build:
needs: manifest needs: parse
uses: ./.github/workflows/json-build.yml strategy:
secrets: inherit matrix:
with: pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
packages: ${{ needs.manifest.outputs.build_matrix }} version: ["rawhide"]
custom_builder: ${{ inputs.custom_builder }} arch: ${{ fromJson(needs.parse.outputs.arch) }}
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: CI Setup Script
run: |
dir=${{ matrix.pkg }}
if [ -f $dir/ci_setup.rhai ]; then
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
fi
- name: Build with Andaman
run: anda build -rrpmbuild anda/${{ matrix.pkg }}pkg
- name: Generating artifact name
id: art
run: |
NAME=${{ matrix.pkg }}-${{ matrix.arch }}-${{ matrix.version }}
x=${NAME//\//@}
echo "name=$x" >> $GITHUB_OUTPUT
echo "labels=$(anda run andax/get_proj_label.rhai -l project=anda/${{ matrix.pkg }}anda.hcl)" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: ${{ steps.art.outputs.name }}
compression-level: 0 # The RPMs are already compressed :p
path: |
anda-build/rpm/rpms/*
anda-build/rpm/srpm/*
- name: Upload packages to subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['extra'] && '-extras' }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
+11 -75
View File
@@ -1,42 +1,10 @@
name: JSON Build name: JSON Build
permissions:
contents: read
attestations: write
artifact-metadata: write
id-token: write
on: on:
workflow_call:
inputs:
packages:
description: "Packages to Build"
required: true
type: string
publish:
description: "Whether the package should be published"
required: false
type: boolean
default: true
custom_builder:
description: "Custom Builder"
required: false
type: string
default: ""
bust_cache:
description: "Whether to bust the cache"
required: false
type: boolean
default: false
workflow_dispatch: workflow_dispatch:
inputs: inputs:
packages: packages:
description: "Packages to Build" description: "Packages to Build"
required: true required: true
type: string
publish:
description: "Whether the package should be published"
required: false
type: boolean
default: true
jobs: jobs:
build: build:
@@ -45,31 +13,19 @@ 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: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up git repository - name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Configure sccache
id: sccache
if: ${{ !contains(matrix.pkg.labels.sccache, '0') }}
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
SCCACHE_GHA_VERSION: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
SCCACHE_GHA_CACHE_FROM: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
with:
script: |
const script = require('./.github/scripts/configure-sccache.js')
await script({github, context, core, exec})
- name: CI Setup Script - name: CI Setup Script
if: ${{ !contains(matrix.pkg.labels, 'mock') }} if: ${{ !contains(matrix.pkg.labels, 'mock') }}
run: | run: |
@@ -79,21 +35,13 @@ jobs:
fi fi
- name: Install Build Dependencies - name: Install Build Dependencies
if: ${{ matrix.pkg.labels.mock != '1' }} if: ${{ !contains(matrix.pkg.labels, 'mock') }}
run: | run: |
dir=$(dirname ${{ matrix.pkg.pkg }}) dir=$(dirname ${{ matrix.pkg.pkg }})
dnf5 builddep -y ${dir}/*.spec dnf5 builddep -y ${dir}/*.spec
- name: Build with Andaman - name: Build with Andaman
run: anda build -D "vendor Terra" -D "__python %{__python3}" ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }} run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ contains(matrix.pkg.labels, 'mock') && '' || '-rrpmbuild' }}
- name: Report Cache Summary
if: steps.sccache.outcome == 'success'
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const script = require('./.github/scripts/sccache-stats.js')
await script({github, context, core, exec})
- name: Generating artifact name - name: Generating artifact name
id: art id: art
@@ -102,7 +50,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@v4
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
@@ -111,34 +59,22 @@ jobs:
anda-build/rpm/srpm/* anda-build/rpm/srpm/*
- name: Upload packages to subatomic - name: Upload packages to subatomic
if: inputs.publish
run: | run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \ subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \ --server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \ --token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/* terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic - name: Upload source packages to subatomic
if: inputs.publish && matrix.pkg.labels['no_upload_srpms'] != '1'
run: | run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \ subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \ --server https://subatomic.fyralabs.com \
--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['extra'] && '-extras' }}-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: 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
- name: Notify Madoguchi (Failure) - name: Notify Madoguchi (Failure)
if: inputs.publish && (cancelled() || failure()) if: cancelled() || failure()
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA" run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
+4 -4
View File
@@ -7,14 +7,14 @@ export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":
if [[ $1 == false ]]; then if [[ $1 == false ]]; then
d=${p/\%v/?} d=${p/\%v/?}
d=${d/\%r/?} d=${d/\%r/?}
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/f -X PUT -H "Content-Type: application/json" -d "$d" --fail-with-body curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci/terra$3/builds/f -X PUT -H "Content-Type: application/json" -d $d --fail-with-body
exit 0 exit 0
fi fi
for f in anda-build/rpm/rpms/*; do for f in anda-build/rpm/rpms/*; do
n=$(lesspipe.sh $f | grep -E "Name\s*: " | sed "s@Name\s*: @@" | head -n1) n=$(lesspipe.sh $f | grep -E "Name\s*: " | sed "s@Name\s*: @@")
v=$(lesspipe.sh $f | grep -E "Version\s*: " | sed "s@Version\s*: @@" | head -n1) v=$(lesspipe.sh $f | grep -E "Version\s*: " | sed "s@Version\s*: @@")
r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\s*: @@" | head -n1) r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\s*: @@")
d=${p/\%v/$v} d=${p/\%v/$v}
d=${d/\%r/$r} d=${d/\%r/$r}
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/$n -X PUT -H "Content-Type: application/json" -d $d --fail-with-body curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/$n -X PUT -H "Content-Type: application/json" -d $d --fail-with-body
-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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4
with:
sarif_file: results.sarif
+3 -7
View File
@@ -1,17 +1,13 @@
name: Automatic backport/sync action name: Automatic backport/sync action
permissions:
contents: read
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-latest
if: github.event.pull_request.merged if: github.event.pull_request.merged
steps: steps:
- name: Install SSH signing key - name: Install SSH signing key
@@ -27,7 +23,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@85813678d776774a19ec5af56bd3a04305946f8a # v12.0.0 uses: sorenlouv/backport-github-action@v9.3.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-
+5 -10
View File
@@ -1,6 +1,4 @@
name: Update per branch name: Update per branch
permissions:
contents: read
on: on:
schedule: schedule:
- cron: "*/30 * * * *" - cron: "*/30 * * * *"
@@ -8,23 +6,20 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions: runs-on: ubuntu-latest
contents: write
runs-on: ubuntu-24.04-arm
strategy: strategy:
matrix: matrix:
branch: branch:
- frawhide - frawhide
- f44 - f40
- f43 - f41
- f42
- el10 - el10
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
ref: ${{ matrix.branch }} ref: ${{ matrix.branch }}
fetch-depth: 0 fetch-depth: 0
@@ -53,7 +48,7 @@ jobs:
git config user.email "raboneko@fyralabs.com" git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh" git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key" git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(anda run andax/ci/update_commit_message.rhai)" msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
git push -u origin --all git push -u origin --all
fi fi
+4 -7
View File
@@ -1,14 +1,11 @@
name: Push comps updates name: Push comps updates
permissions:
contents: read
on: on:
push: push:
branches: branches:
- frawhide - frawhide
- f44 - f41
- f43 - f40
- f42
- el10 - el10
paths: paths:
- comps.xml - comps.xml
@@ -16,11 +13,11 @@ on:
jobs: jobs:
update-comps: update-comps:
runs-on: ubuntu-24.04-arm runs-on: ubuntu-latest
container: container:
image: ghcr.io/terrapkg/builder:frawhide image: ghcr.io/terrapkg/builder:frawhide
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/checkout@v4
- name: Push to subatomic - name: Push to subatomic
run: | run: |
branch=${{ github.ref_name }} branch=${{ github.ref_name }}
+5 -10
View File
@@ -1,6 +1,4 @@
name: Nightly Update name: Nightly Update
permissions:
contents: read
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * *"
@@ -8,15 +6,13 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions: runs-on: ubuntu-latest
contents: write
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
@@ -41,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com" git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh" git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key" git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(nightly): $(anda run andax/ci/update_commit_message.rhai)" msg="bump(nightly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
git format-patch HEAD^ git format-patch HEAD^
copy_over () { copy_over () {
@@ -50,9 +46,8 @@ jobs:
git add anda git add anda
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
} }
copy_over f44 || true copy_over f40 || true
copy_over f43 || true copy_over f41 || true
copy_over f42 || true
copy_over el10 || true copy_over el10 || true
git push -u origin --all git push -u origin --all
fi fi
+7 -12
View File
@@ -1,22 +1,18 @@
name: Weekly Update name: Weekly Update
permissions:
contents: read
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * 0"
workflow_dispatch: workflow_dispatch:
jobs: jobs:
autoupdate: autoupdate:
permissions: runs-on: ubuntu-latest
contents: write
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
@@ -29,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE" git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Weekly Update - name: Run Weekly Update
run: anda update --filters weekly=$(date "+%w") run: anda update --filters weekly=1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full RUST_BACKTRACE: full
@@ -41,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com" git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh" git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key" git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(weekly): $(anda run andax/ci/update_commit_message.rhai)" msg="bump(weekly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
git format-patch HEAD^ git format-patch HEAD^
copy_over () { copy_over () {
@@ -50,9 +46,8 @@ jobs:
git add anda git add anda
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
} }
copy_over f44 || true copy_over f40 || true
copy_over f43 || true copy_over f41 || true
copy_over f42 || true
copy_over el10 || true copy_over el10 || true
git push -u origin --all git push -u origin --all
fi fi
+5 -10
View File
@@ -1,6 +1,4 @@
name: Update name: Update
permissions:
contents: read
on: on:
schedule: schedule:
- cron: "*/10 * * * *" - cron: "*/10 * * * *"
@@ -8,15 +6,13 @@ on:
jobs: jobs:
autoupdate: autoupdate:
permissions: runs-on: ubuntu-latest
contents: write
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
@@ -41,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com" git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh" git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key" git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump: $(anda run andax/ci/update_commit_message.rhai)" msg="bump: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
git format-patch HEAD^ git format-patch HEAD^
copy_over () { copy_over () {
@@ -50,9 +46,8 @@ jobs:
git add anda git add anda
git commit -S -a -m "$msg" git commit -S -a -m "$msg"
} }
copy_over f44 || true copy_over f40 || true
copy_over f43 || true copy_over f41 || true
copy_over f42 || true
copy_over el10 || true copy_over el10 || true
git push -u origin --all git push -u origin --all
fi fi
-6
View File
@@ -1,8 +1,2 @@
anda-build/ anda-build/
**/*.tar* **/*.tar*
**/*.crate
**/*.zip
**/*.minisig
**/*.nupkg
**/*.rpm
**/*.kate-swp
+1 -4
View File
@@ -1,8 +1,5 @@
{ {
"recommendations": [ "recommendations": [
"rhaiscript.vscode-rhai", "rhaiscript.vscode-rhai"
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
] ]
} }
-9
View File
@@ -1,9 +0,0 @@
// There is no HCL extension, but the Terraform extension grants HCL support
{
"auto_install_extensions": {
"RPM Spec": true,
"XML": true,
"rhai": true,
"Terraform": true
}
}
+7 -47
View File
@@ -1,22 +1,18 @@
# Terra Sources # Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_40.svg?header=Terra+40)](https://repology.org/repository/terra_40)
[![Repository status](https://repology.org/badge/repository-big/terra_41.svg?header=Terra+41)](https://repology.org/repository/terra_41)
[![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
### Fedora
```bash ```bash
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
``` ```
@@ -27,51 +23,15 @@ If you are using immutable/atomic editions of Fedora, run the following commands
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
sudo rpm-ostree install terra-release sudo rpm-ostree install terra-release
``` ```
#### Subrepos
On Fedora, you can optionally install the Terra subrepos. Extra care and caution may be needed as some of these packages may conflict with other repositories such as RPM Fusion.
- 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-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.**
### Enterprise Linux (EL)
Only EL10 is supported. Not all packages available in Terra are available in Terra EL at this time.
Terra EL requires the EPEL repos, which may be installed with:
```bash
sudo dnf install 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-$releasever.noarch.rpm'
```
And Terra EL itself can be installed with:
```bash
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terrael$releasever' terra-release
```
## Contributions
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)
- [FAQ](https://docs.terrapkg.com/reference/faq)
- [Guidelines](https://docs.terrapkg.com/contributing/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
[pkgs.org](https://fedora.pkgs.org/rawhide/terra/) and [Repology](https://repology.org/) provide a list of the packages available in Terra.
## Questions? ## Questions?
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) - [Policy](https://developer.fyralabs.com/terra/policy)
-74
View File
@@ -1,74 +0,0 @@
Name: ktailctl
Version: 0.21.5
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: 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/wrapper
go mod vendor
%conf
%cmake
%build
%cmake_build
%install
%cmake_install
%files
%doc README.md
%license LICENSE.txt
%{_bindir}/ktailctl
%{_libdir}/qt6/qml/org/fkoehler/KTailctl/Components/*.qml
%{_libdir}/qt6/qml/org/fkoehler/KTailctl/Components/*.version
%{_libdir}/qt6/qml/org/fkoehler/KTailctl/Components/*.qmltypes
%{_libdir}/qt6/qml/org/fkoehler/KTailctl/Components/qmldir
# Exclusive libs that the package needs to run
%{_libdir}/qt6/qml/org/fkoehler/KTailctl/Components/libktailctl_components.so
%{_libdir}/libktailctl_wrapper_logging.so
%{_appsdir}/org.fkoehler.KTailctl.desktop
%{_scalableiconsdir}/org.fkoehler.KTailctl.svg
%{_metainfodir}/org.fkoehler.KTailctl.metainfo.xml
%changelog
* 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"));
-3
View File
@@ -3,7 +3,4 @@ project pkg {
rpm { rpm {
spec = "anki-bin.spec" spec = "anki-bin.spec"
} }
labels {
subrepo = "extras"
}
} }
+14 -19
View File
@@ -1,32 +1,29 @@
%global xurl https://files.pythonhosted.org/packages/2b/bc/36972ebb0c09effa41a1dc5f1e9c19b9fd85675cc3196f43559eeb3d0ceb/anki-25.9.4-cp39-abi3-manylinux_2_36_x86_64.whl %global xurl https://files.pythonhosted.org/packages/ef/fa/6c86371d0e3b71129d2a79e63fc3fdc17733c9ebbf77345c62caad8c9fca/anki-24.11-cp39-abi3-manylinux_2_28_x86_64.whl
%global aurl https://files.pythonhosted.org/packages/cb/8e/42e0a2e8f8e6da78571ff8e79dd65eef1602390d03349839a2f4397fdcb5/anki-25.9.4-cp39-abi3-manylinux_2_36_aarch64.whl %global aurl https://files.pythonhosted.org/packages/58/6e/9f2d4853a83e57cea48ccae3bc2d887bf7c0550042185e156bab23f524bf/anki-24.11-cp39-abi3-manylinux_2_31_aarch64.whl
%global qurl https://files.pythonhosted.org/packages/83/a1/a8e8c5bc7dda44c0decfdeb128ca308d65d7beca1a4131230e9abadef439/aqt-25.9.4-py3-none-any.whl %global qurl https://files.pythonhosted.org/packages/40/3c/b70ef91f1dad8248332971c0cbb2922277512789cadc33cb16233e360a56/aqt-24.11-py3-none-any.whl
Name: anki-bin Name: anki-bin
Version: 25.9.4 Version: 24.11
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/
BuildRequires: python3-pip rpm_macro(fdupes) cargo BuildRequires: python3-pip rpm_macro(fdupes) cargo
Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
Requires: python3-protobuf >= 4.21 Requires: libxcrypt-compat hicolor-icon-theme sox mpv
Requires: libxcrypt-compat hicolor-icon-theme sox ExclusiveArch: x86_64
Requires: (mpv or mpv-nightly)
ExclusiveArch: x86_64
Conflicts: anki Conflicts: anki
%ifarch x86_64 %ifarch x86_64
Source0: %xurl Source0: %xurl
%elifarch aarch64 %elifarch aarch64
Source0: %aurl Source0: %aurl
%endif %endif
Source1: %qurl Source1: %qurl
Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py
Source3: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.desktop Source3: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.desktop
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
Source5: https://raw.githubusercontent.com/ankitects/anki/%{version}/LICENSE Source5: https://raw.githubusercontent.com/ankitects/anki/%{version}/LICENSE
Source6: https://raw.githubusercontent.com/ankitects/anki/%{version}/README.md Source6: https://raw.githubusercontent.com/ankitects/anki/%{version}/README.md
@@ -60,8 +57,6 @@ rm -rf %buildroot%_bindir/{distro,flask,jsonschema,markdown_py,normalizer,send2t
%license LICENSE %license LICENSE
%doc README.md %doc README.md
%_bindir/anki %_bindir/anki
%_bindir/pyuic6
%_bindir/pylupdate6
/usr/lib/python*/site-packages/_aqt/ /usr/lib/python*/site-packages/_aqt/
/usr/lib/python*/site-packages/anki-%{version}.dist-info/ /usr/lib/python*/site-packages/anki-%{version}.dist-info/
/usr/lib/python*/site-packages/anki/ /usr/lib/python*/site-packages/anki/
@@ -74,5 +69,5 @@ rm -rf %buildroot%_bindir/{distro,flask,jsonschema,markdown_py,normalizer,send2t
* Fri Nov 10 2023 hazel-bunny <dabiswas112@gmail.com> - 23.10-2 * Fri Nov 10 2023 hazel-bunny <dabiswas112@gmail.com> - 23.10-2
- Add python3-orjson and mpv as dependencies - Add python3-orjson and mpv as dependencies
* Wed Jan 11 2023 madonuko <mado@fyralabs.com> - 2.1.60 * Wed Jan 11 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package - Initial package
+3 -3
View File
@@ -1,6 +1,6 @@
Name: anki-qt5 Name: anki-qt5
Version: 25.09.4 Version: 24.11
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/
@@ -62,5 +62,5 @@ find %{buildroot} -iname direct_url.json | xargs -r rm -rf
/usr/lib64/python*/site-packages/anki-%{version}.dist-info/ /usr/lib64/python*/site-packages/anki-%{version}.dist-info/
%changelog %changelog
* Tue Jan 3 2023 madonuko <mado@fyralabs.com> - 2.1.60 * Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package - Initial package
-3
View File
@@ -3,7 +3,4 @@ project pkg {
rpm { rpm {
spec = "anki.spec" spec = "anki.spec"
} }
labels {
subrepo = "extras"
}
} }
+9 -8
View File
@@ -1,16 +1,15 @@
Name: anki Name: anki
Version: 25.09.4 Version: 24.11
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
Obsoletes: anki <= 2.1.15 Obsoletes: anki <= 2.1.15
Conflicts: anki-qt5 Conflicts: anki-qt5
Patch0: 0001-No-update.patch Patch0: 0001-No-update.patch
@@ -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
@@ -67,5 +68,5 @@ chmod 755 %{buildroot}%{_bindir}/anki
%changelog %changelog
* Tue Jan 3 2023 madonuko <mado@fyralabs.com> - 2.1.60 * Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package - Initial package
@@ -1,11 +1,8 @@
%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.7
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
Name: audacity-freeworld Name: audacity-freeworld
Version: %{sanitized_ver} Version: Audacity.3.7.1
Release: 1%?dist Release: 1%?dist
Summary: Multitrack audio editor Summary: Multitrack audio editor
License: GPLv2 License: GPLv2
@@ -749,4 +746,4 @@ rm -f %{buildroot}%{_prefix}/%{realname}
- New upstream version 1.2.0-pre3 - New upstream version 1.2.0-pre3
* Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1 * Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1
- First Fedora release - First Fedora release
+1 -4
View File
@@ -1,4 +1 @@
rpm.global("ver", gh("audacity/audacity")); rpm.version(gh("audacity/audacity"));
if rpm.changed() {
rpm.release();
}
@@ -1,5 +1,5 @@
project pkg { project pkg {
rpm { rpm {
spec = "anda.spec" spec = "authy.spec"
} }
} }
+54
View File
@@ -0,0 +1,54 @@
%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: authy
Version: 2.5.0
Release: 1%{?dist}
Summary: Two factor authentication desktop application
License: Unlicense
URL: https://authy.com/
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_23.snap
Requires: gtk3
Requires: nss
BuildRequires: squashfs-tools desktop-file-utils
%description
%{summary}.
%prep
unsquashfs -q -f -d snap %{SOURCE0}
%build
%install
install -d %buildroot%_datadir/authy
cp -r snap/. %buildroot%_datadir/authy
sed -i 's|${SNAP}/meta/gui/icon.png|authy|g' %buildroot%_datadir/authy/meta/gui/authy.desktop
install -Dm644 %buildroot%_datadir/authy/meta/gui/authy.desktop -t %buildroot%_datadir/applications
install -Dm644 %buildroot%_datadir/authy/meta/gui/icon.png %buildroot%_datadir/pixmaps/authy.png
rm -rf %buildroot%_datadir/authy/{data-dir,gnome-platform,lib,meta,scripts,usr,*.sh}
install -d %buildroot%_bindir
ln -s %_datadir/authy/authy %buildroot%_bindir
%check
desktop-file-validate %buildroot%_datadir/applications/authy.desktop
%files
%_datadir/authy/
%_bindir/authy
%_datadir/applications/authy.desktop
%_datadir/pixmaps/authy.png
%changelog
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.3.0-2
- Use /usr/share/ instead of /opt/
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com> - 2.2.1-2
- Initial release
+5
View File
@@ -0,0 +1,5 @@
let req = new_req("https://api.snapcraft.io/v2/snaps/info/authy");
req.head("Snap-Device-Series", "16");
let obj = json(req.get())["channel-map"][0];
rpm.version(obj.version);
rpm.source(0, obj.download.url);
-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: 2%?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"));
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "bazzite-portal.spec"
}
}
@@ -1,42 +0,0 @@
Name: bazzite-portal
Version: 0.2.3
Release: 1%{?dist}
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
Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz
License: GPL-3.0-only
Requires: python3-gobject
Requires: python3-PyYAML
Requires: gtk4
Provides: Bazzite-Portal
BuildArch: noarch
Packager: Zacharias Xenakis <xarishark@outlook.com>
%description
%{summary}.
%prep
%autosetup -n yafti-gtk-%{version}
%build
%install
install -Dm 755 yafti_gtk.py %{buildroot}%{_bindir}/yafti_gtk.py
install -Dm 644 io.github.ublue_os.yafti_gtk.desktop %{buildroot}%{_appsdir}/io.github.ublue_os.yafti_gtk.desktop
install -Dm 644 portal.svg %{buildroot}%{_scalableiconsdir}/io.github.ublue_os.yafti_gtk.svg
install -Dm 644 io.github.ublue_os.yafti_gtk.metainfo.xml %{buildroot}%{_metainfodir}/io.github.ublue_os.yafti_gtk.metainfo.xml
%files
%doc README.md
%license LICENSE
%{_bindir}/yafti_gtk.py
%{_appsdir}/io.github.ublue_os.yafti_gtk.desktop
%{_scalableiconsdir}/io.github.ublue_os.yafti_gtk.svg
%{_metainfodir}/io.github.ublue_os.yafti_gtk.metainfo.xml
%changelog
* Sun Apr 19 2026 Xarishark <xarishark@outlook.com>
- Upgraded to GTK4
* Wed Jan 28 2026 Xarishark <xarishark@outlook.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("ublue-os/yafti-gtk"));
-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"));
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "bitwarden-cli.bin.spec"
}
}
@@ -1,25 +0,0 @@
Name: bitwarden-cli.bin
Version: 2026.5.0
Release: 1%{?dist}
Summary: Bitwarden command-line client
License: GPL-3.0-only
URL: https://bitwarden.com
Source0: https://github.com/bitwarden/clients/releases/download/cli-v%version/bw-oss-linux-%version.zip
Packager: madonuko <mado@fyralabs.com>
Provides: bw
ExclusiveArch: x86_64
BuildRequires: unzip
%description
%summary.
%prep
unzip %{S:0}
%install
install -Dpm755 bw -t %buildroot%_bindir
%files
%_bindir/bw
-5
View File
@@ -1,5 +0,0 @@
let v = gh("bitwarden/clients");
if v.starts_with("cli-v") {
v.crop(5);
rpm.version(v);
}
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "bitwarden-cli.spec"
}
labels {
updbranch = 1
}
}
@@ -1,40 +0,0 @@
%define debug_package %nil
%global __strip /bin/true
%ifarch aarch64
%global armsuffix -arm64
%endif
Name: bitwarden-cli
Version: 2026.5.0
Release: 1%{?dist}
Summary: Bitwarden command-line client
License: GPL-3.0-only
URL: https://bitwarden.com
Source0: https://github.com/bitwarden/clients/archive/refs/tags/cli-v%version.tar.gz
Packager: madonuko <mado@fyralabs.com>
Provides: bw
BuildRequires: nodejs-npm
BuildRequires: gcc-c++ gcc make
%description
%summary.
%prep
%autosetup -n clients-cli-v%version
npm i
%build
pushd apps/cli
npm i
npm run dist:oss:lin%?armsuffix
%install
install -Dm755 apps/cli/dist/oss/linux%?armsuffix/bw -t %buildroot%_bindir
%files
%doc README.md SECURITY.md CONTRIBUTING.md
%license LICENSE.txt LICENSE_GPL.txt LICENSE_BITWARDEN.txt
%_bindir/bw
-3
View File
@@ -1,3 +0,0 @@
import "andax/bump_extras.rhai" as bump;
rpm.version(bump::madoguchi("bitwarden-cli.bin", labels.branch));
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "blackbox-terminal.spec"
}
}
@@ -0,0 +1,58 @@
Name: blackbox-terminal
Version: 0.14.0
Release: 1%{?dist}
Summary: A beautiful GTK 4 terminal
License: GPL-3.0
URL: https://gitlab.gnome.org/raggesilver/blackbox
BuildRequires: vala meson gettext
BuildRequires: pkgconfig(gtk4) >= 4.6.2
BuildRequires: pkgconfig(gio-2.0) >= 2.50
BuildRequires: libadwaita-devel >= 1.1
BuildRequires: pkgconfig(pqmarble) >= 2
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.69.0
BuildRequires: pkgconfig(json-glib-1.0) >= 1.4.4
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.12
BuildRequires: pkgconfig(librsvg-2.0) >= 2.54.0
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(graphene-gobject-1.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: desktop-file-utils libappstream-glib cmake
Source0: %url/-/archive/v%version/blackbox-v%version.tar.gz
%description
%{summary}.
%prep
%autosetup -p1 -n blackbox-v%version
%build
%meson
%meson_build
%install
%meson_install
%check
appstream-util validate-relax --nonet %buildroot/%_datadir/metainfo/com.raggesilver.BlackBox.metainfo.xml
%files
%doc README.md
%license COPYING
%_bindir/blackbox
%_bindir/terminal-toolbox
%_datadir/applications/com.raggesilver.BlackBox.desktop
%_datadir/metainfo/com.raggesilver.BlackBox.metainfo.xml
%_datadir/blackbox/
%_datadir/glib-2.0/schemas/com.raggesilver.BlackBox.gschema.xml
%_datadir/icons/hicolor/scalable/actions/com.raggesilver.BlackBox-fullscreen-symbolic.svg
%_datadir/icons/hicolor/scalable/actions/com.raggesilver.BlackBox-show-headerbar-symbolic.svg
%_datadir/icons/hicolor/scalable/actions/external-link-symbolic.svg
%_datadir/icons/hicolor/scalable/actions/settings-symbolic.svg
%_datadir/icons/hicolor/scalable/apps/com.raggesilver.BlackBox.svg
%_datadir/locale/*/LC_MESSAGES/blackbox.mo
%changelog
* Sun Oct 23 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
+4
View File
@@ -0,0 +1,4 @@
let txt = get("https://gitlab.gnome.org/api/v4/projects/20397/releases/");
let ver = txt.json_arr()[0].tag_name;
ver.crop(1);
rpm.version(ver);
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "chdig.spec"
}
}
-35
View File
@@ -1,35 +0,0 @@
%undefine __brp_mangle_shebangs
Name: chdig
Version: 26.5.1
Release: 1%{?dist}
Summary: Dig into ClickHouse with TUI interface
URL: https://github.com/azat/chdig
Source0: %url/archive/refs/tags/v%{version}.tar.gz
License: MIT
BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold clang fontconfig-devel glib2 libgcc
%description
%{summary}.
%prep
%autosetup -n %{name}-%{version}
%cargo_prep_online
%build
%cargo_build
%install
install -Dm755 target/rpm/chdig %{buildroot}%{_bindir}/chdig
%cargo_license_summary_online
%{cargo_license_online -a} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/chdig
%changelog
* Fri Nov 14 2025 Owen Zimmerman <owen@fyralabs.com>
- Intial Commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("azat/chdig"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "chrultrabook-tools.spec"
}
}
@@ -1,74 +0,0 @@
%undefine __brp_mangle_shebangs
Name: chrultrabook-tools
Version: 3.1.6
Release: 1%{?dist}
Summary: User-friendly configuration utility for Chromebooks running an alternate OS
URL: https://github.com/death7654/Chrultrabook-Tools
Source0: %url/archive/refs/tags/%version.tar.gz
License: GPL-3.0-only AND MPL-2.0 AND MIT-0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND (CC0-1.0 OR Apache-2.0) AND BSL-1.0 AND BlueOak-1.0.0 AND CC0-1.0 AND (BSD-3-Clause OR Apache-2.0) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-2-Clause AND ISC AND MIT AND (Apache-2.0 OR MIT) AND BSD-3-Clause AND NCSA AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) AND (Apache-2.0/MIT) AND CDLA-Permissive-2.0 AND (MIT OR Zlib 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 Apache-2.0 OR BSD-1-Clause) AND Unlicense
BuildRequires: cargo
BuildRequires: glib2
BuildRequires: glib2-devel
BuildRequires: gtk3
BuildRequires: gtk3-devel
BuildRequires: javascriptcoregtk4.1
BuildRequires: javascriptcoregtk4.1-devel
BuildRequires: libsoup3
BuildRequires: libsoup3-devel
BuildRequires: libappindicator-gtk3
BuildRequires: libappindicator-devel
BuildRequires: gstreamer1
BuildRequires: gstreamer1-devel
BuildRequires: patchelf
BuildRequires: libstdc++-static
BuildRequires: libxdo-devel
BuildRequires: anda-srpm-macros
BuildRequires: rustc
BuildRequires: %{tauri_buildrequires -a}
# This may seem weird, but https://github.com/nodejs/node/issues/51752#issuecomment-2970163641
BuildRequires: nodejs-full-i18n
Requires: chromium-ectool
Requires: coreboot-utils-cbmem
Requires: libayatana-appindicator-gtk3
Requires: libayatana-ido-gtk3
Requires: libayatana-indicator-gtk3
Packager: Owen Zimmerman owen@fyralabs.com
%description
%summary.
%prep
%autosetup -n Chrultrabook-Tools-%version
%tauri_prep
%build
%npm_build -r build -B
%install
%tauri_install
install -Dm755 src-tauri/linux/chrultrabook-tools-root %{buildroot}%{_bindir}/chrultrabook-tools-root
install -Dm644 src-tauri/linux/chrultrabook-tools.desktop %{buildroot}%{_appsdir}/chrultrabook-tools.desktop
install -Dm644 src-tauri/icons/128x128.png %{buildroot}%{_hicolordir}/128x128/apps/chrultrabook-tools.png
# Not matching, but upstream does it this way. Working with upstream to correct this issue.
install -Dm644 src-tauri/icons/128x128@2x.png %{buildroot}%{_hicolordir}/256x256@2/apps/chrultrabook-tools.png
install -Dm644 src-tauri/icons/32x32.png %{buildroot}%{_hicolordir}/32x32/apps/chrultrabook-tools.png
install -Dm644 src-tauri/linux/com.chrultrabook.tools.policy %{buildroot}%{_datadir}/polkit-1/actions/com.chrultrabook.tools.policy
%{tauri_cargo_license} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/chrultrabook-tools
%{_bindir}/chrultrabook-tools-root
%{_appsdir}/chrultrabook-tools.desktop
%{_hicolordir}/*x*/apps/chrultrabook-tools.png
%{_datadir}/polkit-1/actions/com.chrultrabook.tools.policy
%changelog
* Mon Jan 19 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("death7654/Chrultrabook-Tools"));
+71 -53
View File
@@ -8,93 +8,106 @@ 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: 1.4.5
Release: 1%{?dist} Release: 1%?dist
Summary: Cooling device control for Linux Summary: Cooling device control for Linux
ExclusiveArch: x86_64 aarch64
License: GPL-3.0-or-later License: GPL-3.0-or-later
URL: https://gitlab.com/coolercontrol/coolercontrol URL: https://gitlab.com/coolercontrol/coolercontrol
Source0: %url/-/archive/%version/coolercontrol-%version.tar.gz Source0: %url/-/archive/%version/coolercontrol-%version.tar.gz
Packager: madonuko <mado@fyralabs.com> Packager: madonuko <mado@fyralabs.com>
Provides: coolercontrol-ui
Provides: coolercontrol-gui
Requires: hicolor-icon-theme Requires: hicolor-icon-theme
Requires: coolercontrold = %{version} Requires: webkit2gtk4.1
BuildRequires: pkgconfig(appstream-glib) Requires: libappindicator-gtk3
Requires: coolercontrold
BuildRequires: git-core make nodejs-npm libdrm-devel curl wget file mold
BuildRequires: systemd-rpm-macros anda-srpm-macros cargo >= 1.75.0 cargo-rpm-macros
BuildRequires: autoconf automake binutils bison flex gcc gcc-c++ gdb libtool pkgconf strace
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
BuildRequires: libappindicator-gtk3-devel
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: make
BuildRequires: cmake
BuildRequires: autoconf automake gcc gcc-c++
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6WebEngineCore)
BuildRequires: cmake(Qt6WebEngineWidgets)
BuildRequires: cmake(Qt6WebChannel)
%description %_desc %description %_desc
%package liqctld
Summary: CoolerControl daemon for interacting with liquidctl devices on a system level
Requires: coolercontrold
%description liqctld %_desc
coolercontrol-liqctld is a CoolerControl daemon for interacting with liquidctl devices on a system level, and is
installed as the coolercontrol-liqctld application. Its main purpose is to wrap the underlying
liquidctl library providing an API interface that the main coolercontrol daemon interacts with.
It also enables parallel device communication and access to specific device properties.
%package -n coolercontrold %package -n coolercontrold
Summary: Monitor and control your cooling devices. Summary: Monitor and control your cooling devices.
License: GPL-3.0-or-later AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND AGPL-3.0-or-later AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-3-Clause AND MIT AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (CC0-1.0 OR Apache-2.0) AND ISC 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 (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) Requires: coolercontrol-liqctld
BuildRequires: anda-srpm-macros cargo-rpm-macros rust-srpm-macros
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libdrm_amdgpu)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(protobuf)
BuildRequires: nodejs-npm
Recommends: python3-liquidctl
%description -n coolercontrold %_desc %description -n coolercontrold %_desc
This is the system daemon for CoolerControl. coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
CoolerControl is an open-source application for monitoring and controlling supported cooling "coolercontrold". It is meant to run in the background as a system daemon. It handles all device
devices. It features an intuitive interface, flexible control options, and live thermal data to keep communication and data management, additionally connecting to the liqctld daemon for liquidctl
your system quiet, cool, and stable. supported devices. It has an API that services client programs like the coolercontrol-gui.
%prep %prep
%autosetup %autosetup
pushd coolercontrold pushd coolercontrold
%cargo_prep_online %cargo_prep_online &
popd popd
pushd coolercontrol-ui pushd coolercontrol-ui
npm ci --prefer-offline & npm ci --prefer-offline &
pushd src-tauri
%cargo_prep_online &
popd
popd popd
wait wait
%build %build
pushd coolercontrol-ui
%make_build
popd
pushd coolercontrold pushd coolercontrold
%{cargo_license_online} > LICENSE.dependencies %{cargo_license_online} > LICENSE.dependencies &
%{cargo_license_summary_online} %cargo_build -- &
wait
cp -rfp ../coolercontrol-ui/dist/* resources/app/
%{cargo_build} --locked
popd popd
pushd coolercontrol pushd coolercontrol-liqctld
%cmake %pyproject_wheel
%cmake_build
popd popd
pushd coolercontrol-ui
npm run build &
pushd src-tauri
%{cargo_license_online} > LICENSE.dependencies &
wait
%cargo_build -f custom-protocol
popd
popd
%install %install
pushd coolercontrol-liqctld
#define _pyproject_wheeldir .
%pyproject_install
%pyproject_save_files coolercontrol_liqctld
popd
pushd coolercontrold pushd coolercontrold
install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
popd popd
pushd coolercontrol/ pushd coolercontrol-ui/src-tauri
%cmake_install install -Dpm755 target/rpm/coolercontrol %buildroot%_bindir/coolercontrol
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/%name/LICENSE.dependencies
popd popd
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
desktop-file-install --dir=%buildroot%_datadir/applications packaging/metadata/%rdnn.desktop desktop-file-install --dir=%buildroot%_datadir/applications packaging/metadata/%rdnn.desktop
install -Dpm644 packaging/metadata/%rdnn.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn.svg install -Dpm644 packaging/metadata/%rdnn.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn.svg
install -Dpm644 packaging/metadata/%rdnn-alert.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn-alert.svg install -Dpm644 packaging/metadata/%rdnn.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn.svg
install -Dpm644 packaging/metadata/%rdnn-symbolic.svg %buildroot%_iconsdir/hicolor/symbolic/apps/%rdnn-symbolic.svg
install -Dpm644 packaging/metadata/%rdnn-symbolic-alert.svg %buildroot%_iconsdir/hicolor/symbolic/apps/%rdnn-symbolic-alert.svg
install -Dpm644 packaging/metadata/%rdnn.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn.png
install -Dpm644 packaging/metadata/%rdnn-alert.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn-alert.png
for f in packaging/systemd/*.service; do for f in packaging/systemd/*.service; do
install -Dpm644 $f %buildroot%_unitdir/$(basename $f) install -Dpm644 $f %buildroot%_unitdir/$(basename $f)
done done
@@ -103,6 +116,7 @@ install -Dpm644 packaging/metadata/%rdnn.metainfo.xml %buildroot%_metainfodir/%r
%check %check
appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
%pyproject_check_import
%post -n coolercontrold %post -n coolercontrold
@@ -114,17 +128,18 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
%postun -n coolercontrold %postun -n coolercontrold
%systemd_postun_with_restart coolercontrold.service %systemd_postun_with_restart coolercontrold.service
# coolercontrold.service automatically uses the liqctld service, so there are
# no scriptlets for liqctld.
%files %files
%doc README.md %doc README.md
%doc CHANGELOG.md
%license LICENSE %license LICENSE
%license LICENSE.dependencies
%_bindir/coolercontrol %_bindir/coolercontrol
%_datadir/applications/%rdnn.desktop %_datadir/applications/%rdnn.desktop
%_datadir/metainfo/%rdnn.metainfo.xml %_datadir/metainfo/%rdnn.metainfo.xml
%_iconsdir/hicolor/*/apps/%rdnn.* %_iconsdir/hicolor/*/apps/%rdnn.svg
%_iconsdir/hicolor/*/apps/%rdnn-alert.*
%_iconsdir/hicolor/*/apps/%rdnn-symbolic.svg
%_iconsdir/hicolor/*/apps/%rdnn-symbolic-alert.svg
%files -n coolercontrold %files -n coolercontrold
%doc coolercontrold/README.md %doc coolercontrold/README.md
@@ -133,9 +148,12 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
%_bindir/coolercontrold %_bindir/coolercontrold
%_unitdir/coolercontrold.service %_unitdir/coolercontrold.service
%changelog %files liqctld -f %pyproject_files
* Sat Feb 28 2026 Guy Boldon <gb@guyboldon.com> - 3.1.1-2 %doc coolercontrol-liqctld/README.md
- Updated dependencies and build to match current version %license LICENSE
%_bindir/coolercontrol-liqctld
%_unitdir/coolercontrol-liqctld.service
%changelog
* Thu Aug 15 2024 madonuko <mado@fyralabs.com> - 1.4.0-1 * Thu Aug 15 2024 madonuko <mado@fyralabs.com> - 1.4.0-1
- Initial package - Initial package
@@ -6,8 +6,8 @@
%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.1189 Version: 0.0.555
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
@@ -54,7 +54,7 @@ ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord
%changelog %changelog
* Wed Jan 18 2023 madonuko <mado@fyralabs.com> - 0.0.146-1 * Wed Jan 18 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.146-1
- Renamed from openasar-canary to discord-canary-openasar - Renamed from openasar-canary to discord-canary-openasar
- Fix issues after removing discord-canary package - Fix issues after removing discord-canary package
- Bundle discord-canary - Bundle discord-canary
+28 -25
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.1189 Version: 0.0.555
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,27 +25,27 @@ 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/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
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.143-1 * Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 0.0.143-1
- new version - new version
* Fri Oct 28 2022 root - 0.0.142-1 * Fri Oct 28 2022 root - 0.0.142-1
@@ -57,10 +60,10 @@ cp %{SOURCE1} -t .
* Thu Oct 27 2022 root - 0.0.141-1 * Thu Oct 27 2022 root - 0.0.141-1
- new version - new version
* Wed Oct 19 2022 madonuko <mado@fyralabs.com> - 0.0.140-1 * Wed Oct 19 2022 windowsboy111 <wboy111@outlook.com> - 0.0.140-1
- new version - new version
* Sun Oct 16 2022 madonuko <mado@fyralabs.com> - 0.0.139 * Sun Oct 16 2022 windowsboy111 <wboy111@outlook.com> - 0.0.139
- Repackaged for Terra - Repackaged for Terra
* Tue Feb 22 2022 Ultramarine Release Tracking Service - 0.0.133-2 * Tue Feb 22 2022 Ultramarine Release Tracking Service - 0.0.133-2
@@ -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.141 Version: 0.0.78
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
@@ -54,5 +54,5 @@ ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
%changelog %changelog
* Sat Jan 21 2023 madonuko <mado@fyralabs.com> - 0.0.38-1 * Sat Jan 21 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.38-1
- Initial package - Initial package
@@ -6,8 +6,8 @@
%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.193 Version: 0.0.124
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
@@ -56,5 +56,5 @@ ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-open
%changelog %changelog
* Sat Jan 21 2023 madonuko <mado@fyralabs.com> - 0.0.38-1 * Sat Jan 21 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.38-1
- Initial package - Initial package
+32 -25
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.193 Version: 0.0.124
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,28 +29,28 @@ 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 * Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 0.0.35-1
- Update build for new bootstrap format
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.35-1
- new version - new version
* Thu Oct 20 2022 madonuko <mado@fyralabs.com> - 0.0.34-1 * Thu Oct 20 2022 windowsboy111 <wboy111@outlook.com> - 0.0.34-1
- new version - new version
* Sun Oct 16 2022 madonuko <mado@fyralabs.com> - 0.0.33 * Sun Oct 16 2022 windowsboy111 <wboy111@outlook.com> - 0.0.33
- Initial Package. - Initial Package.
+33 -27
View File
@@ -1,17 +1,24 @@
Name: discord %define debug_package %{nil}
Version: 1.0.141 %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.78
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 * Thu Jan 19 2023 windowsboy111 <wboy111@outlook.com> - 0.0.143-1
- 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
- Initial package - Initial package
-63
View File
@@ -1,63 +0,0 @@
%undefine __brp_mangle_shebangs
Name: dorion
Version: 6.12.2
Release: 1%{?dist}
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
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)
URL: https://spikehd.dev/projects/dorion
Source0: https://github.com/SpikeHD/Dorion/archive/refs/tags/v%version.tar.gz
Source1: https://raw.githubusercontent.com/uwu/shelter-builds/main/shelter.js
Packager: madonuko <mado@fyralabs.com>
BuildRequires: pnpm rpm_macro(cargo_install) rust-packaging
BuildRequires: cmake gcc-c++
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1)
BuildRequires: pkgconfig(openssl)
%description
Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more!
%prep
%autosetup -n Dorion-%version
pnpm i
cat<<EOF > Dorion.desktop
[Desktop Entry]
Categories=Network;
Exec=Dorion
Icon=Dorion
Name=Dorion
Terminal=false
Type=Application
MimeType=x-scheme-handler/discord
EOF
cd src-tauri
%cargo_prep_online
cp %{S:1} injection/shelter.js
%build
pnpm run build:js
cd src-tauri
cd extension_webkit
%cmake
%cmake_build
cp %__cmake_builddir/libextension.so .
cd ..
%cargo_license_summary_online
%{cargo_license_online} > ../LICENSE.dependencies
%install
install -Dpm655 Dorion.desktop -t %buildroot%_datadir/applications
cd src-tauri
%cargo_install
install -Dpm644 icons/icon.png %buildroot%_iconsdir/hicolor/512x512/apps/Dorion.png
%files
%doc README.md
%license LICENSE LICENSE.dependencies
%_bindir/Dorion
%_iconsdir/hicolor/512x512/apps/Dorion.png
%_datadir/applications/Dorion.desktop
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_rawfile("SpikeHD/Dorion", "main", "package.json").json().version);
+7 -23
View File
@@ -1,61 +1,45 @@
%global commit 5704db300594aef6b7a38399c217eac5c704ccb8 %global commit 1c3b4decb50593268c16cf8b47397fb3a7a87c9d
%global commit_date 20260519 %global commit_date 20250105
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly Name: envision
Version: %commit_date.%shortcommit Version: %commit_date.%shortcommit
Release: 1%{?dist} Release: 1%?dist
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
SourceLicense: AGPL-3.0-or-later License: AGPL-3.0-or-later
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND AGPL-3.0-or-later 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 Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND ISC AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib
URL: https://gitlab.com/gabmus/envision/ URL: https://gitlab.com/gabmus/envision/
Source0: %url/-/archive/%commit/envision-%commit.tar.gz Source0: %url/-/archive/%commit/envision-%commit.tar.gz
BuildRequires: anda-srpm-macros BuildRequires: meson ninja-build cargo
BuildRequires: cargo
BuildRequires: cargo-rpm-macros
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: pkgconfig(glib-2.0) >= 2.66 BuildRequires: pkgconfig(glib-2.0) >= 2.66
BuildRequires: pkgconfig(gio-2.0) >= 2.66 BuildRequires: pkgconfig(gio-2.0) >= 2.66
BuildRequires: pkgconfig(gtk4) >= 4.10.0 BuildRequires: pkgconfig(gtk4) >= 4.10.0
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0 BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
BuildRequires: pkgconfig(libadwaita-1) BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(openssl) BuildRequires: openssl-devel-engine
BuildRequires: openxr-devel BuildRequires: openxr-devel
BuildRequires: libappstream-glib BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: glib2-devel BuildRequires: glib2-devel
BuildRequires: git-core BuildRequires: git-core
Recommends: android-tools Recommends: android-tools
Conflicts: envision
%description %description
%summary. %summary.
%prep %prep
%autosetup -n envision-%commit %autosetup -n envision-%commit
%cargo_prep_online
%build %build
# generate constants.rs from constants.rs.in
%meson %meson
# skip subdir
sed -E "/^subdir\('src'\)/d" -i meson.build
%meson --reconfigure
%meson_build %meson_build
%install %install
%meson_install %meson_install
%cargo_install
%{cargo_license_online} > LICENSE.dependencies
%files %files
%doc README.md %doc README.md
%license LICENSE %license LICENSE
%license LICENSE.dependencies
%_bindir/envision %_bindir/envision
%_datadir/applications/org.gabmus.envision.Devel.desktop %_datadir/applications/org.gabmus.envision.Devel.desktop
%_datadir/envision/ %_datadir/envision/
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "falcond-gui.spec"
}
}
-54
View File
@@ -1,54 +0,0 @@
%global appid com.pikaos.falcondgui
Name: falcond-gui
Version: 1.0.3
Release: 1%{?dist}
Summary: A GTK4/LibAdwaita application to control and monitor the Falcond gaming optimization daemon
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)
URL: https://git.pika-os.com/general-packages/falcond-gui
Source0: %{url}/archive/v%{version}.tar.gz
BuildRequires: anda-srpm-macros
BuildRequires: cargo-rpm-macros
BuildRequires: desktop-file-utils
BuildRequires: gtk4-devel
BuildRequires: libadwaita-devel
BuildRequires: mold
Requires: gtk4
Requires: falcond
Requires: falcond-profiles
Requires: libadwaita
Requires(post): gtk-update-icon-cache
Packager: Gilver E. <roachy@fyralabs.com>
%description
falcond-gui provides a user-friendly graphical interface for managing falcond. It allows users to view the status of the daemon and customize its behavior.
%prep
%autosetup -n %{name}/%{name}
%cargo_prep_online
%build
%install
%cargo_install
%desktop_file_install res/%{appid}.desktop
install -Dm644 res/%{appid}.png -t %{buildroot}%{_hicolordir}/512x512/apps/
%{cargo_license_online} > LICENSE.dependencies
%check
%desktop_file_validate %{buildroot}%{_datadir}/applications/%{appid}.desktop
%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/ &>/dev/null || :
%files
%doc ../README.md
%license ../LICENSE.md
%{_bindir}/%{name}
%{_hicolordir}/512x512/apps/%{appid}.png
%{_appsdir}/%{appid}.desktop
%changelog
* Thu Jan 1 2026 Gilver E. <roachy@fyralabs.com> - 1.0.0-1
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(gitea("git.pika-os.com", "general-packages/falcond-gui"));
+8 -9
View File
@@ -6,15 +6,14 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin Name: feishin
Version: 1.13.0 Version: 0.12.1
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
Source0: %url/archive/refs/tags/v%version.tar.gz Source0: %url/archive/refs/tags/v%version.tar.gz
Requires: fuse mpv Requires: fuse mpv
Packager: madonuko <mado@fyralabs.com> BuildRequires: nodejs-npm jq libxcrypt-compat
BuildRequires: jq libxcrypt-compat pnpm
%description %description
%summary. %summary.
@@ -39,9 +38,9 @@ Keywords=Music;Jellyfin;Audio;Stream;Sonixd
EOF EOF
%build %build
pnpm i npm install --legacy-peer-deps
pnpm run postinstall npm run postinstall
pnpm run build npm run build
%ifarch x86_64 %ifarch x86_64
%define a linux %define a linux
@@ -49,11 +48,11 @@ pnpm run build
%define a arm64 %define a arm64
%endif %endif
pnpm exec electron-builder --linux dir --%a npx electron-builder --linux dir --%a
%install %install
mkdir -p %buildroot%_datadir/{pixmaps,applications} %buildroot%_bindir mkdir -p %buildroot%_datadir/{pixmaps,applications} %buildroot%_bindir
mv dist/*-unpacked %buildroot%_datadir/feishin mv release/build/*-unpacked %buildroot%_datadir/feishin
install -Dm644 assets/icons/icon.png %buildroot%_datadir/pixmaps/feishin.png install -Dm644 assets/icons/icon.png %buildroot%_datadir/pixmaps/feishin.png
ln -s %_datadir/feishin/feishin %buildroot%_bindir/feishin ln -s %_datadir/feishin/feishin %buildroot%_bindir/feishin
install -Dm644 feishin.desktop %buildroot%_datadir/applications/ install -Dm644 feishin.desktop %buildroot%_datadir/applications/
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "flameshot.qt5.spec"
}
}
-110
View File
@@ -1,110 +0,0 @@
#? https://github.com/terrapkg/packages/pull/5554
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 12.1.0
%global commit 4edfb2ac1d71e7f75fcdcb850ff6bce5fb148a7b
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20250618
%global devel_name QtColorWidgets
Name: flameshot.qt5
Version: %ver^%{commit_date}git.%shortcommit
Release: 3%?dist
License: GPL-3.0-or-later AND ASL-2.0 AND GPL-2.0-only AND LGPL-3.0-only AND FAL-1.3
Summary: Powerful yet simple to use screenshot software
URL: https://flameshot.org
Source0: https://github.com/flameshot-org/flameshot/archive/%commit/flameshot-%commit.tar.gz
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake >= 3.13.0
BuildRequires: gcc-c++ >= 7
BuildRequires: fdupes
BuildRequires: libappstream-glib
BuildRequires: ninja-build
BuildRequires: desktop-file-utils
BuildRequires: cmake(Qt5Core) >= 5.9.0
BuildRequires: cmake(KF5GuiAddons) >= 5.89.0
BuildRequires: cmake(Qt5DBus) >= 5.9.0
BuildRequires: cmake(Qt5Gui) >= 5.9.0
BuildRequires: cmake(Qt5LinguistTools) >= 5.9.0
BuildRequires: cmake(Qt5Network) >= 5.9.0
BuildRequires: cmake(Qt5Svg) >= 5.9.0
BuildRequires: cmake(Qt5Widgets) >= 5.9.0
Requires: hicolor-icon-theme
Requires: qt5-qtbase >= 5.9.0
Requires: qt5-qttools >= 5.9.0
Requires: qt5-qtsvg%{?_isa} >= 5.9.0
%dnl Provides: flameshot = %version-%release
Conflicts: flameshot
Recommends: xdg-desktop-portal%{?_isa}
Recommends: (xdg-desktop-portal-gnome%{?_isa} if gnome-shell%{?_isa})
Recommends: (xdg-desktop-portal-kde%{?_isa} if plasma-workspace-wayland%{?_isa})
Recommends: (xdg-desktop-portal-wlr%{?_isa} if wlroots%{?_isa})
%description
Powerful and simple to use screenshot software with built-in
editor with advanced features.
Features:
* Customizable appearance.
* Easy to use.
* In-app screenshot edition.
* DBus interface.
* Upload to Imgur
%pkg_completion -Bfz flameshot
%package devel
Summary: Flameshot development files
Requires: %{name} = %{version}
%description devel
Development files for Flameshot.
%prep
%autosetup -p1 -n flameshot-%commit
%build
export GIT_HASH=%commit
%cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON \
%cmake_build
%install
%cmake_install
# https://fedoraproject.org/wiki/PackagingDrafts/find_lang
%find_lang Internationalization --with-qt
%fdupes %{buildroot}%{_datadir}/icons
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%files -f Internationalization.lang
%{_datadir}/flameshot/translations/Internationalization_grc.qm
%doc README.md
%license LICENSE
%dir %{_datadir}/flameshot
%dir %{_datadir}/flameshot/translations
%{_bindir}/flameshot
%{_libdir}/lib%{devel_name}.so.*
%{_datadir}/applications/org.flameshot.Flameshot.desktop
%{_metainfodir}/org.flameshot.Flameshot.metainfo.xml
%{_datadir}/dbus-1/interfaces/org.flameshot.Flameshot.xml
%{_datadir}/dbus-1/services/org.flameshot.Flameshot.service
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_mandir}/man1/flameshot.1*
%files devel
%{_libdir}/lib%{devel_name}.so
%{_libdir}/cmake/%{devel_name}/
%{_libdir}/pkgconfig/%{devel_name}.pc
%{_includedir}/%{devel_name}/
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "flameshot-nightly.spec"
}
labels {
nightly = 1
}
}
-102
View File
@@ -1,102 +0,0 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 13.3.0
%global commit f3e81d2608aa2e1269c53765ce61823c8ed2aea7
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20260529
%global devel_name QtColorWidgets
%global _distro_extra_cflags -fuse-ld=mold
%global _distro_extra_cxxflags -fuse-ld=mold
Name: flameshot.nightly
Version: %ver^%{commit_date}git.%shortcommit
Release: 2%?dist
License: GPL-3.0-or-later AND ASL-2.0 AND GPL-2.0-only AND LGPL-3.0-only AND FAL-1.3
Summary: Powerful yet simple to use screenshot software
URL: https://flameshot.org
Source0: https://github.com/flameshot-org/flameshot/archive/%commit/flameshot-%commit.tar.gz
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake >= 3.13.0
BuildRequires: gcc-c++ >= 7
BuildRequires: fdupes
BuildRequires: libappstream-glib
BuildRequires: ninja-build
BuildRequires: desktop-file-utils
BuildRequires: mold
BuildRequires: cmake(Qt6Core) >= 6.0.0
BuildRequires: cmake(KF6GuiAddons) >= 6.7.0
BuildRequires: cmake(Qt6DBus) >= 6.0.0
BuildRequires: cmake(Qt6Gui) >= 6.0.0
BuildRequires: cmake(Qt6LinguistTools) >= 6.0.0
BuildRequires: cmake(Qt6Network) >= 6.0.0
BuildRequires: cmake(Qt6Svg) >= 6.0.0
BuildRequires: cmake(Qt6Widgets) >= 6.0.0
Requires: hicolor-icon-theme
Conflicts: flameshot
Recommends: qt6-qtimageformats
Recommends: xdg-desktop-portal%{?_isa}
Recommends: (xdg-desktop-portal-gnome%{?_isa} if gnome-shell%{?_isa})
Recommends: (xdg-desktop-portal-kde%{?_isa} if plasma-workspace-wayland%{?_isa})
Recommends: (xdg-desktop-portal-wlr%{?_isa} if wlroots%{?_isa})
%description
Powerful and simple to use screenshot software with built-in
editor with advanced features.
Features:
* Customizable appearance.
* Easy to use.
* In-app screenshot edition.
* DBus interface.
%pkg_completion -Bfz flameshot
%package devel
Requires: %{name} = %{version}
%pkg_devel_files
%_libdir/cmake/*/
%package libs
%pkg_libs_files
%package static
%pkg_static_files
%prep
%autosetup -p1 -n flameshot-%commit
%build
export GIT_HASH=%commit
%cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON
%cmake_build
%install
%cmake_install
%find_lang Internationalization --with-qt
%fdupes %{buildroot}%{_datadir}/icons
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%files -f Internationalization.lang
%doc README.md
%license LICENSE
%dir %{_datadir}/flameshot
%dir %{_datadir}/flameshot/translations
%{_bindir}/flameshot
%{_datadir}/applications/org.flameshot.Flameshot.desktop
%{_metainfodir}/org.flameshot.Flameshot.metainfo.xml
%{_datadir}/dbus-1/interfaces/org.flameshot.Flameshot.xml
%{_datadir}/dbus-1/services/org.flameshot.Flameshot.service
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_mandir}/man1/flameshot.1*
-7
View File
@@ -1,7 +0,0 @@
rpm.global("commit", gh_commit("flameshot-org/flameshot"));
if rpm.changed() {
let v = gh("flameshot-org/flameshot");
v.crop(1);
rpm.global("ver", v);
rpm.global("commit_date", date());
}
-74
View File
@@ -1,74 +0,0 @@
Name: flatpost
Version: 1.2.0
Release: 1%?dist
License: BSD-2-Clause
Summary: Desktop environment agnostic Flathub software center.
URL: https://github.com/gloriouseggroll/flatpost
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: make
BuildRequires: desktop-file-utils
Provides: nobara-updater
# App Deps
Requires: python
Requires: python3
Requires: python3-gobject
Requires: python3-requests
Requires: python3-pillow
Requires: python3-svgwrite
Requires: python3-fonttools
Requires: python3-numpy
Requires: flatpak
Requires: glib2
Requires: gtk3
Requires: gtk4
Requires: xdg-utils
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
Requires(posttrans): shared-mime-info
%description
Desktop environment agnostic Flathub software center. Allows for browsing,
installation, removal, updating, and permission management of flatpak packages and repositories.
%prep
%autosetup -p1
%build
make all DESTDIR=%{buildroot}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%post
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%postun
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%posttrans
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%files
%{python3_sitelib}/flatpost/
%{_bindir}/flatpost
%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%{_datadir}/flatpost/collections_data.json
%{_datadir}/icons/hicolor/1024x1024/apps/com.flatpost.flatpostapp.png
%{_datadir}/icons/hicolor/64x64/apps/com.flatpost.flatpostapp.png
%{_datadir}/mime/packages/flatpost.xml
%license %{_datadir}/licenses/flatpost/LICENSE
-3
View File
@@ -1,3 +0,0 @@
let v = gh_rawfile("GloriousEggroll/flatpost", "main", "VERSION.txt");
v.trim();
rpm.version(v);
+10 -7
View File
@@ -1,19 +1,23 @@
%global commit d530f26d60dc105e44fdc8ac7f30a2f667bc1e4f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241224
Name: fontviewer Name: fontviewer
Epoch: 1 Version: %{commit_date}.git~%{shortcommit}
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
URL: https://github.com/chocolateimage/%{name} URL: https://github.com/chocolateimage/%{name}
Source0: %{url}/archive/v%{version}.tar.gz Source0: %{url}/archive/%{commit}.tar.gz
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: meson BuildRequires: meson
BuildRequires: pkgconfig(cairomm-1.0)
BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtkmm-3.0) BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: json-glib-devel
Requires: gtk3 fontconfig Requires: gtk3 fontconfig
@@ -23,7 +27,7 @@ Packager: sadlerm <sad_lerm@hotmail.com>
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%prep %prep
%autosetup %autosetup -n %{name}-%{commit} -p1
%build %build
%meson %meson
@@ -37,4 +41,3 @@ A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%doc README.md %doc README.md
%{_bindir}/%{name} %{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop %{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/actions/%{name}-google-symbolic.svg
+5 -4
View File
@@ -1,4 +1,5 @@
rpm.version(gh("chocolateimage/fontviewer")); # rpm.global("commit", gh_commit("chocolateimage/fontviewer"));
if rpm.changed() { # if rpm.changed() {
rpm.release(); # rpm.release();
} # rpm.global("commit_date", date());
# }
-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"));
-9
View File
@@ -1,9 +0,0 @@
project pkg {
rpm {
spec = "goofcord-nightly.spec"
}
labels {
mock = 1
nightly = 1
}
}
@@ -1,60 +0,0 @@
%global commit eebb15d3d940823883afa67bf62692874df7f2d1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260426
%global ver 2.2.1^
%global base_name goofcord
%global git_name GoofCord
%global appid io.github.milkshiift.GoofCord
Name: %{base_name}-nightly
Version: %{ver}%{commit_date}.git.%{shortcommit}
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/%{commit}/%{git_name}-%{commit}.tar.gz
BuildRequires: anda-srpm-macros >= 0.2.26
BuildRequires: bun-bin
Packager: Gilver E. <roachy@fyralabs.com>
%electronmeta -D
%description
A highly configurable and privacy minded Discord client.
%prep
%autosetup -n %{git_name}-%{commit}
%ifarch %{arm64} armv7l armv7hl armv7hnl
sed -i '/\"x64\",/d' electron-builder.ts
%endif
%build
%bun_build
%install
%electron_install -d %{base_name} -s %{base_name} -b %{base_name} -i %{base_name} -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations -I
install -Dm644 assetsDev/%{appid}.metainfo.xml -t %{buildroot}%{_metainfodir}
%check
%desktop_file_validate %{buildroot}%{_datadir}/applications/%{base_name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{base_name}
%{_datadir}/applications/%{base_name}.desktop
%{_libdir}/%{base_name}/
%{_metainfodir}/%{appid}.metainfo.xml
%{_hicolordir}/16x16/apps/%{base_name}.png
%{_hicolordir}/32x32/apps/%{base_name}.png
%{_hicolordir}/48x48/apps/%{base_name}.png
%{_hicolordir}/64x64/apps/%{base_name}.png
%{_hicolordir}/128x128/apps/%{base_name}.png
%{_hicolordir}/256x256/apps/%{base_name}.png
%{_hicolordir}/512x512/apps/%{base_name}.png
%{_hicolordir}/1024x1024/apps/%{base_name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1^20250615.git.3f5eda1
- Initial package
-13
View File
@@ -1,13 +0,0 @@
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
if rpm.changed() {
let v = gh_tag("Milkshiift/GoofCord");
v.crop(1);
if `[\d.]+-beta\.\d+`.find_all(v).len == 1 {
let v = sub(`-beta\.\d+`, `~`, v);
rpm.global("ver", v);
} else {
rpm.global("ver", v + `^`);
}
rpm.global("commit_date", date());
rpm.release();
}
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "goofcord.spec"
}
labels {
mock = 1
}
}
-56
View File
@@ -1,56 +0,0 @@
%global git_name GoofCord
%global appid io.github.milkshiift.GoofCord
Name: goofcord
Version: 2.2.1
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: anda-srpm-macros >= 0.3.0
BuildRequires: bun-bin
Packager: Gilver E. <roachy@fyralabs.com>
%electronmeta -D
%description
A highly configurable and privacy minded Discord client.
%prep
%autosetup -p1 -n %{git_name}-%{version}
%ifarch %{arm64} armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
%build
%bun_build
%install
%electron_install -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations -I
install -Dm644 assetsDev/%{appid}.metainfo.xml -t %{buildroot}%{_metainfodir}
%check
%desktop_file_validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_libdir}/%{name}/
%{_metainfodir}/%{appid}.metainfo.xml
%{_hicolordir}/16x16/apps/%{name}.png
%{_hicolordir}/32x32/apps/%{name}.png
%{_hicolordir}/48x48/apps/%{name}.png
%{_hicolordir}/64x64/apps/%{name}.png
%{_hicolordir}/128x128/apps/%{name}.png
%{_hicolordir}/256x256/apps/%{name}.png
%{_hicolordir}/512x512/apps/%{name}.png
%{_hicolordir}/1024x1024/apps/%{name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1-1
- Initial package
-5
View File
@@ -1,5 +0,0 @@
let v = gh_tag("Milkshiift/GoofCord");
if `[\d.]+-beta\.\d+`.find_all(v).len == 0 {
rpm.version(v);
}
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "gurk.spec"
}
labels {
sccache = 0
}
}
-40
View File
@@ -1,40 +0,0 @@
%undefine __brp_mangle_shebangs
Name: gurk
Version: 0.9.3
Release: 1%{?dist}
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)
URL: https://github.com/boxdot/gurk-rs
Source: %url/archive/refs/tags/v%version.tar.gz
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: glibc-devel mold perl openssl-devel protobuf-devel
Requires: glibc libgcc sqlcipher
Provides: gurk-rs
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%{summary}.
%prep
%autosetup -n gurk-rs-%{version}
%cargo_prep_online
%build
%install
export LC_ALL=C.UTF-8
export LANG=C
%cargo_install
%{cargo_license_online} > LICENSE.dependencies
%files
%doc README.md CHANGELOG.md
%license LICENSE-AGPL-3.0
%{_bindir}/gurk
%changelog
* Fri Feb 13 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("boxdot/gurk-rs"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "halloy.spec"
}
}
-70
View File
@@ -1,70 +0,0 @@
# Generated by rust2rpm 27
%bcond check 1
%global appid org.squidowl.halloy
%global crate halloy
Name: halloy
Version: 2026.7.1
Release: 1%{?dist}
Summary: An open-source IRC client written in Rust, with the Iced GUI library
Packager: Yoong jin <solomoncyj@gmail.com>
SourceLicense: GPL-3.0-or-later
License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 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 OR MIT) AND BSD-3-Clause) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (GPL-3.0+ OR BSD-3-Clause) AND (GPL-3.0-or-later) AND ISC AND (LGPL-3.0-or-later OR MPL-2.0) AND MIT AND (MIT AND (MIT OR Apache-2.0)) AND (MIT OR Apache-2.0) AND ((MIT OR Apache-2.0) AND NCSA) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) 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 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
URL: https://github.com/squidowl/halloy
Source: https://github.com/squidowl/halloy/archive/refs/tags/%{version}.tar.gz
BuildRequires: alsa-lib-devel
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: desktop-file-utils
BuildRequires: openssl-devel
BuildRequires: pkgconfig(xcb)
%description
%{summary}.
%prep
%autosetup -n halloy-%{version} -p1
%cargo_prep_online
%build
%cargo_build
%install
install -Dm755 target/rpm/halloy %{buildroot}%{_bindir}/halloy
desktop-file-install assets/linux/%{appid}.desktop
install -Dpm644 assets/linux/%{appid}.appdata.xml -t %{buildroot}%{_datadir}/metainfo
mkdir -p %{buildroot}%{_datadir}
cp -r assets/linux/icons -t %{buildroot}%{_datadir}
%{cargo_license_online} > LICENSE.dependencies
%if %{with check}
%check
%cargo_test
%endif
%files
%license LICENSE
%license wix/license.rtf
%license LICENSE.dependencies
%doc CHANGELOG.md
%doc README.md
%{_bindir}/halloy
%{_datadir}/applications/%{appid}.desktop
%{_datadir}/metainfo/%{appid}.appdata.xml
%{_iconsdir}/hicolor/16x16/apps/%{appid}.png
%{_iconsdir}/hicolor/24x24/apps/%{appid}.png
%{_iconsdir}/hicolor/32x32/apps/%{appid}.png
%{_iconsdir}/hicolor/48x48/apps/%{appid}.png
%{_iconsdir}/hicolor/64x64/apps/%{appid}.png
%{_iconsdir}/hicolor/96x96/apps/%{appid}.png
%{_iconsdir}/hicolor/128x128/apps/%{appid}.png
%{_iconsdir}/hicolor/256x256/apps/%{appid}.png
%{_iconsdir}/hicolor/512x512/apps/%{appid}.png
%changelog
%autochangelog

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