mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 470f24b2c4 | |||
| fd9cf8f322 | |||
| 9a1fa63760 | |||
| aa5df18a75 | |||
| 8f003f2f84 | |||
| 8bafc2331c | |||
| 452b5eebbf | |||
| a79302d22c | |||
| 8d04899eb5 | |||
| 74a8dc3b36 |
+1
-1
@@ -2,7 +2,7 @@
|
||||
"repoOwner": "terrapkg",
|
||||
"repoName": "packages",
|
||||
"resetAuthor": true,
|
||||
"targetBranchChoices": ["frawhide", "f44", "f43", "f42", "el10"],
|
||||
"targetBranchChoices": ["f39", "f40", "frawhide"],
|
||||
"branchLabelMapping": {
|
||||
"^sync-(.+)$": "$1"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -1,20 +1,18 @@
|
||||
{
|
||||
"name": "Terra Devcontainer",
|
||||
"image": "ghcr.io/terrapkg/builder:frawhide",
|
||||
"runArgs": ["--privileged"],
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/common-utils:2": {}
|
||||
"name": "Fedora",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": { "VARIANT": "rawhide" }
|
||||
},
|
||||
"remoteUser": "vscode",
|
||||
"runArgs": [
|
||||
"--privileged"
|
||||
],
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"rhaiscript.vscode-rhai",
|
||||
"1dot75cm.rpmspec",
|
||||
"hashicorp.hcl",
|
||||
"redhat.vscode-xml"
|
||||
"rhaiscript.vscode-rhai"
|
||||
]
|
||||
}
|
||||
},
|
||||
"remoteUser": "vscode",
|
||||
"onCreateCommand": "sudo usermod -a -G mock vscode"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
about: Report an issue with Terra itself
|
||||
title: '[INCIDENT] '
|
||||
labels: incident
|
||||
assignees: ['madonuko', 'korewaChino', 'lleyton']
|
||||
name: Bug report
|
||||
about: Report an issue with a package (or Terra itself)
|
||||
title: '[BUG] '
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the Incident**
|
||||
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.**
|
||||
**Describe the bug**
|
||||
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**
|
||||
Steps to reproduce the behavior:
|
||||
@@ -23,7 +23,7 @@ If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Affected (please complete the following information):**
|
||||
- Distro [e.g. Fedora]
|
||||
- Other relevant environments
|
||||
- Package [e.g. melody, srpm-macros]
|
||||
|
||||
**Additional context**
|
||||
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**
|
||||
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)).
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
# Maintain GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
open-pull-requests-limit: 5
|
||||
@@ -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}`);
|
||||
}
|
||||
};
|
||||
@@ -1,109 +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();
|
||||
};
|
||||
@@ -1,39 +1,35 @@
|
||||
# for each folder in anda/
|
||||
# generate a new workflow for each folder in anda/
|
||||
name: Automatically build packages
|
||||
permissions:
|
||||
contents: read
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
id-token: write
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- anda/**
|
||||
branches:
|
||||
- f43
|
||||
- frawhide
|
||||
pull_request:
|
||||
branches:
|
||||
- f43
|
||||
- frawhide
|
||||
merge_group:
|
||||
branches:
|
||||
- f43
|
||||
- frawhide
|
||||
workflow_dispatch:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Set workspace as safe
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Generate build matrix
|
||||
@@ -41,98 +37,75 @@ jobs:
|
||||
run: anda ci >> $GITHUB_OUTPUT
|
||||
build:
|
||||
needs: manifest
|
||||
uses: ./.github/workflows/json-build.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
packages: ${{ needs.manifest.outputs.build_matrix }}
|
||||
publish: ${{ github.event_name == 'push' }}
|
||||
|
||||
appstream:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
|
||||
version: ["rawhide"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/appstream-generator:main
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
merge-multiple: true
|
||||
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
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Run appstreamcli validate
|
||||
if: steps.catalog.outcome == 'success'
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
if stat output/test.xml.gz &>/dev/null; then
|
||||
echo "## AppStream MetaInfo Validation" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
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."
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
|
||||
fi
|
||||
|
||||
- name: Report Summary
|
||||
id: report_summary
|
||||
if: steps.export_logs.outcome == 'success'
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
if stat output/*.xml.gz &>/dev/null; then
|
||||
if grep -q "veto" asb.log; then
|
||||
echo "::group::Vetoed packages"
|
||||
echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo '```xml' >> $GITHUB_STEP_SUMMARY
|
||||
echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY
|
||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
||||
echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details."
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
for file in output/*.xml.gz; do
|
||||
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo '```xml' >> $GITHUB_STEP_SUMMARY
|
||||
zcat "$file" >> $GITHUB_STEP_SUMMARY || true
|
||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
else
|
||||
echo "No appstream files found." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
run: |
|
||||
NAME=${{ matrix.pkg.pkg }}-${{ matrix.pkg.arch }}-${{ matrix.version }}
|
||||
x=${NAME//\//@}
|
||||
echo "name=$x" >> $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
|
||||
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' }} 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
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
name: Bootstrap Andaman and Subatomic
|
||||
permissions:
|
||||
contents: read
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
id-token: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -11,62 +7,45 @@ jobs:
|
||||
bootstrap:
|
||||
strategy:
|
||||
matrix:
|
||||
version: ["43"]
|
||||
version: ["rawhide"]
|
||||
arch: ["x86_64", "aarch64"]
|
||||
fail-fast: true
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Install repositories
|
||||
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-plugins rpmbuild script
|
||||
dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs
|
||||
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:
|
||||
ref: f${{ matrix.version }}
|
||||
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
|
||||
run: |
|
||||
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
|
||||
export PATH=$PATH:/github/home/.cargo/bin
|
||||
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
|
||||
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
|
||||
|
||||
- name: Build terra-release
|
||||
run: anda build -D "vendor Terra" -rrpmbuild anda/terra/release/pkg
|
||||
|
||||
- name: Build terra-appstream-helper
|
||||
run: anda build -D "vendor Terra" -D "__python %{__python3}" -rrpmbuild anda/terra/appstream-helper/pkg
|
||||
- name: Build anda-srpm-macros
|
||||
run: anda build -rrpmbuild anda/terra/srpm-macros/pkg
|
||||
|
||||
- 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
|
||||
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
|
||||
|
||||
- name: Tidy up output directory
|
||||
run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64} | true
|
||||
- name: Build Andaman
|
||||
run: anda build -rrpmbuild anda/tools/buildsys/anda/pkg
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
run: |
|
||||
@@ -76,22 +55,9 @@ jobs:
|
||||
terra${{ matrix.version }} 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 }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Add madoguchi repo
|
||||
run: |
|
||||
curl -X PUT https://madoguchi.fyralabs.com/v4/repos/terra${{ matrix.version }} \
|
||||
-H "Authorization: Bearer ${{ secrets.MADOGUCHI_JWT }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"link":"https://repos.fyralabs.com/terra'${{ matrix.version }}'/","gh":"https://github.com/terrapkg/packages/tree/f'${{ matrix.version }}'"}' --fail-with-body
|
||||
|
||||
- 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
@@ -1,9 +1,4 @@
|
||||
name: Manual Builds
|
||||
permissions:
|
||||
contents: read
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
id-token: write
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
@@ -15,53 +10,99 @@ on:
|
||||
required: false
|
||||
default: ""
|
||||
architecture:
|
||||
description: "Architectures"
|
||||
description: "Architecture"
|
||||
required: false
|
||||
default: ""
|
||||
default: all
|
||||
type: string
|
||||
|
||||
run-name: ${{ inputs.packages }}
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
parse:
|
||||
outputs:
|
||||
build_matrix: ${{ steps.parsing.outputs.build_matrix }}
|
||||
runs-on: ubuntu-24.04-arm
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
pkgs: ${{ steps.parsing.outputs.pkgs }}
|
||||
builder: ${{ inputs.custom_builder }}
|
||||
arch: ${{ steps.parsing.outputs.arch }}
|
||||
runs-on: "ubuntu-latest"
|
||||
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
|
||||
id: parsing
|
||||
run: |
|
||||
for pkg in ${{ inputs.packages }}; do
|
||||
touch anda/$pkg/.build
|
||||
done
|
||||
git add --all
|
||||
git commit -a -m "tmp"
|
||||
b=$(anda ci | sed -E 's@^build_matrix=@@')
|
||||
if [ "${{ inputs.architecture }}" != "" ]; then
|
||||
# e.g.: [ unique_by(.pkg)[] | (.arch="x86_64", .arch="aarch64") ]
|
||||
filter=`echo -n "${{ inputs.architecture }}" | tr '[:space:]' '\n' | sed -E '/^$/d; s@^.+$@.arch="\0"@' | tr '\n' ', '`
|
||||
b=`echo $b | jq -c '[unique_by(.pkg)[] | ('"$filter"')]'`
|
||||
elif [ "${{ inputs.custom_builder }}" != "" ]; then
|
||||
b=`echo $b | jq -c 'unique_by(.pkg)'`
|
||||
echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
|
||||
echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
|
||||
arch="${{ inputs.architecture }}"
|
||||
# Convert to json array using jq
|
||||
# if arch is not all, convert to array
|
||||
if [ "$arch" != "all" ]; then
|
||||
# jq, array with single element as string
|
||||
arch=$(echo $arch | sed 's/,/\n/g')
|
||||
echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
echo "build_matrix=$b" >> $GITHUB_OUTPUT
|
||||
|
||||
build:
|
||||
needs: manifest
|
||||
uses: ./.github/workflows/json-build.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
packages: ${{ needs.manifest.outputs.build_matrix }}
|
||||
custom_builder: ${{ inputs.custom_builder }}
|
||||
needs: parse
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
|
||||
version: ["rawhide"]
|
||||
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
|
||||
|
||||
@@ -1,75 +1,31 @@
|
||||
name: JSON Build
|
||||
permissions:
|
||||
contents: read
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
id-token: write
|
||||
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:
|
||||
inputs:
|
||||
packages:
|
||||
description: "Packages to Build"
|
||||
required: true
|
||||
type: string
|
||||
publish:
|
||||
description: "Whether the package should be published"
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(inputs.packages) }}
|
||||
version: ["43"]
|
||||
version: ["rawhide"]
|
||||
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:
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up git repository
|
||||
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
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
run: |
|
||||
@@ -79,21 +35,13 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
- 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' || '' }}
|
||||
|
||||
- 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})
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ contains(matrix.pkg.labels, 'mock') && '' || '-rrpmbuild' }}
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
@@ -102,7 +50,7 @@ jobs:
|
||||
x=${NAME//\//@}
|
||||
echo "name=$x" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.art.outputs.name }}
|
||||
compression-level: 0 # The RPMs are already compressed :p
|
||||
@@ -111,34 +59,22 @@ jobs:
|
||||
anda-build/rpm/srpm/*
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
if: inputs.publish
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--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
|
||||
if: inputs.publish && matrix.pkg.labels['no_upload_srpms'] != '1'
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Attest build provenance
|
||||
if: inputs.publish
|
||||
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
|
||||
with:
|
||||
subject-path: |
|
||||
anda-build/rpm/rpms/*
|
||||
anda-build/rpm/srpm/*
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: inputs.publish && success()
|
||||
run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
if: success()
|
||||
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: inputs.publish && (cancelled() || failure())
|
||||
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
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
|
||||
|
||||
@@ -7,14 +7,14 @@ export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":
|
||||
if [[ $1 == false ]]; then
|
||||
d=${p/\%v/?}
|
||||
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
|
||||
fi
|
||||
|
||||
for f in anda-build/rpm/rpms/*; do
|
||||
n=$(lesspipe.sh $f | grep -E "Name\s*: " | sed "s@Name\s*: @@" | head -n1)
|
||||
v=$(lesspipe.sh $f | grep -E "Version\s*: " | sed "s@Version\s*: @@" | head -n1)
|
||||
r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\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*: @@")
|
||||
r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\s*: @@")
|
||||
d=${p/\%v/$v}
|
||||
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
|
||||
|
||||
@@ -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
|
||||
@@ -1,17 +1,13 @@
|
||||
name: Automatic backport/sync action
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: ["labeled", "closed"]
|
||||
|
||||
jobs:
|
||||
backport:
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
name: Backport/sync PR
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.merged
|
||||
steps:
|
||||
- name: Install SSH signing key
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
git config --global commit.gpgsign true
|
||||
|
||||
- name: Backport Action
|
||||
uses: sorenlouv/backport-github-action@85813678d776774a19ec5af56bd3a04305946f8a # v12.0.0
|
||||
uses: sorenlouv/backport-github-action@v9.3.0
|
||||
with:
|
||||
github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }}
|
||||
auto_backport_label_prefix: sync-
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
name: Update per branch
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/30 * * * *"
|
||||
@@ -8,23 +6,20 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f44
|
||||
- f43
|
||||
- f42
|
||||
- f40
|
||||
- f41
|
||||
- el10
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
fetch-depth: 0
|
||||
@@ -53,7 +48,7 @@ jobs:
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
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 push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
name: Push comps updates
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- frawhide
|
||||
- f44
|
||||
- f43
|
||||
- f42
|
||||
- f41
|
||||
- f40
|
||||
- el10
|
||||
paths:
|
||||
- comps.xml
|
||||
@@ -16,11 +13,11 @@ on:
|
||||
|
||||
jobs:
|
||||
update-comps:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Push to subatomic
|
||||
run: |
|
||||
branch=${{ github.ref_name }}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
name: Nightly Update
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
@@ -8,15 +6,13 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
|
||||
@@ -41,7 +37,7 @@ jobs:
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
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 format-patch HEAD^
|
||||
copy_over () {
|
||||
@@ -50,9 +46,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f44 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,22 +1,18 @@
|
||||
name: Weekly Update
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
- cron: "0 0 * * 0"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
|
||||
@@ -29,7 +25,7 @@ jobs:
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Weekly Update
|
||||
run: anda update --filters weekly=$(date "+%w")
|
||||
run: anda update --filters weekly=1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
@@ -41,7 +37,7 @@ jobs:
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
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 format-patch HEAD^
|
||||
copy_over () {
|
||||
@@ -50,9 +46,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f44 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
name: Update
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/10 * * * *"
|
||||
@@ -8,15 +6,13 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f43
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
|
||||
@@ -41,7 +37,7 @@ jobs:
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
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 format-patch HEAD^
|
||||
copy_over () {
|
||||
@@ -50,9 +46,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f44 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,8 +1,2 @@
|
||||
anda-build/
|
||||
**/*.tar*
|
||||
**/*.crate
|
||||
**/*.zip
|
||||
**/*.minisig
|
||||
**/*.nupkg
|
||||
**/*.rpm
|
||||
**/*.kate-swp
|
||||
|
||||
Vendored
+1
-4
@@ -1,8 +1,5 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"rhaiscript.vscode-rhai",
|
||||
"1dot75cm.rpmspec",
|
||||
"hashicorp.hcl",
|
||||
"redhat.vscode-xml"
|
||||
"rhaiscript.vscode-rhai"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,18 @@
|
||||
# Terra Sources
|
||||
|
||||
[](https://repology.org/repository/terra_40)
|
||||
[](https://repology.org/repository/terra_41)
|
||||
[](https://repology.org/repository/terra_rawhide)
|
||||
[](https://scorecard.dev/viewer/?uri=github.com/terrapkg/packages)
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
## Installation
|
||||
|
||||
The latest detailed instructions are available in our Devdocs: https://developer.fyralabs.com/terra/installing
|
||||
|
||||
### Fedora
|
||||
|
||||
```bash
|
||||
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
|
||||
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://developer.fyralabs.com/terra/contributing)
|
||||
- [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
- [Guidelines](https://developer.fyralabs.com/terra/guidelines)
|
||||
|
||||
## Documentation
|
||||
|
||||
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?
|
||||
|
||||
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://developer.fyralabs.com/terra/contributing)
|
||||
- [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
- [Guidelines](https://developer.fyralabs.com/terra/guidelines)
|
||||
- [Policy](https://developer.fyralabs.com/terra/policy)
|
||||
|
||||
@@ -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
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "KTailctl.spec"
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("f-koehler/KTailctl"));
|
||||
@@ -3,7 +3,4 @@ project pkg {
|
||||
rpm {
|
||||
spec = "anki-bin.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "extras"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 aurl https://files.pythonhosted.org/packages/cb/8e/42e0a2e8f8e6da78571ff8e79dd65eef1602390d03349839a2f4397fdcb5/anki-25.9.4-cp39-abi3-manylinux_2_36_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/83/a1/a8e8c5bc7dda44c0decfdeb128ca308d65d7beca1a4131230e9abadef439/aqt-25.9.4-py3-none-any.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/58/6e/9f2d4853a83e57cea48ccae3bc2d887bf7c0550042185e156bab23f524bf/anki-24.11-cp39-abi3-manylinux_2_31_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/40/3c/b70ef91f1dad8248332971c0cbb2922277512789cadc33cb16233e360a56/aqt-24.11-py3-none-any.whl
|
||||
|
||||
Name: anki-bin
|
||||
Version: 25.9.4
|
||||
Release: 1%{?dist}
|
||||
Version: 24.11
|
||||
Release: 1%?dist
|
||||
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
|
||||
URL: https://apps.ankiweb.net/
|
||||
BuildRequires: python3-pip rpm_macro(fdupes) cargo
|
||||
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-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
|
||||
Requires: (mpv or mpv-nightly)
|
||||
|
||||
ExclusiveArch: x86_64
|
||||
BuildRequires: python3-pip rpm_macro(fdupes) cargo
|
||||
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-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
|
||||
Requires: libxcrypt-compat hicolor-icon-theme sox mpv
|
||||
ExclusiveArch: x86_64
|
||||
Conflicts: anki
|
||||
%ifarch x86_64
|
||||
Source0: %xurl
|
||||
%elifarch aarch64
|
||||
Source0: %aurl
|
||||
Source0: %aurl
|
||||
%endif
|
||||
Source1: %qurl
|
||||
Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py
|
||||
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
|
||||
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
|
||||
%doc README.md
|
||||
%_bindir/anki
|
||||
%_bindir/pyuic6
|
||||
%_bindir/pylupdate6
|
||||
/usr/lib/python*/site-packages/_aqt/
|
||||
/usr/lib/python*/site-packages/anki-%{version}.dist-info/
|
||||
/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
|
||||
- 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: anki-qt5
|
||||
Version: 25.09.4
|
||||
Release: 1%{?dist}
|
||||
Version: 24.11
|
||||
Release: 1%?dist
|
||||
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
|
||||
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/
|
||||
|
||||
%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
|
||||
|
||||
@@ -3,7 +3,4 @@ project pkg {
|
||||
rpm {
|
||||
spec = "anki.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "extras"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
Name: anki
|
||||
Version: 25.09.4
|
||||
Release: 1%{?dist}
|
||||
Version: 24.11
|
||||
Release: 1%?dist
|
||||
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
|
||||
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-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: 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
|
||||
Conflicts: anki-qt5
|
||||
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.
|
||||
|
||||
%prep
|
||||
%git_clone https://github.com/ankitects/anki
|
||||
rm -rf *
|
||||
git clone https://github.com/ankitects/anki .
|
||||
git checkout %{version}
|
||||
%patch 0 -p1
|
||||
|
||||
# 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 PYTHONPATH=%_libdir/python3/dist-packages
|
||||
cargo update
|
||||
./tools/build
|
||||
mold -run ./tools/build
|
||||
|
||||
|
||||
%install
|
||||
@@ -67,5 +68,5 @@ chmod 755 %{buildroot}%{_bindir}/anki
|
||||
|
||||
|
||||
%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
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "audacity-freeworld.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
rpm.global("ver", gh("audacity/audacity"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "audacity.spec"
|
||||
}
|
||||
labels {
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
+5
-6
@@ -1,11 +1,8 @@
|
||||
%global __requires_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
|
||||
Version: %{sanitized_ver}
|
||||
Name: audacity
|
||||
Version: 3.7.1
|
||||
Release: 1%?dist
|
||||
Summary: Multitrack audio editor
|
||||
License: GPLv2
|
||||
@@ -16,6 +13,8 @@ Conflicts: %{realname}
|
||||
|
||||
Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/audacity-sources-%{version}.tar.gz
|
||||
|
||||
Obsoletes: audacity-freeworld < %{version}
|
||||
|
||||
# manual can be installed from the base Fedora Audacity package.
|
||||
|
||||
BuildRequires: cmake
|
||||
@@ -749,4 +748,4 @@ rm -f %{buildroot}%{_prefix}/%{realname}
|
||||
- New upstream version 1.2.0-pre3
|
||||
|
||||
* Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1
|
||||
- First Fedora release
|
||||
- First Fedora release
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("audacity/audacity"));
|
||||
@@ -1,5 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "anda.spec"
|
||||
spec = "authy.spec"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -1,6 +0,0 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "auto-cpufreq.spec"
|
||||
}
|
||||
}
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("AdnanHodzic/auto-cpufreq"));
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("ublue-os/yafti-gtk"));
|
||||
@@ -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.4.1
|
||||
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
|
||||
@@ -1,5 +0,0 @@
|
||||
let v = gh("bitwarden/clients");
|
||||
if v.starts_with("cli-v") {
|
||||
v.crop(5);
|
||||
rpm.version(v);
|
||||
}
|
||||
@@ -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.4.1
|
||||
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
|
||||
@@ -1,3 +0,0 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("bitwarden-cli.bin", labels.branch));
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "chdig.spec"
|
||||
}
|
||||
}
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("azat/chdig"));
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("death7654/Chrultrabook-Tools"));
|
||||
@@ -8,93 +8,106 @@ for background device management, as well as a GUI to expertly customize your se
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
Name: coolercontrol
|
||||
Version: 4.3.1
|
||||
Release: 1%{?dist}
|
||||
Version: 1.4.5
|
||||
Release: 1%?dist
|
||||
Summary: Cooling device control for Linux
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
License: GPL-3.0-or-later
|
||||
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>
|
||||
Provides: coolercontrol-ui
|
||||
Provides: coolercontrol-gui
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: coolercontrold = %{version}
|
||||
BuildRequires: pkgconfig(appstream-glib)
|
||||
Requires: webkit2gtk4.1
|
||||
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: make
|
||||
BuildRequires: cmake
|
||||
BuildRequires: autoconf automake gcc gcc-c++
|
||||
BuildRequires: cmake(Qt6)
|
||||
BuildRequires: cmake(Qt6WebEngineCore)
|
||||
BuildRequires: cmake(Qt6WebEngineWidgets)
|
||||
BuildRequires: cmake(Qt6WebChannel)
|
||||
%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
|
||||
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)
|
||||
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
|
||||
Requires: coolercontrol-liqctld
|
||||
%description -n coolercontrold %_desc
|
||||
This is the system daemon for CoolerControl.
|
||||
CoolerControl is an open-source application for monitoring and controlling supported cooling
|
||||
devices. It features an intuitive interface, flexible control options, and live thermal data to keep
|
||||
your system quiet, cool, and stable.
|
||||
coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
|
||||
"coolercontrold". It is meant to run in the background as a system daemon. It handles all device
|
||||
communication and data management, additionally connecting to the liqctld daemon for liquidctl
|
||||
supported devices. It has an API that services client programs like the coolercontrol-gui.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
pushd coolercontrold
|
||||
%cargo_prep_online
|
||||
%cargo_prep_online &
|
||||
popd
|
||||
|
||||
pushd coolercontrol-ui
|
||||
npm ci --prefer-offline &
|
||||
pushd src-tauri
|
||||
%cargo_prep_online &
|
||||
popd
|
||||
popd
|
||||
|
||||
wait
|
||||
|
||||
|
||||
%build
|
||||
pushd coolercontrol-ui
|
||||
%make_build
|
||||
popd
|
||||
|
||||
pushd coolercontrold
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
%{cargo_license_summary_online}
|
||||
wait
|
||||
cp -rfp ../coolercontrol-ui/dist/* resources/app/
|
||||
%{cargo_build} --locked
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
%cargo_build -- &
|
||||
popd
|
||||
|
||||
pushd coolercontrol
|
||||
%cmake
|
||||
%cmake_build
|
||||
pushd coolercontrol-liqctld
|
||||
%pyproject_wheel
|
||||
popd
|
||||
|
||||
pushd coolercontrol-ui
|
||||
npm run build &
|
||||
pushd src-tauri
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
wait
|
||||
%cargo_build -f custom-protocol
|
||||
popd
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
pushd coolercontrol-liqctld
|
||||
#define _pyproject_wheeldir .
|
||||
%pyproject_install
|
||||
%pyproject_save_files coolercontrol_liqctld
|
||||
popd
|
||||
|
||||
pushd coolercontrold
|
||||
install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
pushd coolercontrol/
|
||||
%cmake_install
|
||||
pushd coolercontrol-ui/src-tauri
|
||||
install -Dpm755 target/rpm/coolercontrol %buildroot%_bindir/coolercontrol
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/%name/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
|
||||
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-alert.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn-alert.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
|
||||
install -Dpm644 packaging/metadata/%rdnn.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn.svg
|
||||
for f in packaging/systemd/*.service; do
|
||||
install -Dpm644 $f %buildroot%_unitdir/$(basename $f)
|
||||
done
|
||||
@@ -103,6 +116,7 @@ install -Dpm644 packaging/metadata/%rdnn.metainfo.xml %buildroot%_metainfodir/%r
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
%pyproject_check_import
|
||||
|
||||
|
||||
%post -n coolercontrold
|
||||
@@ -114,17 +128,18 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
%postun -n coolercontrold
|
||||
%systemd_postun_with_restart coolercontrold.service
|
||||
|
||||
# coolercontrold.service automatically uses the liqctld service, so there are
|
||||
# no scriptlets for liqctld.
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%doc CHANGELOG.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/coolercontrol
|
||||
%_datadir/applications/%rdnn.desktop
|
||||
%_datadir/metainfo/%rdnn.metainfo.xml
|
||||
%_iconsdir/hicolor/*/apps/%rdnn.*
|
||||
%_iconsdir/hicolor/*/apps/%rdnn-alert.*
|
||||
%_iconsdir/hicolor/*/apps/%rdnn-symbolic.svg
|
||||
%_iconsdir/hicolor/*/apps/%rdnn-symbolic-alert.svg
|
||||
%_iconsdir/hicolor/*/apps/%rdnn.svg
|
||||
|
||||
%files -n coolercontrold
|
||||
%doc coolercontrold/README.md
|
||||
@@ -133,9 +148,12 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
%_bindir/coolercontrold
|
||||
%_unitdir/coolercontrold.service
|
||||
|
||||
%changelog
|
||||
* Sat Feb 28 2026 Guy Boldon <gb@guyboldon.com> - 3.1.1-2
|
||||
- Updated dependencies and build to match current version
|
||||
%files liqctld -f %pyproject_files
|
||||
%doc coolercontrol-liqctld/README.md
|
||||
%license LICENSE
|
||||
%_bindir/coolercontrol-liqctld
|
||||
%_unitdir/coolercontrol-liqctld.service
|
||||
|
||||
%changelog
|
||||
* Thu Aug 15 2024 madonuko <mado@fyralabs.com> - 1.4.0-1
|
||||
- Initial package
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 1.0.1174
|
||||
Release: 1%{?dist}
|
||||
Version: 0.0.555
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
URL: https://github.com/GooseMod/OpenAsar
|
||||
@@ -54,7 +54,7 @@ ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord
|
||||
|
||||
|
||||
%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
|
||||
- Fix issues after removing discord-canary package
|
||||
- Bundle discord-canary
|
||||
|
||||
@@ -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
|
||||
Version: 1.0.1174
|
||||
Release: 1%{?dist}
|
||||
Version: 0.0.555
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: https://discord.com/terms#/terms.html
|
||||
License: Proprietary
|
||||
Requires: zenity
|
||||
Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/discord-canary-%{version}.tar.gz
|
||||
License: https://discord.com/terms
|
||||
Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1.2
|
||||
Group: Applications/Internet
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%electronmeta -D
|
||||
|
||||
%description
|
||||
All-in-one voice and text chat for gamers that's free, secure, and works on
|
||||
both your desktop and phone.
|
||||
@@ -22,27 +25,27 @@ both your desktop and phone.
|
||||
%build
|
||||
|
||||
%install
|
||||
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name}
|
||||
install -Dpm755 %{name} -t %{buildroot}%{_bindir}
|
||||
install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
|
||||
%desktop_file_install %{name}.desktop
|
||||
cp %{SOURCE1} -t .
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/discord-canary
|
||||
cp -rv * %{buildroot}%{_datadir}/discord-canary
|
||||
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
|
||||
%license terms.html
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/
|
||||
%{_appsdir}/%{name}.desktop
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
%_bindir/discord-canary
|
||||
%{_datadir}/discord-canary/
|
||||
%{_datadir}/applications/discord-canary.desktop
|
||||
%{_datadir}/pixmaps/discord-canary.png
|
||||
|
||||
%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
|
||||
- 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
|
||||
|
||||
* 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
|
||||
- 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
|
||||
|
||||
* 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
|
||||
|
||||
* Tue Feb 22 2022 Ultramarine Release Tracking Service - 0.0.133-2
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 1.0.140
|
||||
Release: 1%{?dist}
|
||||
Version: 0.0.78
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
URL: https://github.com/GooseMod/OpenAsar
|
||||
@@ -54,5 +54,5 @@ ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
|
||||
|
||||
|
||||
%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
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 1.0.193
|
||||
Release: 1%{?dist}
|
||||
Version: 0.0.124
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
URL: https://github.com/GooseMod/OpenAsar
|
||||
@@ -56,5 +56,5 @@ ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-open
|
||||
|
||||
|
||||
%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
|
||||
|
||||
@@ -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
|
||||
Version: 1.0.193
|
||||
Release: 1%{?dist}
|
||||
Version: 0.0.124
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: https://discord.com/terms#/terms.html
|
||||
License: Proprietary
|
||||
Requires: zenity
|
||||
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{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
|
||||
|
||||
%electronmeta -D
|
||||
|
||||
%description
|
||||
All-in-one voice and text chat for gamers that's free, secure, and works on
|
||||
both your desktop and phone.
|
||||
@@ -22,28 +29,28 @@ both your desktop and phone.
|
||||
%build
|
||||
|
||||
%install
|
||||
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name}
|
||||
install -Dpm755 %{name} -t %{buildroot}%{_bindir}
|
||||
install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
|
||||
%desktop_file_install %{name}.desktop
|
||||
cp %{SOURCE1} -t .
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/discord-ptb
|
||||
cp -rv * %{buildroot}%{_datadir}/discord-ptb
|
||||
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
|
||||
%license terms.html
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/
|
||||
%{_appsdir}/%{name}.desktop
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
%_bindir/discord-ptb
|
||||
%{_datadir}/discord-ptb/
|
||||
%{_datadir}/applications/discord-ptb.desktop
|
||||
%{_datadir}/pixmaps/discord-ptb.png
|
||||
|
||||
%changelog
|
||||
* Tue May 5 2026 Gilver E. <roachy@fyralabs.com> - 1.0.189-2
|
||||
- Update build for new bootstrap format
|
||||
|
||||
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.35-1
|
||||
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 0.0.35-1
|
||||
- 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
|
||||
|
||||
* Sun Oct 16 2022 madonuko <mado@fyralabs.com> - 0.0.33
|
||||
* Sun Oct 16 2022 windowsboy111 <wboy111@outlook.com> - 0.0.33
|
||||
- Initial Package.
|
||||
|
||||
@@ -1,17 +1,24 @@
|
||||
Name: discord
|
||||
Version: 1.0.140
|
||||
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
|
||||
%define debug_package %{nil}
|
||||
%global _build_id_links none
|
||||
|
||||
%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
|
||||
All-in-one voice and text chat for gamers that's free, secure, and works on
|
||||
both your desktop and phone.
|
||||
@@ -22,23 +29,22 @@ both your desktop and phone.
|
||||
%build
|
||||
|
||||
%install
|
||||
install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name}
|
||||
install -Dpm755 %{name} -t %{buildroot}%{_bindir}
|
||||
install -Dpm644 %{name}.png -t %{buildroot}%{_datadir}/pixmaps
|
||||
%desktop_file_install %{name}.desktop
|
||||
cp %{SOURCE1} -t .
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/discord
|
||||
cp -rv * %{buildroot}%{_datadir}/discord
|
||||
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
|
||||
%license terms.html
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/
|
||||
%{_appsdir}/%{name}.desktop
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
%_bindir/discord
|
||||
%{_datadir}/discord/
|
||||
%{_datadir}/applications/discord.desktop
|
||||
%{_datadir}/pixmaps/discord.png
|
||||
|
||||
%changelog
|
||||
* Tue May 5 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-4
|
||||
- Remove unused files from package
|
||||
* Mon May 4 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-2
|
||||
- Updated /usr/bin symlink
|
||||
* Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1
|
||||
* Thu Jan 19 2023 windowsboy111 <wboy111@outlook.com> - 0.0.143-1
|
||||
- Initial package
|
||||
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh_rawfile("SpikeHD/Dorion", "main", "package.json").json().version);
|
||||
@@ -1,61 +1,45 @@
|
||||
%global commit 5704db300594aef6b7a38399c217eac5c704ccb8
|
||||
%global commit_date 20260519
|
||||
%global commit a651b87cc38ab9a208c9272b4f6e5021a1fbfa66
|
||||
%global commit_date 20250104
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision-nightly
|
||||
Name: envision
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%{?dist}
|
||||
Release: 1%?dist
|
||||
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
|
||||
SourceLicense: 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
|
||||
License: AGPL-3.0-or-later
|
||||
URL: https://gitlab.com/gabmus/envision/
|
||||
Source0: %url/-/archive/%commit/envision-%commit.tar.gz
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: cargo
|
||||
BuildRequires: cargo-rpm-macros
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: meson ninja-build cargo
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.66
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.66
|
||||
BuildRequires: pkgconfig(gtk4) >= 4.10.0
|
||||
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: openxr-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: git-core
|
||||
Recommends: android-tools
|
||||
Conflicts: envision
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n envision-%commit
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
# generate constants.rs from constants.rs.in
|
||||
%meson
|
||||
|
||||
# skip subdir
|
||||
sed -E "/^subdir\('src'\)/d" -i meson.build
|
||||
|
||||
%meson --reconfigure
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%cargo_install
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/envision
|
||||
%_datadir/applications/org.gabmus.envision.Devel.desktop
|
||||
%_datadir/envision/
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "falcond-gui.spec"
|
||||
}
|
||||
}
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gitea("git.pika-os.com", "general-packages/falcond-gui"));
|
||||
@@ -6,15 +6,14 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: feishin
|
||||
Version: 1.12.1
|
||||
Release: 1%{?dist}
|
||||
Version: 0.12.1
|
||||
Release: 1%?dist
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/jeffvli/feishin
|
||||
Source0: %url/archive/refs/tags/v%version.tar.gz
|
||||
Requires: fuse mpv
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
BuildRequires: jq libxcrypt-compat pnpm
|
||||
BuildRequires: nodejs-npm jq libxcrypt-compat
|
||||
|
||||
%description
|
||||
%summary.
|
||||
@@ -39,9 +38,9 @@ Keywords=Music;Jellyfin;Audio;Stream;Sonixd
|
||||
EOF
|
||||
|
||||
%build
|
||||
pnpm i
|
||||
pnpm run postinstall
|
||||
pnpm run build
|
||||
npm install --legacy-peer-deps
|
||||
npm run postinstall
|
||||
npm run build
|
||||
%ifarch x86_64
|
||||
|
||||
%define a linux
|
||||
@@ -49,11 +48,11 @@ pnpm run build
|
||||
%define a arm64
|
||||
%endif
|
||||
|
||||
pnpm exec electron-builder --linux dir --%a
|
||||
npx electron-builder --linux dir --%a
|
||||
|
||||
%install
|
||||
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
|
||||
ln -s %_datadir/feishin/feishin %buildroot%_bindir/feishin
|
||||
install -Dm644 feishin.desktop %buildroot%_datadir/applications/
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "flameshot.qt5.spec"
|
||||
}
|
||||
}
|
||||
@@ -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}/
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "flameshot-nightly.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -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*
|
||||
@@ -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());
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "flatpost.spec"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
let v = gh_rawfile("GloriousEggroll/flatpost", "main", "VERSION.txt");
|
||||
v.trim();
|
||||
rpm.version(v);
|
||||
@@ -1,19 +1,23 @@
|
||||
%global commit d530f26d60dc105e44fdc8ac7f30a2f667bc1e4f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20241224
|
||||
|
||||
Name: fontviewer
|
||||
Epoch: 1
|
||||
Version: 1.2.0
|
||||
Version: %{commit_date}.git~%{shortcommit}
|
||||
Release: 1%?dist
|
||||
Summary: View and install fonts
|
||||
|
||||
License: GPL-2.0
|
||||
URL: https://github.com/chocolateimage/%{name}
|
||||
Source0: %{url}/archive/v%{version}.tar.gz
|
||||
Source0: %{url}/archive/%{commit}.tar.gz
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: meson
|
||||
BuildRequires: pkgconfig(cairomm-1.0)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(gtkmm-3.0)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: json-glib-devel
|
||||
|
||||
Requires: gtk3 fontconfig
|
||||
|
||||
@@ -23,7 +27,7 @@ Packager: sadlerm <sad_lerm@hotmail.com>
|
||||
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
%autosetup -n %{name}-%{commit} -p1
|
||||
|
||||
%build
|
||||
%meson
|
||||
@@ -37,4 +41,3 @@ A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/icons/hicolor/scalable/actions/%{name}-google-symbolic.svg
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
rpm.version(gh("chocolateimage/fontviewer"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
}
|
||||
# rpm.global("commit", gh_commit("chocolateimage/fontviewer"));
|
||||
# if rpm.changed() {
|
||||
# rpm.release();
|
||||
# rpm.global("commit_date", date());
|
||||
# }
|
||||
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("grouzen/framework-tool-tui"));
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "goofcord.spec"
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -1,5 +0,0 @@
|
||||
let v = gh_tag("Milkshiift/GoofCord");
|
||||
|
||||
if `[\d.]+-beta\.\d+`.find_all(v).len == 0 {
|
||||
rpm.version(v);
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "gurk.spec"
|
||||
}
|
||||
labels {
|
||||
sccache = 0
|
||||
}
|
||||
}
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("boxdot/gurk-rs"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "halloy.spec"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user