feat(spec render): Add first pass of rendered specs#16475
feat(spec render): Add first pass of rendered specs#16475dmcilvaney wants to merge 2 commits intotomls/base/mainfrom
Conversation
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.
There was a problem hiding this comment.
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
.gitattributesrule to excludeSPECS/**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 callsisTrue()), and string comparison uses==instead of.equals(...), which can fail depending on string interning. Update the assertions to assert on the numeric value (or callisTrue()), 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
isAssignableFromcheck 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 useFileParameters.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_Addr1is 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 intendedjp_Typedefinition is consistent with the union layout (right now the originaljp_Typebased onj_po_Bytes[...]is commented out and replaced withj_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.
| # 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 |
There was a problem hiding this comment.
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.
| # 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 |
| @@ -0,0 +1,17 @@ | |||
| #!/bin/sh | |||
|
|
|||
| if [[ -z "$1" ]]; then | |||
There was a problem hiding this comment.
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 [ ... ].
| if [[ -z "$1" ]]; then | |
| if [ -z "$1" ]; then |
| # CPPMICROSERVICES_IMPORT_BUNDLE & CPPMICROSERVICES_INITIALIZE_BUNDLE | ||
| # and trying the obvious fix caused a ripple effect breaking other | ||
| # areas | ||
| %global _lto_cflags %nil |
There was a problem hiding this comment.
%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.
| %global _lto_cflags %nil | |
| %global _lto_cflags %{nil} |
| rm -rf $RPM_BUILD_ROOT | ||
| %cmake_install | ||
| find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' | ||
| find $RPM_BUILD_ROOT |
There was a problem hiding this comment.
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.
| 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} |
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.