Bug 2311762 - Review Request: CppMicroServices - C++ components for building service-oriented applications
Summary: Review Request: CppMicroServices - C++ components for building service-orient...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
URL: http://cppmicroservices.org/
Whiteboard:
Depends On:
Blocks: 2342978
TreeView+ depends on / blocked
 
Reported: 2024-09-11 17:24 UTC by Daniel Berrangé
Modified: 2025-02-06 09:09 UTC (History)
4 users (show)

Fixed In Version: CppMicroServices-3.8.5-5.fc43
Clone Of:
Environment:
Last Closed: 2025-02-06 09:09:27 UTC
Type: ---
Embargoed:
rjones: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8010445 to 8011209 (1.01 KB, patch)
2024-09-12 08:44 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8601407 to 8601419 (748 bytes, patch)
2025-02-03 14:16 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8601419 to 8606196 (3.55 KB, patch)
2025-02-04 19:51 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8606196 to 8606307 (3.48 KB, patch)
2025-02-04 20:20 UTC, Fedora Review Service
no flags Details | Diff

Description Daniel Berrangé 2024-09-11 17:24:37 UTC
Spec URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices.spec
SRPM URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices-3.8.4-1.fc40.src.rpm
Description: The C++ Micro Services project is a collection of components for building modular and dynamic service-oriented applications. It is based on OSGi, but tailored to support native cross-platform solutions.
Fedora Account System Username: berrange

Comment 1 Fedora Review Service 2024-09-12 01:00:45 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8010445
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08010445-CppMicroServices/fedora-review/review.txt

Found issues:

- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- Documentation size is 5352992 bytes in 228 files. 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Daniel Berrangé 2024-09-12 08:25:23 UTC
> - Unversioned so-files directly in %_libdir.
>   Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages

It is an choice of the upstream project to not version these particular so-files at this time.

> - Documentation size is 5352992 bytes in 228 files. 
>   Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

This is now split into a -docs RPM

Refreshed at the same locations

Spec URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices.spec
SRPM URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices-3.8.4-1.fc40.src.rpm

Comment 3 Fedora Review Service 2024-09-12 08:44:35 UTC
Created attachment 2046506 [details]
The .spec file difference from Copr build 8010445 to 8011209

Comment 4 Fedora Review Service 2024-09-12 08:44:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8011209
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08011209-CppMicroServices/fedora-review/review.txt

Found issues:

- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- Documentation size is 5352992 bytes in 228 files. 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 5 Benson Muite 2025-01-30 17:09:50 UTC
Fails to build at present (additoinal patch needed to include cstdint) :
 https://koji.fedoraproject.org/koji/taskinfo?taskID=128658109
[fedora-review-service-build]

Comment 6 Fedora Review Service 2025-01-30 18:04:34 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8587806
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08587806-CppMicroServices/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 7 Daniel Berrangé 2025-02-03 13:48:44 UTC
(In reply to Benson Muite from comment #5)
> Fails to build at present (additoinal patch needed to include cstdint) :
>  https://koji.fedoraproject.org/koji/taskinfo?taskID=128658109
> [fedora-review-service-build]

Refreshed at the same locations

Spec URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices.spec
SRPM URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices-3.8.4-1.fc40.src.rpm

Successful scratch build for rawhide

https://koji.fedoraproject.org/koji/taskinfo?taskID=128806834

Comment 8 Fedora Review Service 2025-02-03 13:50:33 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8601407
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08601407-CppMicroServices/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 10 Fedora Review Service 2025-02-03 14:16:27 UTC
Created attachment 2074998 [details]
The .spec file difference from Copr build 8601407 to 8601419

Comment 11 Fedora Review Service 2025-02-03 14:16:30 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8601419
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08601419-CppMicroServices/fedora-review/review.txt

Found issues:

- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- Documentation size is 5369735 bytes in 229 files. 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 12 Richard W.M. Jones 2025-02-04 07:10:15 UTC
I can see this is a tricky package.

Issues (which the packager is aware of already):

(1) unversioned .so files
(2) bundled and locally modified libraries
(3) bundled unmodified libraries that need patching to remove
(4) bundled and unused library (libtelnet)

Some issues that I'm not clear on:

(5) Do we need FESCO permission to bundle those libraries?  Or is adding the Provides bundled
    sufficient?  Reading the policy (linked below) it seems as if we're OK just to add
    the Provides.

(6) What, if anything, is the upstream status of the patches?  Are they forever downstream
    or is there an attempt to get them upstream?

(7) Can we make it easier to unbundle things by working with upstream, eg by adding more
    cmake -DUSE_SYSTEM_XXX flags?  And remove the unnecessary libtelnet at the same time?

(8) Needs to follow the bundled policy here (by adding a comment in the spec file):
    https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/
    https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling

Comment 13 Daniel Berrangé 2025-02-04 09:06:35 UTC
(In reply to Richard W.M. Jones from comment #12)
> Some issues that I'm not clear on:
> 
> (5) Do we need FESCO permission to bundle those libraries?  Or is adding the
> Provides bundled
>     sufficient?  Reading the policy (linked below) it seems as if we're OK
> just to add
>     the Provides.

Yeah, I believe we're OK per the policy you link:

[quote]
Fedora packages SHOULD make every effort to avoid having multiple, separate, upstream projects bundled together in a single package.
...
All packages whose upstreams allow them to be built against system libraries MUST be built against system libraries.
...snip....
All packages whose upstreams have no mechanism to build against system libraries MAY opt to carry bundled libraries, but if they do, they MUST include an indication of what they bundle.
[/quote]

The third sentence applies here. I added the "Provides: bundled(...)" deps and against each have a comment explaining why it is bundled.

> (6) What, if anything, is the upstream status of the patches?  Are they
> forever downstream
>     or is there an attempt to get them upstream?

Assuming this is approved for Fedora, then it definitely makes sense to try to get the rest of the patches upstream. Many probably won't go upstream in their current form as they're just quick workarounds. It should be possible to figure out an acceptable solution for upstream for each though.

The big unknown is how responsive upstream will be. The level of activity in upstream is relatively low, but they do seem to take patches & discuss PRs though, so worth trying.

I opened a PR for the GCC 15 compat issue yesterday as that one is a clear bug shortly to be affecting everyone so most likely to be accepted as-is.

> (7) Can we make it easier to unbundle things by working with upstream, eg by
> adding more
>     cmake -DUSE_SYSTEM_XXX flags?  And remove the unnecessary libtelnet at
> the same time?

Yes, it makes sense to try to extend their current cmake config pattern for the rest.

> 
> (8) Needs to follow the bundled policy here (by adding a comment in the spec
> file):
>     https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/
>     https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling

I figured the comment I have just before each "Provides: bundled(...)" is sufficient to satisfy the requirements of the 2nd link.

For the 1st link I guess I need to open an issue upstream to raise the problem as a starting point

Comment 15 Richard W.M. Jones 2025-02-04 13:13:32 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Development (unversioned) .so files in -devel subpackage, if present.
  Note: Unversioned so-files directly in %_libdir.
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_devel_packages

The reason for these is explained properly in the spec file.

- Large documentation must go in a -doc subpackage. Large could be size
  (~1MB) or number of files.
  Note: Documentation size is 5369735 bytes in 229 files.
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_documentation

I'm not quite sure why fedora-review complains about this, since there is a -docs
subpackage.  (Perhaps it wants the subpackage to be called -doc?)

===== 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]: Header files in -devel subpackage, if present.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[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 successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
     Note: Using prebuilt packages
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[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.

There's no %license line, but there is a correct License field, so
the convoluted wording of this paragraph seems to be satisfied.

[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "Apache License 2.0", "*No copyright*
     Apache License 2.0", "MIT License", "Boost Software License 1.0", "BSD
     3-Clause License". 817 files have unknown license. Detailed output of
     licensecheck in /var/lib/copr-
     rpmbuild/results/CppMicroServices/licensecheck.txt
[-]: License file installed when any subpackage combination is installed.

Not applicable, but OK, see above.

[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[-]: Package contains no bundled libraries without FPC exception.

We believe this does not need an FPC exception, see previous discussion on
this bug.

[x]: Changelog in prescribed format.

Using autochangelog.

[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.
[-]: 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.

Compiled on all arches, but likely only needed on x86-64 because
it's needed for SGX.

[x]: Package complies to the Packaging Guidelines
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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 does not use a name that already exists.
[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]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[ ]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.

danpb: I guess you need to ask them about this?

[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     CppMicroServices-devel , CppMicroServices-docs
[?]: Package functions as described.
[!]: Latest version is packaged.

danpb: You need to package 3.8.5 (latest upstream).

[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.

No tests upstream!

[?]: Packages should try to preserve timestamps of original installed
     files.
[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]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[ ]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 6195200 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.


Rpmlint
-------
Checking: CppMicroServices-3.8.4-1.fc42.x86_64.rpm
          CppMicroServices-devel-3.8.4-1.fc42.x86_64.rpm
          CppMicroServices-docs-3.8.4-1.fc42.x86_64.rpm
          CppMicroServices-3.8.4-1.fc42.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.13/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
rpmlintrc: [PosixPath('/tmp/tmpqj72n5qu')]
checks: 32, packages: 4

CppMicroServices-devel.x86_64: W: no-manual-page-for-binary SCRCodeGen3
CppMicroServices-devel.x86_64: W: no-manual-page-for-binary jsonschemavalidator
CppMicroServices.x86_64: W: no-documentation
CppMicroServices-docs.x86_64: E: no-binary
CppMicroServices.x86_64: E: invalid-soname /usr/lib64/libusAsyncWorkServiced.so libusAsyncWorkServiced.so
CppMicroServices.x86_64: E: invalid-soname /usr/lib64/libusEMd.so libusEMd.so
CppMicroServices.x86_64: E: invalid-soname /usr/lib64/libusServiceComponentd.so libusServiceComponentd.so
CppMicroServices-docs.x86_64: W: hidden-file-or-dir /usr/share/doc/cppmicroservices3/html/.buildinfo
CppMicroServices-devel.x86_64: W: files-duplicate /usr/share/cppmicroservices3/cmake/usFrameworkConfigVersion.cmake /usr/share/cppmicroservices3/cmake/CppMicroServicesConfigVersion.cmake
CppMicroServices-devel.x86_64: W: files-duplicate /usr/share/cppmicroservices3/cmake/ususLogServiceConfigVersion.cmake /usr/share/cppmicroservices3/cmake/usConfigurationAdminConfigVersion.cmake:/usr/share/cppmicroservices3/cmake/usDeclarativeServicesConfigVersion.cmake:/usr/share/cppmicroservices3/cmake/usHttpServiceConfigVersion.cmake:/usr/share/cppmicroservices3/cmake/usLogServiceImplConfigVersion.cmake:/usr/share/cppmicroservices3/cmake/usServiceComponentConfigVersion.cmake:(and 5 more)
 4 packages and 0 specfiles checked; 4 errors, 6 warnings, 39 filtered, 4 badness; has taken 1.4 s 




Rpmlint (debuginfo)
-------------------
Cannot parse rpmlint output:



Rpmlint (installed packages)
----------------------------
(none): E: there is no installed rpm "CppMicroServices-devel-debuginfo".
(none): E: there is no installed rpm "CppMicroServices".
(none): E: there is no installed rpm "CppMicroServices-devel".
(none): E: there is no installed rpm "CppMicroServices-docs".
(none): E: there is no installed rpm "CppMicroServices-debuginfo".
There are no files to process nor additional arguments.
Nothing to do, aborting.
============================ rpmlint session starts ============================
rpmlint: 2.6.1
configuration:
    /usr/lib/python3.13/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: 32, packages: 5

 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s 



Unversioned so-files
--------------------
CppMicroServices: /usr/lib64/libusAsyncWorkServiced.so
CppMicroServices: /usr/lib64/libusEMd.so
CppMicroServices: /usr/lib64/libusServiceComponentd.so

Source checksums
----------------
https://github.com/CppMicroServices/CppMicroServices/archive/refs/tags/v3.8.4.tar.gz#/CppMicroServices-3.8.4.tar.gz :
  CHECKSUM(SHA256) this package     : b3831121f9822373bd2aaf41c5852814bba8c6b9d78817ee50db3c820b377e9f
  CHECKSUM(SHA256) upstream package : b3831121f9822373bd2aaf41c5852814bba8c6b9d78817ee50db3c820b377e9f


Requires
--------
CppMicroServices (rpmlib, GLIBC filtered):
    libCppMicroServicesd.so.3.8.4()(64bit)
    libc.so.6()(64bit)
    libcivetweb-cpp.so.1.15.0()(64bit)
    libcivetweb.so.1.15.0()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libm.so.6()(64bit)
    libspdlog.so.1.15()(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.2)(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.9)(64bit)
    libusAsyncWorkServiced.so()(64bit)
    libusHttpServiced.so.0.1.0()(64bit)
    libusServiceComponentd.so()(64bit)
    rtld(GNU_HASH)

CppMicroServices-devel (rpmlib, GLIBC filtered):
    libConfigurationAdmind.so.1.3.9()(64bit)
    libCppMicroServicesd.so.3.8.4()(64bit)
    libDeclarativeServicesd.so.1.5.10()(64bit)
    libLogServiced.so.1.0.0()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libjsoncpp.so.25()(64bit)
    liblinenoise.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.15)(64bit)
    libstdc++.so.6(CXXABI_1.3.5)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libusHttpServiced.so.0.1.0()(64bit)
    libusShellServiced.so.0.1.0()(64bit)
    libusWebConsoled.so.0.1.0()(64bit)
    rtld(GNU_HASH)

CppMicroServices-docs (rpmlib, GLIBC filtered):



Provides
--------
CppMicroServices:
    CppMicroServices
    CppMicroServices(x86-64)
    bundled(miniz)
    bundled(optionparser)
    bundled(rapidjson)
    bundled(tinyscheme)
    libConfigurationAdmind.so.1.3.9()(64bit)
    libCppMicroServicesd.so.3.8.4()(64bit)
    libDeclarativeServicesd.so.1.5.10()(64bit)
    libLogServiced.so.1.0.0()(64bit)
    libusAsyncWorkServiced.so()(64bit)
    libusEMd.so()(64bit)
    libusHttpServiced.so.0.1.0()(64bit)
    libusServiceComponentd.so()(64bit)
    libusShellServiced.so.0.1.0()(64bit)
    libusWebConsoled.so.0.1.0()(64bit)

CppMicroServices-devel:
    CppMicroServices-devel
    CppMicroServices-devel(x86-64)

CppMicroServices-docs:
    CppMicroServices-docs
    CppMicroServices-docs(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name CppMicroServices --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg
Buildroot used: fedora-rawhide-x86_64
Active plugins: C/C++, Generic, Shell-api
Disabled plugins: Java, PHP, Perl, Haskell, Ocaml, Python, SugarActivity, fonts, R
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comment 16 Daniel Berrangé 2025-02-04 13:40:44 UTC
> [ ]: If the source package does not include license text(s) as a separate
>      file from upstream, the packager SHOULD query upstream to include it.
>
> danpb: I guess you need to ask them about this?

The LICENSE file is present, i just forgot to add %license tag to reference it :-(


> [-]: Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
>      CppMicroServices-devel , CppMicroServices-docs

Opps, yes, needs fixing

> [!]: Latest version is packaged.
>
> danpb: You need to package 3.8.5 (latest upstream).

Will do

> [-]: Sources are verified with gpgverify first in %prep if upstream
>      publishes signatures.
>      Note: gpgverify is not used.

No source tarballs are published, we use github autogenerated tarballs

> [-]: %check is present and all tests pass.
>
> No tests upstream!

Actually tests are available upstream, but they failed to compile previously.

With 3.8.5 they appear to compile at least, so I'll try and get them working in the RPM %check

Comment 17 Fedora Review Service 2025-02-04 19:51:34 UTC
Created attachment 2075127 [details]
The .spec file difference from Copr build 8601419 to 8606196

Comment 18 Fedora Review Service 2025-02-04 19:51:36 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8606196
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08606196-CppMicroServices/fedora-review/review.txt

Found issues:

- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- Documentation size is 5369735 bytes in 229 files. 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 19 Daniel Berrangé 2025-02-04 20:07:12 UTC
Refreshed the RPM at:

Spec URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices.spec
SRPM URL: https://berrange.fedorapeople.org/review/CppMicroServices/CppMicroServices-3.8.5-1.fc41.src.rpm

Notable changes

 * Enable building & running of tests
 * Update to 3.8.5 version
 * Add %license file
 * Add sub-RPM versioned deps

NB, I had to disable LTO because enabling tests revealed a bug in the API design that caused redundant decls that the compiler considers incompatible, but which is none the less fine at runtime. I'm going to see about resolving that at a later date as it appears quite troublesome

Comment 20 Fedora Review Service 2025-02-04 20:20:02 UTC
Created attachment 2075133 [details]
The .spec file difference from Copr build 8606196 to 8606307

Comment 21 Fedora Review Service 2025-02-04 20:20:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8606307
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2311762-cppmicroservices/fedora-rawhide-x86_64/08606307-CppMicroServices/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 22 Richard W.M. Jones 2025-02-05 08:38:35 UTC
*** This package is APPROVED for Fedora by rjones ***

Comment 23 Fedora Admin user for bugzilla script actions 2025-02-05 10:47:51 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/CppMicroServices


Note You need to log in before you can comment on or make changes to this bug.