Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://salimma.fedorapeople.org/mcrouter.spec SRPM URL: https://salimma.fedorapeople.org/mcrouter-2026.09.21.00^1.d8b07b0-1.fc43.src.rpm Upstream URL: https://github.com/facebook/mcrouter Description: Mcrouter (pronounced mc router) is a memcached protocol router for scaling memcached deployments. Because the routing and feature logic are abstracted from the client in mcrouter deployments, the client may simply communicate with destination hosts through mcrouter over a TCP connection using standard memcached protocol. Typically, little or no client modification is needed to use mcrouter, which was designed to be a drop-in proxy between the client and memcached hosts. Fedora Account System Username: salimma
*** Bug 1942845 has been marked as a duplicate of this bug. ***
Asking for re-review since this got retired in F44 and Rawhide since it has been FTBFS/FTI for a while - we were working on reworking the packaging to use getdeps with vendored dependencies
Taking this review
Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=150474769
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package does not use a name that already exists. Note: A package with this name already exists. Please check https://src.fedoraproject.org/rpms/mcrouter See: https://docs.fedoraproject.org/en-US/packaging- guidelines/Naming/#_conflicting_package_names ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "MIT License", "FSF All Permissive License", "GNU General Public License v3.0 or later", "Apache License 2.0", "*No copyright* Apache License 2.0", "BSD 3-Clause License", "GNU General Public License, Version 2", "BSD 3-Clause License and/or MIT License", "*No copyright* MIT License", "University of Illinois/NCSA Open Source License", "*No copyright* BSD 3-Clause License", "*No copyright* The Unlicense", "Apache License 2.0 [generated file]", "zlib License", "BSD 2-Clause License", "Boost Software License 1.0", "*No copyright* Boost Software License 1.0", "*No copyright* Public domain", "*No copyright* MIT License [generated file]", "Creative Commons CC0 1.0 and/or MIT License", "*No copyright* Creative Commons CC0 1.0", "Apache License 2.0 and/or MIT License", "CMU License". 17135 files have unknown license. Detailed output of licensecheck in /tmp/2537668-mcrouter/licensecheck.txt [x]: %build honors applicable compiler flags or justifies otherwise. [!]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: The License field must be a valid SPDX expression. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 2789 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: mcrouter-2026.09.21.00^1.d8b07b0-1.fc46.x86_64.rpm mcrouter-2026.09.21.00^1.d8b07b0-1.fc46.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.8.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmp7b_ldcib')] checks: 32, packages: 2 mcrouter.src: E: spelling-error ('memcached', "Summary(en_US) memcached -> Memcached, Memcached's") mcrouter.src: E: spelling-error ('memcached', "%description -l en_US memcached -> Memcached, Memcached's") mcrouter.x86_64: E: spelling-error ('memcached', "Summary(en_US) memcached -> Memcached, Memcached's") mcrouter.x86_64: E: spelling-error ('memcached', "%description -l en_US memcached -> Memcached, Memcached's") mcrouter.x86_64: W: no-manual-page-for-binary mcpiper mcrouter.x86_64: W: no-manual-page-for-binary mcrouter mcrouter.spec: W: invalid-url Source1: mcrouter-2026.09.21.00^1.d8b07b0-vendor.tar.xz mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter SSL_CTX_set_cipher_list 2 packages and 0 specfiles checked; 4 errors, 4 warnings, 77 filtered, 4 badness; has taken 1.8 s Rpmlint (debuginfo) ------------------- Checking: mcrouter-debuginfo-2026.09.21.00^1.d8b07b0-1.fc46.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.8.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpfil8pzx3')] checks: 32, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 8 filtered, 0 badness; has taken 26.4 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.10.0 configuration: /usr/lib/python3.15/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 33, packages: 2 mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper /lib64/libz.so.1 mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper /lib64/liblz4.so.1 mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper /lib64/libsnappy.so.1 mcrouter.x86_64: E: spelling-error ('memcached', 'Summary(en_US) memcached -> Memcached, schemed') mcrouter.x86_64: E: spelling-error ('memcached', '%description -l en_US memcached -> Memcached, schemed') mcrouter.x86_64: W: no-manual-page-for-binary mcpiper mcrouter.x86_64: W: no-manual-page-for-binary mcrouter mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter SSL_CTX_set_cipher_list 2 packages and 0 specfiles checked; 2 errors, 6 warnings, 82 filtered, 2 badness; has taken 1.4 s Source checksums ---------------- https://github.com/facebook/mcrouter/archive/d8b07b00c72e94237d3710db0e36ec58de414b6c/mcrouter-2026.09.21.00^1.d8b07b0.tar.gz : CHECKSUM(SHA256) this package : 101a576336cfd4e85c985b801ca6190bae603549a5ce67b3688ae02d492a1ccc CHECKSUM(SHA256) upstream package : 101a576336cfd4e85c985b801ca6190bae603549a5ce67b3688ae02d492a1ccc Requires -------- mcrouter (rpmlib, GLIBC filtered): libatomic.so.1()(64bit) libatomic.so.1(LIBATOMIC_1.0)(64bit) libc.so.6()(64bit) libcrypto.so.4()(64bit) libcrypto.so.4(OPENSSL_4.0.0)(64bit) libevent-2.1.so.7()(64bit) libfmt.so.12()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgflags.so.2.2()(64bit) libglog.so.2()(64bit) liblz4.so.1()(64bit) liblzma.so.5()(64bit) liblzma.so.5(XZ_5.0)(64bit) libm.so.6()(64bit) libsnappy.so.1()(64bit) libsodium.so.26()(64bit) libssl.so.4()(64bit) libssl.so.4(OPENSSL_4.0.0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libunwind.so.8()(64bit) libxxhash.so.0()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) libzstd.so.1()(64bit) rtld(GNU_HASH) Provides -------- mcrouter: bundled(fbthrift) bundled(fizz) bundled(folly) bundled(liboqs) bundled(mvfst) bundled(wangle) mcrouter mcrouter(x86-64) Diff spec file in url and in SRPM --------------------------------- --- /tmp/2537668-mcrouter/srpm/mcrouter.spec 2026-09-24 10:11:04.358742452 -0700 +++ /tmp/2537668-mcrouter/srpm-unpacked/mcrouter.spec 2026-09-20 17:00:00.000000000 -0700 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.8.4) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %bcond_with toolchain_clang @@ -152,3 +162,142 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Mon Sep 21 2026 Michel Lind <salimma> - 2026.09.21.00^1.d8b07b0-1 +- Build with getdeps and vendored dependencies via %%getdeps_* macros +- Update to snapshot d8b07b00, one commit past v2026.09.21.00 and the first + to ship build/fbcode_builder; the build now goes through getdeps, + vendoring folly, fizz, wangle, mvfst, fbthrift and liboqs instead of + requiring the retired Fedora packages of the Meta stack +- Ship the mcrouter and mcpiper executables statically linked; nothing else + (no libraries or headers) +- Re-enable ppc64le: the folly F14 fallback ambiguity behind rhbz#2344416 + is fixed by a carried patch and the scratch build passes +- Version is the upstream weekly tag, with ^<distance>.<shortcommit> + appended for a snapshot; pass it to CMake as MCROUTER_PACKAGE_VERSION, + which the CMake conversion had left at "0.1.0-dev" +- Declare SourceLicense; the License tag lists the vendored projects' + licenses and is verified against the vendored tree in %%check +- Add vendor.sh and snapshot.sh; drop the autotools-era distutils patch + +* Thu Jul 24 2025 Fedora Release Engineering <releng> - 0.41.0.20250203-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Feb 07 2025 Michel Lind <salimma> - 0.41.0.20250203-2 +- Temporarily disable ppc64le build + +* Fri Feb 07 2025 Michel Lind <salimma> - 0.41.0.20250203-1 +- Update to version 2025.02.03.00; Fixes: RHBZ#2266213 + +* Fri Jan 17 2025 Fedora Release Engineering <releng> - 0.41.0.20240219-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering <releng> - 0.41.0.20240219-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Feb 24 2024 Michel Lind <salimma> - 0.41.0.20240219-1 +- Update to 2024.02.19.00 + +* Sat Feb 24 2024 Michel Lind <salimma> - 0.41.0.20240122-2 +- Re-enable LTO to fix x86_64 build (rhbz#2261370) + +* Wed Jan 31 2024 Michel Lind <salimma> - 0.41.0.20240122-1 +- Update to 2024.01.22.00 +- Target C++20 for std::ranges + +* Thu Jan 25 2024 Fedora Release Engineering <releng> - 0.41.0.20231016-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering <releng> - 0.41.0.20231016-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Oct 18 2023 Michel Lind <salimma> - 0.41.0.20231016-1 +- Update to 2023.10.16.00 + +* Thu Oct 05 2023 Remi Collet <remi> - 0.41.0.20230703-3 +- rebuild for new libsodium + +* Thu Jul 20 2023 Fedora Release Engineering <releng> - 0.41.0.20230703-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 07 2023 Michel Alexandre Salim <salimma> - 0.41.0.20230703-1 +- Update to 2023.07.03.00 + +* Wed Jun 28 2023 Vitaly Zaitsev <vitaly> - 0.41.0.20230424-2 +- Rebuilt due to fmt 10 update. + +* Tue Apr 25 2023 Michel Alexandre Salim <salimma> - 0.41.0.20230424-1 +- Update to 2023.04.24.00 +- Remove unneeded dependencies + +* Thu Jan 19 2023 Fedora Release Engineering <releng> - 0.41.0.20220711-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Michel Alexandre Salim <michel> - 0.41.0.20220711-1 +- Update to 2022.07.11.00 + +* Thu Jul 21 2022 Fedora Release Engineering <releng> - 0.41.0.20220314-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 19 2022 Mamoru TASAKA <mtasaka> - 0.41.0.20220314-3 +- Enable ppc64le again(bug 1943729), rebuild with fmt-9 + +* Wed May 04 2022 Thomas Rodgers <trodgers> - 0.41.0.20220314-2 +- Rebuilt for Boost 1.78 + +* Tue Mar 29 2022 Michel Alexandre Salim <salimma> - 0.41.0.20220314-1 +- Update to 2022.03.14.00 + +* Tue Mar 01 2022 Michel Alexandre Salim <salimma> - 0.41.0.20220221-1 +- Update to 2022.02.21.00 + +* Thu Jan 20 2022 Fedora Release Engineering <releng> - 0.41.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 24 2021 Michel Alexandre Salim <salimma> - 0.41.0-7.20211222git90d63a3 +- Update to snapshot from 20211222 +- Opt in to rpmautospec (changelog only) + +* Tue Sep 14 2021 Sahana Prasad <sahana> - 0.41.0-7.20210723gitc9cd4bd +- Rebuilt with OpenSSL 3.0.0 + +* Fri Aug 06 2021 Jonathan Wakely <jwakely> - 0.41.0-6.20210723gitc9cd4bd +- Rebuilt for Boost 1.76 + +* Sun Aug 1 2021 Michel Alexandre Salim <salimma> - 0.41.0-5.20210723gitc9cd4bd +- Update to snapshot from 20210723 +- Use new %%limit_build macro to limit memory usage per build process + +* Tue Jul 27 2021 Fedora Release Engineering <releng> - 0.41.0-5.20210629git67eda71 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 19 2021 Michel Alexandre Salim <salimma> - 0.41.0-4.20210629git67eda71 +- Update to snapshot from 20210629 +- Patch out usage of distutils (deprecated in Python 3.10) + +* Mon May 10 2021 Michel Alexandre Salim <salimma> - 0.41.0-4.20210508git806072e +- Update to snapshot from 20210508 + +* Mon Apr 26 2021 Michel Alexandre Salim <salimma> - 0.41.0-4.20210426gitf2e90bc +- Update to snapshot from 20210426 + +* Fri Apr 16 2021 Michel Alexandre Salim <salimma> - 0.41.0-4.20210412git018f1af +- Update to snapshot from 20210412 +- Stop using forge macros in case we want to build for EPEL8 + +* Mon Mar 29 2021 Michel Alexandre Salim <salimma> - 0.41.0-4.20210324git7884f76 +- Update to snapshot from 20210324 +- Use %%forgeautosetup so the configure.ac patch is actually applied +- Determine the number of safe build jobs to use (borrowed from Ceph) + +* Fri Mar 26 2021 Michel Alexandre Salim <salimma> - 0.41.0-3.20210322git254a127 +- Fix usage of deprecated AC_PROG_LIBTOOL macro; use LT_INIT instead + +* Wed Mar 24 2021 Michel Alexandre Salim <salimma> - 0.41.0-2.20210322git254a127 +- Update to snapshot from 20210322 +- Disable build concurrency and LTO to compensate for high RAM usage + +* Tue Mar 16 2021 Davide Cavalca <dcavalca> - 0.41.0-1.20210316gita3d9640 +- Initial package + +## END: Generated by rpmautospec Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29 Command line :/usr/bin/fedora-review -b 2537668 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Shell-api, Generic Disabled plugins: Java, fonts, Python, R, Haskell, Ocaml, PHP, SugarActivity, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
[!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "MIT License", "FSF All Permissive License", "GNU General Public License v3.0 or later", "Apache License 2.0", "*No copyright* Apache License 2.0", "BSD 3-Clause License", "GNU General Public License, Version 2", "BSD 3-Clause License and/or MIT License", "*No copyright* MIT License", "University of Illinois/NCSA Open Source License", "*No copyright* BSD 3-Clause License", "*No copyright* The Unlicense", "Apache License 2.0 [generated file]", "zlib License", "BSD 2-Clause License", "Boost Software License 1.0", "*No copyright* Boost Software License 1.0", "*No copyright* Public domain", "*No copyright* MIT License [generated file]", "Creative Commons CC0 1.0 and/or MIT License", "*No copyright* Creative Commons CC0 1.0", "Apache License 2.0 and/or MIT License", "CMU License". 17135 files have unknown license. Detailed output of licensecheck in /tmp/2537668-mcrouter/licensecheck.txt This needs auditing [!]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. Need Provides: bundled() for the stuff coming from getdeps [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) Red herring, rpmautospec mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter SSL_CTX_set_cipher_list This probably needs to be reported upstream
Created attachment 2158539 [details] licensecheck
(In reply to Davide Cavalca from comment #5) > Package Review > ============== > > Legend: > [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated > [ ] = Manual review needed > > > Issues: > ======= > - Package does not use a name that already exists. > Note: A package with this name already exists. Please check > https://src.fedoraproject.org/rpms/mcrouter > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/Naming/#_conflicting_package_names > > > ===== MUST items ===== > > C/C++: > [x]: Package does not contain kernel modules. > [x]: If your application is a C or C++ application you must list a > BuildRequires against gcc, gcc-c++ or clang. > [x]: Package does not contain any libtool archives (.la) > [x]: Package contains no static executables. > [x]: Rpath absent or only used for internal libs. > > Generic: > [x]: Package is licensed with an open-source compatible license and meets > other legal requirements as defined in the legal section of Packaging > Guidelines. > [!]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses > found: "Unknown or generated", "MIT License", "FSF All Permissive > License", "GNU General Public License v3.0 or later", "Apache License > 2.0", "*No copyright* Apache License 2.0", "BSD 3-Clause License", > "GNU General Public License, Version 2", "BSD 3-Clause License and/or > MIT License", "*No copyright* MIT License", "University of > Illinois/NCSA Open Source License", "*No copyright* BSD 3-Clause > License", "*No copyright* The Unlicense", "Apache License 2.0 > [generated file]", "zlib License", "BSD 2-Clause License", "Boost > Software License 1.0", "*No copyright* Boost Software License 1.0", > "*No copyright* Public domain", "*No copyright* MIT License [generated > file]", "Creative Commons CC0 1.0 and/or MIT License", "*No copyright* > Creative Commons CC0 1.0", "Apache License 2.0 and/or MIT License", > "CMU License". 17135 files have unknown license. Detailed output of > licensecheck in /tmp/2537668-mcrouter/licensecheck.txt > [x]: %build honors applicable compiler flags or justifies otherwise. > [!]: Package contains no bundled libraries or specifies bundled libraries > with Provides: bundled(<libname>) if unbundling is not possible. > [x]: Changelog in prescribed format. > [x]: Sources contain only permissible code or content. > [-]: Package contains desktop file if it is a GUI application. > [x]: Development files must be in a -devel package > [x]: Package uses nothing in %doc for runtime. > [x]: Package consistently uses macros (instead of hard-coded directory > names). > [x]: Package is named according to the Package Naming Guidelines. > [x]: Package does not generate any conflict. > [x]: Package obeys FHS, except libexecdir and /usr/target. > [-]: If the package is a rename of another package, proper Obsoletes and > Provides are present. > [x]: Requires correct, justified where necessary. > [x]: Spec file is legible and written in American English. > [x]: Package contains systemd file(s) if in need. > [x]: Useful -debuginfo package or justification otherwise. > [x]: Package is not known to require an ExcludeArch tag. > [x]: Package complies to the Packaging Guidelines > [x]: Package successfully compiles and builds into binary rpms on at least > one supported primary architecture. > [x]: Package installs properly. > [x]: Rpmlint is run on all rpms the build produces. > Note: There are rpmlint messages (see attachment). > [x]: If (and only if) the source package includes the text of the > license(s) in its own file, then that file, containing the text of the > license(s) for the package is included in %license. > [x]: The License field must be a valid SPDX expression. > [x]: Package requires other packages for directories it uses. > [x]: Package must own all directories that it creates. > [x]: Package does not own files or directories owned by other packages. > [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT > [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the > beginning of %install. > [x]: Macros in Summary, %description expandable at SRPM build time. > [x]: Dist tag is present. > [x]: Package does not contain duplicates in %files. > [x]: Permissions on files are set properly. > [x]: Package must not depend on deprecated() packages. > [x]: Package use %makeinstall only when make install DESTDIR=... doesn't > work. > [x]: Package is named using only allowed ASCII characters. > [x]: Package is not relocatable. > [x]: Sources used to build the package match the upstream source, as > provided in the spec URL. > [x]: Spec file name must match the spec package %{name}, in the format > %{name}.spec. > [x]: File names are valid UTF-8. > [x]: Large documentation must go in a -doc subpackage. Large could be size > (~1MB) or number of files. > Note: Documentation size is 2789 bytes in 1 files. > [x]: Packages must not store files under /srv, /opt or /usr/local > > ===== SHOULD items ===== > > Generic: > [x]: If the source package does not include license text(s) as a separate > file from upstream, the packager SHOULD query upstream to include it. > [x]: Final provides and requires are sane (see attachments). > [x]: Package functions as described. > [x]: Latest version is packaged. > [x]: Package does not include license text files separate from upstream. > [x]: Patches link to upstream bugs/comments/lists or are otherwise > justified. > [x]: SourceX tarball generation or download is documented. > Note: Package contains tarball without URL, check comments > [-]: Sources are verified with gpgverify first in %prep if upstream > publishes signatures. > Note: gpgverify is not used. > [x]: %check is present and all tests pass. > [x]: Packages should try to preserve timestamps of original installed > files. > [x]: Reviewer should test that the package builds in mock. > [x]: Buildroot is not present > [x]: Package has no %clean section with rm -rf %{buildroot} (or > $RPM_BUILD_ROOT) > [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. > [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file > [x]: Sources can be downloaded from URI in Source: tag > [x]: SourceX is a working URL. > [x]: Package should compile and build into binary rpms on all supported > architectures. > [x]: Spec use %global instead of %define unless justified. > > ===== EXTRA items ===== > > Generic: > [!]: Spec file according to URL is the same as in SRPM. > Note: Spec file as given by url is not the same as in SRPM (see > attached diff). > See: (this test has no URL) > [x]: Rpmlint is run on debuginfo package(s). > Note: No rpmlint messages. > [x]: Rpmlint is run on all installed packages. > Note: There are rpmlint messages (see attachment). > [x]: Large data in /usr/share should live in a noarch subpackage if package > is arched. > > > Rpmlint > ------- > Checking: mcrouter-2026.09.21.00^1.d8b07b0-1.fc46.x86_64.rpm > mcrouter-2026.09.21.00^1.d8b07b0-1.fc46.src.rpm > ============================ rpmlint session starts > ============================ > rpmlint: 2.8.0 > configuration: > /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml > /etc/xdg/rpmlint/fedora-legacy-licenses.toml > /etc/xdg/rpmlint/fedora-spdx-licenses.toml > /etc/xdg/rpmlint/fedora.toml > /etc/xdg/rpmlint/scoring.toml > /etc/xdg/rpmlint/users-groups.toml > /etc/xdg/rpmlint/warn-on-functions.toml > rpmlintrc: [PosixPath('/tmp/tmp7b_ldcib')] > checks: 32, packages: 2 > > mcrouter.src: E: spelling-error ('memcached', "Summary(en_US) memcached -> > Memcached, Memcached's") > mcrouter.src: E: spelling-error ('memcached', "%description -l en_US > memcached -> Memcached, Memcached's") > mcrouter.x86_64: E: spelling-error ('memcached', "Summary(en_US) memcached > -> Memcached, Memcached's") > mcrouter.x86_64: E: spelling-error ('memcached', "%description -l en_US > memcached -> Memcached, Memcached's") > mcrouter.x86_64: W: no-manual-page-for-binary mcpiper > mcrouter.x86_64: W: no-manual-page-for-binary mcrouter > mcrouter.spec: W: invalid-url Source1: > mcrouter-2026.09.21.00^1.d8b07b0-vendor.tar.xz > mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter > SSL_CTX_set_cipher_list > 2 packages and 0 specfiles checked; 4 errors, 4 warnings, 77 filtered, 4 > badness; has taken 1.8 s > > > > > Rpmlint (debuginfo) > ------------------- > Checking: mcrouter-debuginfo-2026.09.21.00^1.d8b07b0-1.fc46.x86_64.rpm > ============================ rpmlint session starts > ============================ > rpmlint: 2.8.0 > configuration: > /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml > /etc/xdg/rpmlint/fedora-legacy-licenses.toml > /etc/xdg/rpmlint/fedora-spdx-licenses.toml > /etc/xdg/rpmlint/fedora.toml > /etc/xdg/rpmlint/scoring.toml > /etc/xdg/rpmlint/users-groups.toml > /etc/xdg/rpmlint/warn-on-functions.toml > rpmlintrc: [PosixPath('/tmp/tmpfil8pzx3')] > checks: 32, packages: 1 > > 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 8 filtered, 0 > badness; has taken 26.4 s > > > > > > Rpmlint (installed packages) > ---------------------------- > ============================ rpmlint session starts > ============================ > rpmlint: 2.10.0 > configuration: > /usr/lib/python3.15/site-packages/rpmlint/configdefaults.toml > /etc/xdg/rpmlint/fedora-spdx-licenses.toml > /etc/xdg/rpmlint/fedora.toml > /etc/xdg/rpmlint/scoring.toml > /etc/xdg/rpmlint/users-groups.toml > /etc/xdg/rpmlint/warn-on-functions.toml > checks: 33, packages: 2 > > mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper > /lib64/libz.so.1 > mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper > /lib64/liblz4.so.1 > mcrouter.x86_64: W: unused-direct-shlib-dependency /usr/bin/mcpiper > /lib64/libsnappy.so.1 > mcrouter.x86_64: E: spelling-error ('memcached', 'Summary(en_US) memcached > -> Memcached, schemed') > mcrouter.x86_64: E: spelling-error ('memcached', '%description -l en_US > memcached -> Memcached, schemed') > mcrouter.x86_64: W: no-manual-page-for-binary mcpiper > mcrouter.x86_64: W: no-manual-page-for-binary mcrouter > mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter > SSL_CTX_set_cipher_list > 2 packages and 0 specfiles checked; 2 errors, 6 warnings, 82 filtered, 2 > badness; has taken 1.4 s > > > > Source checksums > ---------------- > https://github.com/facebook/mcrouter/archive/ > d8b07b00c72e94237d3710db0e36ec58de414b6c/mcrouter-2026.09.21.00^1.d8b07b0. > tar.gz : > CHECKSUM(SHA256) this package : > 101a576336cfd4e85c985b801ca6190bae603549a5ce67b3688ae02d492a1ccc > CHECKSUM(SHA256) upstream package : > 101a576336cfd4e85c985b801ca6190bae603549a5ce67b3688ae02d492a1ccc > > > Requires > -------- > mcrouter (rpmlib, GLIBC filtered): > libatomic.so.1()(64bit) > libatomic.so.1(LIBATOMIC_1.0)(64bit) > libc.so.6()(64bit) > libcrypto.so.4()(64bit) > libcrypto.so.4(OPENSSL_4.0.0)(64bit) > libevent-2.1.so.7()(64bit) > libfmt.so.12()(64bit) > libgcc_s.so.1()(64bit) > libgcc_s.so.1(GCC_3.0)(64bit) > libgcc_s.so.1(GCC_3.3.1)(64bit) > libgflags.so.2.2()(64bit) > libglog.so.2()(64bit) > liblz4.so.1()(64bit) > liblzma.so.5()(64bit) > liblzma.so.5(XZ_5.0)(64bit) > libm.so.6()(64bit) > libsnappy.so.1()(64bit) > libsodium.so.26()(64bit) > libssl.so.4()(64bit) > libssl.so.4(OPENSSL_4.0.0)(64bit) > libstdc++.so.6()(64bit) > libstdc++.so.6(CXXABI_1.3)(64bit) > libstdc++.so.6(CXXABI_1.3.11)(64bit) > libstdc++.so.6(CXXABI_1.3.13)(64bit) > libstdc++.so.6(CXXABI_1.3.15)(64bit) > libstdc++.so.6(CXXABI_1.3.3)(64bit) > libstdc++.so.6(CXXABI_1.3.5)(64bit) > libstdc++.so.6(CXXABI_1.3.7)(64bit) > libstdc++.so.6(CXXABI_1.3.8)(64bit) > libstdc++.so.6(CXXABI_1.3.9)(64bit) > libunwind.so.8()(64bit) > libxxhash.so.0()(64bit) > libz.so.1()(64bit) > libz.so.1(ZLIB_1.2.0)(64bit) > libzstd.so.1()(64bit) > rtld(GNU_HASH) > > > > Provides > -------- > mcrouter: > bundled(fbthrift) > bundled(fizz) > bundled(folly) > bundled(liboqs) > bundled(mvfst) > bundled(wangle) > mcrouter > mcrouter(x86-64) > > > > Diff spec file in url and in SRPM > --------------------------------- > --- /tmp/2537668-mcrouter/srpm/mcrouter.spec 2026-09-24 10:11:04.358742452 > -0700 > +++ /tmp/2537668-mcrouter/srpm-unpacked/mcrouter.spec 2026-09-20 > 17:00:00.000000000 -0700 > @@ -1,2 +1,12 @@ > +## START: Set by rpmautospec > +## (rpmautospec version 0.8.4) > +## RPMAUTOSPEC: autorelease, autochangelog > +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: > + release_number = 1; > + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); > + print(release_number + base_release_number - 1); > +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} > +## END: Set by rpmautospec > + > %bcond_with toolchain_clang > > @@ -152,3 +162,142 @@ > > %changelog > -%autochangelog > +## START: Generated by rpmautospec > +* Mon Sep 21 2026 Michel Lind <salimma> - > 2026.09.21.00^1.d8b07b0-1 > +- Build with getdeps and vendored dependencies via %%getdeps_* macros > +- Update to snapshot d8b07b00, one commit past v2026.09.21.00 and the first > + to ship build/fbcode_builder; the build now goes through getdeps, > + vendoring folly, fizz, wangle, mvfst, fbthrift and liboqs instead of > + requiring the retired Fedora packages of the Meta stack > +- Ship the mcrouter and mcpiper executables statically linked; nothing else > + (no libraries or headers) > +- Re-enable ppc64le: the folly F14 fallback ambiguity behind rhbz#2344416 > + is fixed by a carried patch and the scratch build passes > +- Version is the upstream weekly tag, with ^<distance>.<shortcommit> > + appended for a snapshot; pass it to CMake as MCROUTER_PACKAGE_VERSION, > + which the CMake conversion had left at "0.1.0-dev" > +- Declare SourceLicense; the License tag lists the vendored projects' > + licenses and is verified against the vendored tree in %%check > +- Add vendor.sh and snapshot.sh; drop the autotools-era distutils patch > + > +* Thu Jul 24 2025 Fedora Release Engineering <releng> - > 0.41.0.20250203-3 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild > + > +* Fri Feb 07 2025 Michel Lind <salimma> - > 0.41.0.20250203-2 > +- Temporarily disable ppc64le build > + > +* Fri Feb 07 2025 Michel Lind <salimma> - > 0.41.0.20250203-1 > +- Update to version 2025.02.03.00; Fixes: RHBZ#2266213 > + > +* Fri Jan 17 2025 Fedora Release Engineering <releng> - > 0.41.0.20240219-3 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild > + > +* Thu Jul 18 2024 Fedora Release Engineering <releng> - > 0.41.0.20240219-2 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild > + > +* Sat Feb 24 2024 Michel Lind <salimma> - > 0.41.0.20240219-1 > +- Update to 2024.02.19.00 > + > +* Sat Feb 24 2024 Michel Lind <salimma> - > 0.41.0.20240122-2 > +- Re-enable LTO to fix x86_64 build (rhbz#2261370) > + > +* Wed Jan 31 2024 Michel Lind <salimma> - > 0.41.0.20240122-1 > +- Update to 2024.01.22.00 > +- Target C++20 for std::ranges > + > +* Thu Jan 25 2024 Fedora Release Engineering <releng> - > 0.41.0.20231016-3 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild > + > +* Sun Jan 21 2024 Fedora Release Engineering <releng> - > 0.41.0.20231016-2 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild > + > +* Wed Oct 18 2023 Michel Lind <salimma> - > 0.41.0.20231016-1 > +- Update to 2023.10.16.00 > + > +* Thu Oct 05 2023 Remi Collet <remi> - 0.41.0.20230703-3 > +- rebuild for new libsodium > + > +* Thu Jul 20 2023 Fedora Release Engineering <releng> - > 0.41.0.20230703-2 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild > + > +* Fri Jul 07 2023 Michel Alexandre Salim <salimma> - > 0.41.0.20230703-1 > +- Update to 2023.07.03.00 > + > +* Wed Jun 28 2023 Vitaly Zaitsev <vitaly> - 0.41.0.20230424-2 > +- Rebuilt due to fmt 10 update. > + > +* Tue Apr 25 2023 Michel Alexandre Salim <salimma> - > 0.41.0.20230424-1 > +- Update to 2023.04.24.00 > +- Remove unneeded dependencies > + > +* Thu Jan 19 2023 Fedora Release Engineering <releng> - > 0.41.0.20220711-2 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild > + > +* Fri Jul 22 2022 Michel Alexandre Salim <michel> - > 0.41.0.20220711-1 > +- Update to 2022.07.11.00 > + > +* Thu Jul 21 2022 Fedora Release Engineering <releng> - > 0.41.0.20220314-4 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild > + > +* Tue Jul 19 2022 Mamoru TASAKA <mtasaka> - > 0.41.0.20220314-3 > +- Enable ppc64le again(bug 1943729), rebuild with fmt-9 > + > +* Wed May 04 2022 Thomas Rodgers <trodgers> - 0.41.0.20220314-2 > +- Rebuilt for Boost 1.78 > + > +* Tue Mar 29 2022 Michel Alexandre Salim <salimma> - > 0.41.0.20220314-1 > +- Update to 2022.03.14.00 > + > +* Tue Mar 01 2022 Michel Alexandre Salim <salimma> - > 0.41.0.20220221-1 > +- Update to 2022.02.21.00 > + > +* Thu Jan 20 2022 Fedora Release Engineering <releng> - > 0.41.0-14 > +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild > + > +* Fri Dec 24 2021 Michel Alexandre Salim <salimma> - > 0.41.0-7.20211222git90d63a3 > +- Update to snapshot from 20211222 > +- Opt in to rpmautospec (changelog only) > + > +* Tue Sep 14 2021 Sahana Prasad <sahana> - > 0.41.0-7.20210723gitc9cd4bd > +- Rebuilt with OpenSSL 3.0.0 > + > +* Fri Aug 06 2021 Jonathan Wakely <jwakely> - > 0.41.0-6.20210723gitc9cd4bd > +- Rebuilt for Boost 1.76 > + > +* Sun Aug 1 2021 Michel Alexandre Salim <salimma> - > 0.41.0-5.20210723gitc9cd4bd > +- Update to snapshot from 20210723 > +- Use new %%limit_build macro to limit memory usage per build process > + > +* Tue Jul 27 2021 Fedora Release Engineering <releng> - > 0.41.0-5.20210629git67eda71 > +- Second attempt - Rebuilt for > + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild > + > +* Mon Jul 19 2021 Michel Alexandre Salim <salimma> - > 0.41.0-4.20210629git67eda71 > +- Update to snapshot from 20210629 > +- Patch out usage of distutils (deprecated in Python 3.10) > + > +* Mon May 10 2021 Michel Alexandre Salim <salimma> - > 0.41.0-4.20210508git806072e > +- Update to snapshot from 20210508 > + > +* Mon Apr 26 2021 Michel Alexandre Salim <salimma> - > 0.41.0-4.20210426gitf2e90bc > +- Update to snapshot from 20210426 > + > +* Fri Apr 16 2021 Michel Alexandre Salim <salimma> - > 0.41.0-4.20210412git018f1af > +- Update to snapshot from 20210412 > +- Stop using forge macros in case we want to build for EPEL8 > + > +* Mon Mar 29 2021 Michel Alexandre Salim <salimma> - > 0.41.0-4.20210324git7884f76 > +- Update to snapshot from 20210324 > +- Use %%forgeautosetup so the configure.ac patch is actually applied > +- Determine the number of safe build jobs to use (borrowed from Ceph) > + > +* Fri Mar 26 2021 Michel Alexandre Salim <salimma> - > 0.41.0-3.20210322git254a127 > +- Fix usage of deprecated AC_PROG_LIBTOOL macro; use LT_INIT instead > + > +* Wed Mar 24 2021 Michel Alexandre Salim <salimma> - > 0.41.0-2.20210322git254a127 > +- Update to snapshot from 20210322 > +- Disable build concurrency and LTO to compensate for high RAM usage > + > +* Tue Mar 16 2021 Davide Cavalca <dcavalca> - > 0.41.0-1.20210316gita3d9640 > +- Initial package > + > +## END: Generated by rpmautospec > > > Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29 > Command line :/usr/bin/fedora-review -b 2537668 > Buildroot used: fedora-rawhide-x86_64 > Active plugins: C/C++, Shell-api, Generic > Disabled plugins: Java, fonts, Python, R, Haskell, Ocaml, PHP, > SugarActivity, Perl > Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH (In reply to Davide Cavalca from comment #6) > [!]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses > found: "Unknown or generated", "MIT License", "FSF All Permissive > License", "GNU General Public License v3.0 or later", "Apache License > 2.0", "*No copyright* Apache License 2.0", "BSD 3-Clause License", > "GNU General Public License, Version 2", "BSD 3-Clause License and/or > MIT License", "*No copyright* MIT License", "University of > Illinois/NCSA Open Source License", "*No copyright* BSD 3-Clause > License", "*No copyright* The Unlicense", "Apache License 2.0 > [generated file]", "zlib License", "BSD 2-Clause License", "Boost > Software License 1.0", "*No copyright* Boost Software License 1.0", > "*No copyright* Public domain", "*No copyright* MIT License [generated > file]", "Creative Commons CC0 1.0 and/or MIT License", "*No copyright* > Creative Commons CC0 1.0", "Apache License 2.0 and/or MIT License", > "CMU License". 17135 files have unknown license. Detailed output of > licensecheck in /tmp/2537668-mcrouter/licensecheck.txt > > This needs auditing > Audited in the macro in %check %getdeps_vendor_license_check -c %{SOURCE2} -L > [!]: Package contains no bundled libraries or specifies bundled libraries > with Provides: bundled(<libname>) if unbundling is not possible. > > Need Provides: bundled() for the stuff coming from getdeps > This is already in, see the Provides part just before the diff section from fedora-review Provides -------- mcrouter: bundled(fbthrift) bundled(fizz) bundled(folly) bundled(liboqs) bundled(mvfst) bundled(wangle) mcrouter mcrouter(x86-64) I can try improving the macros in folly-rpm-macros to try and generate version info, instead of just the name of the dependency, but hopefully that does not block the review > mcrouter.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter > SSL_CTX_set_cipher_list > > This probably needs to be reported upstream Agreed, I can do that post-review
Thanks for the review. New spec and SRPM will be linked shortly (same content as the build below; the earlier spec URL had drifted from the SRPM, this pair is uploaded together). Changes since the last SRPM, with the evidence: 1. Versioned bundled() Provides getdeps now records, for each vendored project, the commit it checked out and its version relative to the nearest upstream weekly tag (git describe: <tag>^<distance>.<shortcommit>), or the version from the download URL for tarballs. The package generates the Provides from that record (folly-rpm-macros 46-3). From the built RPM: $ rpm -qp --provides mcrouter-2026.09.21.00^1.d8b07b0-2.fc46.aarch64.rpm | grep bundled bundled(fbthrift) = 2026.09.21.00^57.13f48a4 bundled(fizz) = 2026.09.21.00^11.efde4a9 bundled(folly) = 2026.09.21.00^42.4fe489a bundled(liboqs) = 0.12.0 bundled(mvfst) = 2026.09.21.00^16.e44274f bundled(wangle) = 2026.09.21.00^10.9a169b5 The same data is installed as %license .../mcrouter/getdeps-vendor.txt, one "<project> <commit> <version>" line per vendored tree, so the exact upstream revisions are recoverable from the installed package. 2. License Your licensecheck run was right on several counts. Going through what it found in the unpacked sources: Compiled into the binaries, now in the License tag: - mvfst quic/common/third-party/expected.hpp, optional.h: BSL-1.0 - folly/hash/detail/Crc32cDetail.cpp: Zlib - liboqs src/common/sha3/.../brg_endian.h: MIT-CMU - liboqs src/common/aes/*.c: public domain (LicenseRef-Fedora-Public-Domain) - mcrouter/lib/fbi/queue.h: BSD-3-Clause and/or MIT, both already in the tag Not compiled or shipped: - mcrouter/m4/*.m4 (FSFAP, GPL-3.0-or-later ax_python_devel.m4): autotools leftovers, deleted in %prep - fbthrift thrift/lib/go: Go bindings, deleted in %prep - build/fbcode_builder/CMake/FindLMDB.cmake, FindRe2.cmake (GPL-2.0) and the vendored projects' cmake/CheckAtomic.cmake (NCSA): CMake modules used at configure time only; kept in the tree (the configures need them) and excluded from the license scan - liboqs tests/ (Unlicense) and the liboqs algorithm families OQS_MINIMAL_BUILD does not build: excluded from the scan - the liboqs "Public Domain or Apache 2.0" Kyber notices are recorded as (Apache-2.0 OR CC0-1.0), matching Fedora's own liboqs tag Resulting tag (SourceLicense: MIT for the SRPM): MIT AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND (Apache-2.0 OR CC0-1.0) AND BSL-1.0 AND Zlib AND MIT-CMU AND LicenseRef-Fedora-Public-Domain To keep this honest going forward, the build now verifies the tag itself: go_vendor_license over the license files plus licensecheck (SPDX output) over every remaining file, and it fails unless the tag covers every identifier found. That pass takes about five minutes on this tree, so it is gated on the vendor tarball's sha512 recorded in the spec (a new tarball always gets it; koji rebuilds of an unchanged tarball run only the license-file scan). 3. rpmlint on the binary RPM W: no-manual-page-for-binary mcpiper, mcrouter (upstream ships none) W: crypto-policy-non-compliance-openssl /usr/bin/mcrouter SSL_CTX_set_cipher_list The cipher-list call is in upstream's TLS setup; I have not changed it in this iteration and am flagging it here rather than hiding it. The earlier spelling-error hits on "memcached" are fixed by capitalizing it. 4. Other changes: the wangle OpenSSL 4 patch is dropped (landed upstream as facebook/wangle#254); the remaining patches are all submitted upstream (folly OpenSSL 4 #2706, the fbthrift .rodata section fix, the folly F14 fallback fix that also re-enables ppc64le, mcrouter's gflags/Boost 1.90 fixes, and the getdeps vendor-manifest change above).
Spec URL: https://salimma.fedorapeople.org/mcrouter.spec SRPM URL: https://salimma.fedorapeople.org/mcrouter-2026.09.21.00^1.d8b07b0-2.fc43.src.rpm
lgtm now, thanks, APPROVED
Thanks! Built in Rawhide, I'll wait for the next tag to build in stable Fedora