Skip to content

feat(spec render): Add first pass of rendered specs#16475

Open
dmcilvaney wants to merge 2 commits intotomls/base/mainfrom
damcilva/generated_specs_v1
Open

feat(spec render): Add first pass of rendered specs#16475
dmcilvaney wants to merge 2 commits intotomls/base/mainfrom
damcilva/generated_specs_v1

Conversation

@dmcilvaney
Copy link
Copy Markdown
Contributor

This adds the first draft of the rendered spec files to the repo. There are still several hundred packages that do not render, but this is a first draft of the majority of packages. There is no guarantee of accuracy for this first pass.

This adds the first draft of the rendered spec files to the repo. There
are still several hundred packages that do not render, but this is a
first draft of the majority of packages. There is no guarantee of
accuracy for this first pass.
Copilot AI review requested due to automatic review settings April 6, 2026 20:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a first-pass snapshot of rendered RPM packaging artifacts (specs, sources, patches, and supporting files) into the repo, plus editor/linguist config to discourage manual edits and reduce noise.

Changes:

  • Add many rendered SPECS/** files (specs, sources checksum files, patches/keyrings, helper scripts).
  • Add VS Code settings to mark SPECS/** read-only and reduce linter/analysis noise.
  • Add .gitattributes rule to exclude SPECS/** from linguist language statistics.

Reviewed changes

Copilot reviewed 106 out of 23681 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
SPECS/MUMPS/MUMPS-Makefile.par.inc Adds MUMPS parallel build makefile include used by packaging.
SPECS/Lmod/sources Adds source checksum entry for Lmod.
SPECS/Lmod/macros.Lmod Adds RPM macro for modulefiles directory.
SPECS/LibRaw/sources Adds source checksum entry for LibRaw.
SPECS/LibRaw/LibRaw-pkgconfig.patch Adds patch adjusting LibRaw pkg-config metadata.
SPECS/Judy/sources Adds source checksum entry for Judy.
SPECS/Judy/README.Fedora Adds Fedora-specific licensing note to ship with package.
SPECS/Judy/Judy.spec Adds rendered Judy spec.
SPECS/Judy/Judy-1.0.4-test-shared.patch Adds patch to run tests against shared library.
SPECS/Judy/Judy-1.0.4-fix-Judy1-mans.patch Adds patch correcting Judy1 manpage symlinks.
SPECS/Judy/04_fix_undefined_behavior_during_aggressive_loop_optimizations.patch Adds patch to address undefined behavior under optimization.
SPECS/JUnitParams/sources Adds source checksum entry for JUnitParams.
SPECS/JUnitParams/f0772e7.patch Adds upstream patch improving missing-parameter exceptions + tests.
SPECS/JUnitParams/c060976.patch Adds upstream patch updating README/release notes.
SPECS/JUnitParams/JUnitParams.spec Adds rendered JUnitParams spec with patch stack.
SPECS/JUnitParams/JUnitParams-single-method-filter.patch Adds patch to adjust single-method filtering tests.
SPECS/JUnitParams/JUnitParams-parse-bigdecimal.patch Adds patch fixing BigDecimal parsing in tests/runtime.
SPECS/JUnitParams/JUnitParams-has-message-containing.patch Adds patch making tests less brittle on message changes.
SPECS/JUnitParams/90d47a5.patch Adds upstream patch adjusting exception messages + tests.
SPECS/JUnitParams/6bab69a.patch Adds upstream patch to surface original ctor exceptions + tests.
SPECS/JUnitParams/280ee05.patch Adds upstream patch adding language identifiers to README code blocks.
SPECS/ImageMagick/sources Adds source checksums for ImageMagick tarball + signature.
SPECS/ImageMagick/ImageMagick.keyring Adds vendored signing keyring for verifying sources.
SPECS/HdrHistogram_c/sources Adds source checksum entry for HdrHistogram_c.
SPECS/HdrHistogram_c/HdrHistogram_c.spec Adds rendered spec for HdrHistogram C port.
SPECS/GraphicsMagick/sources Adds source checksums for GraphicsMagick and bundled URW fonts.
SPECS/GraphicsMagick/GraphicsMagick-1.3.42-multilib.patch Adds patch adjusting config scripts for multilib.
SPECS/GraphicsMagick/GraphicsMagick-1.3.31-perl_linkage.patch Adds patch adjusting PerlMagick link flags.
SPECS/GitPython/sources Adds source checksum entry for GitPython.
SPECS/FP16/sources Adds source checksum entry for FP16 snapshot archive.
SPECS/FP16/FP16.spec Adds rendered FP16 spec with rpmautospec metadata.
SPECS/DirectX-Headers/sources Adds source checksum entry for DirectX-Headers.
SPECS/DirectX-Headers/DirectX-Headers.spec Adds rendered spec for DirectX-Headers including mingw subpackages.
SPECS/DevIL/sources Adds checksum entry for DevIL source tarball.
SPECS/DevIL/devil-1.7.8-jasper2.patch Adds patch updating Jasper stream callbacks/types.
SPECS/DevIL/DevIL-1.7.8-libpng15.patch Adds patch for libpng API version differences.
SPECS/DevIL/DevIL-1.7.8-gcc5.patch Adds patch adjusting restrict keyword for GCC.
SPECS/DevIL/DevIL-1.7.8-CVE-2009-3994.patch Adds security patch for DICOM UID handling.
SPECS/DevIL/DevIL-1.7.5-il_endian_h.patch Adds patch switching ASM endian swaps to byteswap helpers.
SPECS/DevIL/DevIL-1.7.5-allegropicfix.patch Adds patch filtering Allegro link flags.
SPECS/Cython/sources Adds source checksum entry for Cython.
SPECS/CppMicroServices/sources Adds source checksum entry for CppMicroServices.
SPECS/CppMicroServices/CppMicroServices.spec Adds rendered spec for CppMicroServices with system-libs patches.
SPECS/CppMicroServices/0012-Disable-JSON-comment-test.patch Adds patch disabling a jsoncpp comment test.
SPECS/CppMicroServices/0011-Use-fPIC-on-all-architectures-not-just-x86_64.patch Adds patch applying -fPIC more broadly + API fixes.
SPECS/CppMicroServices/0010-Fix-for-system-libraries-for-gmock-google-benchmark.patch Adds patch fixing link deps when using system gmock/benchmark.
SPECS/CppMicroServices/0009-framework-include-cppmicroservces-add-missing-cstdin.patch Adds patch adding missing <cstdint> includes for GCC 15+.
SPECS/CppMicroServices/0008-Remove-broken-docs-python-monkeypatching.patch Adds patch removing broken Sphinx/Pygments monkeypatches.
SPECS/CppMicroServices/0007-Replace-use-of-removed-htmlescape-function-from-sphi.patch Adds patch replacing removed Sphinx htmlescape.
SPECS/CppMicroServices/0006-Removed-unused-absl-package.patch Adds patch removing unused bundled absl build.
SPECS/CppMicroServices/0005-Use-system-spdlog-package.patch Adds patch switching to system spdlog.
SPECS/CppMicroServices/0004-Use-system-civetweb-package.patch Adds patch switching to system civetweb and related API adjustments.
SPECS/CppMicroServices/0003-Use-system-linenoise-library.patch Adds patch switching to system linenoise.
SPECS/CppMicroServices/0002-Use-system-jsoncpp-library.patch Adds patch switching to system jsoncpp and updating link deps.
SPECS/CppMicroServices/0001-Fully-use-system-boost.patch Adds patch making boost/nowide handling conditional on system boost.
SPECS/CharLS/sources Adds source checksum entry for CharLS.
SPECS/CharLS/CharLS.spec Adds rendered CharLS spec.
SPECS/CUnit/sources Adds checksum entry for CUnit source.
SPECS/CUnit/CUnit.spec Adds rendered CUnit spec.
SPECS/CGAL/sources Adds source checksum entry for CGAL.
SPECS/AMF/sources Adds source checksum entry for AMF-cleaned tarball.
SPECS/AMF/AMF.spec Adds rendered AMF spec with samples/docs subpackages.
SPECS/AMF/AMF-tarball.sh Adds helper script to produce cleaned AMF tarball.
SPECS/7zip/strip-rar-support.sh Adds helper script to create a RAR-stripped 7zip tarball.
SPECS/7zip/sources Adds source checksum entry for 7zip tarball.
SPECS/7zip/7zip.spec Adds rendered 7zip spec producing multiple console variants.
SPECS/7zip/7zip-find-so-in-libexec.diff Adds patch changing runtime search path for 7z.so.
SPECS/389-ds-base/sources Adds source checksums for 389-ds-base and bundled deps.
SPECS/389-ds-base/389-ds-base.sysusers Adds sysusers.d file for creating dirsrv user/group.
SPECS/389-ds-base/389-ds-base-devel.README Adds devel README for plugin development references.
SPECS/389-ds-base/0024-Issue-7223-Use-lexicographical-order-for-ancestorid-.patch Adds upstream patch adjusting ancestorid matching rule config.
SPECS/389-ds-base/0023-Issue-7184-2nd-argparse.HelpFormatter-_format_action.patch Adds upstream patch for argparse changes across Python versions.
SPECS/389-ds-base/0019-Issue-7223-Add-upgrade-function-to-remove-nsIndexIDL.patch Adds upstream patch removing bad scanlimit via upgrade + test.
SPECS/389-ds-base/0017-Issue-7224-CI-Test-Simplify-test_reserve_descriptor_.patch Adds upstream patch simplifying reserved FD validation test.
SPECS/389-ds-base/0015-Issue-7213-MDB_BAD_VALSIZE-error-while-handling-VLV-.patch Adds upstream patch handling LMDB key limits for VLV + test.
SPECS/389-ds-base/0014-Issue-7027-2nd-389-ds-base-OpenScanHub-Leaks-Detecte.patch Adds upstream patch updating coverity annotations.
SPECS/389-ds-base/0013-Issue-7184-argparse.HelpFormatter-_format_actions_us.patch Adds upstream patch for deprecated argparse usage formatting.
SPECS/389-ds-base/0011-Issue-7189-DSBLE0007-generates-incorrect-remediation.patch Adds upstream patch fixing healthcheck remediation command quoting.
SPECS/389-ds-base/0010-Bump-lodash-from-4.17.21-to-4.17.23-in-src-cockpit-3.patch Adds upstream patch for lodash security/version bump.
SPECS/389-ds-base/0009-Issue-7172-2nd-Index-ordering-mismatch-after-upgrade.patch Adds upstream patch correcting ancestorid/parentid index detection.
SPECS/389-ds-base/0008-Issue-7172-Index-ordering-mismatch-after-upgrade-717.patch Adds upstream patch fixing index ordering regression + upgrade warning.
SPECS/389-ds-base/0007-Issue-7108-Fix-shutdown-crash-in-entry-cache-destruc.patch Adds upstream patch fixing cache LRU/pinning corruption issues.
SPECS/389-ds-base/0004-Issue-7160-Add-lib389-version-sync-check-to-configur.patch Adds upstream patch enforcing lib389 version sync at configure time.
SPECS/389-ds-base/0003-Issue-7166-db_config_set-asserts-because-of-dynamic-.patch Adds upstream patch preventing dynamic list args assertion.
SPECS/389-ds-base/0002-Sync-lib389-version-to-3.1.4-7161.patch Adds upstream patch syncing lib389 version metadata.
.vscode/settings.json Makes rendered specs read-only and suppresses tooling noise in VS Code.
.gitattributes Excludes SPECS/** from linguist language detection.
Comments suppressed due to low confidence (3)

SPECS/JUnitParams/JUnitParams-single-method-filter.patch:1

  • This patch weakens/breaks the AssertJ assertions: assertThat(runner.testCount() == 1); does not actually assert truth (it creates an assertion on a boolean but never calls isTrue()), and string comparison uses == instead of .equals(...), which can fail depending on string interning. Update the assertions to assert on the numeric value (or call isTrue()), and use .equals(...) (or AssertJ string assertions) for display name matching.
--- JUnitParams-JUnitParams-1.1.1/src/test/java/junitparams/FilterableTest.java.orig	2017-11-03 02:05:01.000000000 -0600

SPECS/JUnitParams/f0772e7.patch:1

  • The isAssignableFrom check is reversed: annotationType().isAssignableFrom(FileParameters.class) will typically be false for annotation types, so file-parameter methods may not be detected and the parameter-count verification may throw unexpectedly. Compare annotation types directly (e.g., annotationType() == FileParameters.class) or use FileParameters.class.isAssignableFrom(annotationType()).
From f0772e7bfde036d2cd66464866cb552a969ca33a Mon Sep 17 00:00:00 2001

SPECS/Judy/04_fix_undefined_behavior_during_aggressive_loop_optimizations.patch:1

  • jp_Addr1 is defined twice, which can trigger macro-redefinition warnings/errors under stricter compiler flags and makes the patch harder to reason about. Remove the duplicate definition and ensure the intended jp_Type definition is consistent with the union layout (right now the original jp_Type based on j_po_Bytes[...] is commented out and replaced with j_p1.j_p1_Type, which may not match all callers’ expectations).
Original author Doug Baskins: http://sourceforge.net/p/judy/patches/5/#ba53

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +24 to +31
# You have to choose one among the following two lines depending on
# the type of analysis you want to perform. If you want to perform only
# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
# variable below); for both parallel and sequential analysis choose the second
# line (remember to add -Dptscotch in the ORDERINGSF variable below)

LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file assigns LSCOTCH twice; in make, the second assignment silently overrides the first. This makes the 'choose one of two lines' comment misleading and can lead to incorrect link flags. Make one choice explicit (keep only one assignment), or gate them behind a variable/conditional (e.g., ifdef/ifeq) so the intended selection is honored.

Suggested change
# You have to choose one among the following two lines depending on
# the type of analysis you want to perform. If you want to perform only
# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
# variable below); for both parallel and sequential analysis choose the second
# line (remember to add -Dptscotch in the ORDERINGSF variable below)
LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
# Choose the SCOTCH link flags explicitly with USE_PTSCOTCH.
# Set USE_PTSCOTCH=no for sequential analysis only
# (and add -Dscotch in the ORDERINGSF variable below).
# Leave USE_PTSCOTCH unset, or set it to yes, for both parallel and sequential
# analysis (and add -Dptscotch in the ORDERINGSF variable below).
ifeq ($(USE_PTSCOTCH),no)
LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
else
LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
endif

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,17 @@
#!/bin/sh

if [[ -z "$1" ]]; then
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The script is declared with #!/bin/sh but uses bash-specific [[ ... ]] syntax. On systems where /bin/sh is not bash (e.g., dash), this will fail. Either change the shebang to #!/bin/bash (or /usr/bin/env bash) or rewrite the conditional to POSIX [ ... ].

Suggested change
if [[ -z "$1" ]]; then
if [ -z "$1" ]; then

Copilot uses AI. Check for mistakes.
# CPPMICROSERVICES_IMPORT_BUNDLE & CPPMICROSERVICES_INITIALIZE_BUNDLE
# and trying the obvious fix caused a ripple effect breaking other
# areas
%global _lto_cflags %nil
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

%nil is not the standard RPM empty macro (typically %{nil}), so this likely sets _lto_cflags to the literal string %nil rather than emptying it. Use %{nil} to reliably disable LTO flags via _lto_cflags.

Suggested change
%global _lto_cflags %nil
%global _lto_cflags %{nil}

Copilot uses AI. Check for mistakes.
Comment on lines +40 to +43
rm -rf $RPM_BUILD_ROOT
%cmake_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find $RPM_BUILD_ROOT
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using $RPM_BUILD_ROOT is deprecated and can be unset in modern RPM builds; %{buildroot} should be used instead. Replacing these with %{buildroot} (and avoiding an unconditional rm -rf of the buildroot) improves compatibility with current RPM tooling.

Suggested change
rm -rf $RPM_BUILD_ROOT
%cmake_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find $RPM_BUILD_ROOT
%cmake_install
find %{buildroot} -name '*.la' -exec rm -f {} ';'
find %{buildroot}

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants