Spec URL: https://music.fedorapeople.org/python-opentelemetry-contrib.spec SRPM URL: https://music.fedorapeople.org/python-opentelemetry-contrib-0.36~b0-1.fc37.src.rpm Description: OpenTelemetry instrumentation for Python modules. Fedora Account System Username: music Koji scratch build (explicitly built on all supported arches with --arch-override='x86_64 ppc64le aarch64 s390x' to verify there are no builder-arch-dependent issues): F38/Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=95664643 Backports to F37/F36 should be possible, but would need to be based on older upstream versions in order to align with the versions of prerelease subpackages in https://src.fedoraproject.org/rpms/python-opentelemetry.
Terrific job! There are some nits though. I'm not native English speaker, so I asked https://src.fedoraproject.org/user/pwouters (my collegue at Aiven) to check language for me. Should be fixed: 1. Missing ")" in the string: `# (some of which have already removed i686 support.` 2. Missing "n" in the string: `OpenTelemetry Celery Instrumentatio`. 2. These subpackages are Apache-2.0 licensed (see pyproject.toml), but specfile doesn't contain this information (while it contains it for all other subpackages): {'python3-opentelemetry-distro', 'python3-opentelemetry-exporter-prometheus-remote-write', 'python3-opentelemetry-exporter-richconsole', 'python3-opentelemetry-propagator-ot-trace', 'python3-opentelemetry-util-http'} 3. Missing lines in python3-opentelemetry-instrumentation-dbapi: ``` # Ensure we have fully-versioned dependencies (to release) across subpackages # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package Requires: python3-opentelemetry-instrumentation = %{?epoch:%{epoch}:}%{prerel_version}-%{release} ``` Can be ignored: 4. "E: summary-too-long Metapackage for " (these metapackages are autogenerated). 5. "W: no-documentation" (summary is enough). 6. "W: description-shorter-than-summary" (feel free to satisfy rpmlint, but in my opinion there is no need to repeat yourself in the description). 7. Issue about python3-sqlalchemy1.3 (I believe it's false positive, since current version is different and doesn't look deprecated). Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package must not depend on deprecated() packages. Note: python3-sqlalchemy1.3 is deprecated, you must not depend on it. See: https://docs.fedoraproject.org/en-US/packaging- guidelines/deprecating-packages/ ===== MUST items ===== 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. [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", "*No copyright* Apache License 2.0", "BSD 3-Clause License", "*No copyright* Apache License", "Apache License 2.0". 168 files have unknown license. Detailed output of licensecheck in /home/rominf/tmp/2156749-python-opentelemetry- contrib/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/lib/python3.11/site- packages/opentelemetry(python3-opentelemetry-exporter-zipkin-json, python3-opentelemetry-exporter-jaeger-proto-grpc, python3-opentelemetry-opentracing-shim, python3-opentelemetry- propagator-b3, python3-opentelemetry-exporter-prometheus, python3-opentelemetry-sdk, python3-opentelemetry-exporter-zipkin- proto-http, python3-opentelemetry-proto, python3-opentelemetry- exporter-otlp-proto-grpc, python3-opentelemetry-propagator-jaeger, python3-opentelemetry-exporter-otlp-proto-http, python3-opentelemetry- api, python3-opentelemetry-test-utils, python3-opentelemetry-semantic- conventions, python3-opentelemetry-exporter-opencensus, python3-opentelemetry-exporter-jaeger-thrift), /usr/lib/python3.11/site- packages/opentelemetry/sdk(python3-opentelemetry-sdk), /usr/lib/python3.11/site- packages/opentelemetry/util(python3-opentelemetry-api), /usr/lib/python3.11/site- packages/opentelemetry/propagators(python3-opentelemetry- propagator-b3, python3-opentelemetry-api, python3-opentelemetry- propagator-jaeger), /usr/lib/python3.11/site- packages/opentelemetry/exporter(python3-opentelemetry-exporter-zipkin- json, python3-opentelemetry-exporter-jaeger-proto-grpc, python3-opentelemetry-exporter-prometheus, python3-opentelemetry- exporter-zipkin-proto-http, python3-opentelemetry-exporter-otlp-proto- grpc, python3-opentelemetry-exporter-otlp-proto-http, python3-opentelemetry-exporter-opencensus, python3-opentelemetry- exporter-jaeger-thrift) [-]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: 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]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 430080 bytes in 42 files. [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]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [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 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 Python: [-]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== 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]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-opentelemetry-exporter-richconsole , python3-opentelemetry- instrumentation , python3-opentelemetry-distro , python3-opentelemetry-distro+otlp , python3-opentelemetry-propagator- aws-xray , python3-opentelemetry-propagator-ot-trace , python3-opentelemetry-sdk-extension-aws , python3-opentelemetry-util- http , python3-opentelemetry-instrumentation-aiohttp-client , python3-opentelemetry-instrumentation-aiohttp-client+instruments , python3-opentelemetry-instrumentation-asgi , python3-opentelemetry- instrumentation-asgi+instruments , python3-opentelemetry- instrumentation-asyncpg , python3-opentelemetry-instrumentation- asyncpg+instruments , python3-opentelemetry-instrumentation-aws-lambda , python3-opentelemetry-instrumentation-aws-lambda+instruments , python3-opentelemetry-instrumentation-boto , python3-opentelemetry- instrumentation-boto+instruments , python3-opentelemetry- instrumentation-boto3sqs , python3-opentelemetry-instrumentation- boto3sqs+instruments , python3-opentelemetry-instrumentation-botocore , python3-opentelemetry-instrumentation-botocore+instruments , python3-opentelemetry-instrumentation-celery , python3-opentelemetry- instrumentation-celery+instruments , python3-opentelemetry- instrumentation-dbapi , python3-opentelemetry-instrumentation- dbapi+instruments , python3-opentelemetry-instrumentation-django , python3-opentelemetry-instrumentation-django+instruments , python3-opentelemetry-instrumentation-django+asgi , python3-opentelemetry-instrumentation-elasticsearch , python3-opentelemetry-instrumentation-elasticsearch+instruments , python3-opentelemetry-instrumentation-fastapi , python3-opentelemetry- instrumentation-fastapi+instruments , python3-opentelemetry- instrumentation-flask , python3-opentelemetry-instrumentation- flask+instruments , python3-opentelemetry-instrumentation-grpc , python3-opentelemetry-instrumentation-grpc+instruments , python3-opentelemetry-instrumentation-httpx , python3-opentelemetry- instrumentation-httpx+instruments , python3-opentelemetry- instrumentation-jinja2 , python3-opentelemetry-instrumentation- jinja2+instruments , python3-opentelemetry-instrumentation-kafka- python , python3-opentelemetry-instrumentation-kafka- python+instruments , python3-opentelemetry-instrumentation-logging , python3-opentelemetry-instrumentation-logging+instruments , python3-opentelemetry-instrumentation-mysql , python3-opentelemetry- instrumentation-mysql+instruments , python3-opentelemetry- instrumentation-pika , python3-opentelemetry-instrumentation- pika+instruments , python3-opentelemetry-instrumentation-psycopg2 , python3-opentelemetry-instrumentation-psycopg2+instruments , python3-opentelemetry-instrumentation-pymemcache , python3-opentelemetry-instrumentation-pymemcache+instruments , python3-opentelemetry-instrumentation-pymongo , python3-opentelemetry- instrumentation-pymongo+instruments , python3-opentelemetry- instrumentation-pymysql , python3-opentelemetry-instrumentation- pymysql+instruments , python3-opentelemetry-instrumentation-pyramid , python3-opentelemetry-instrumentation-pyramid+instruments , python3-opentelemetry-instrumentation-redis , python3-opentelemetry- instrumentation-redis+instruments , python3-opentelemetry- instrumentation-requests , python3-opentelemetry-instrumentation- requests+instruments , python3-opentelemetry-instrumentation- sqlalchemy , python3-opentelemetry-instrumentation- sqlalchemy+instruments , python3-opentelemetry-instrumentation-sqlite3 , python3-opentelemetry-instrumentation-sqlite3+instruments , python3-opentelemetry-instrumentation-system-metrics , python3-opentelemetry-instrumentation-system-metrics+instruments , python3-opentelemetry-instrumentation-tornado , python3-opentelemetry- instrumentation-tornado+instruments , python3-opentelemetry- instrumentation-urllib , python3-opentelemetry-instrumentation- urllib+instruments , python3-opentelemetry-instrumentation-urllib3 , python3-opentelemetry-instrumentation-urllib3+instruments , python3-opentelemetry-instrumentation-wsgi , python3-opentelemetry- instrumentation-wsgi+instruments , python3-opentelemetry-contrib- instrumentations [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: Package should compile and build into binary rpms on all supported architectures. [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]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Cannot parse rpmlint output: Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.11/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 checks: 31, packages: 79 python3-opentelemetry-instrumentation-asyncpg+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-asyncpg: instruments extras python3-opentelemetry-instrumentation-fastapi+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-fastapi: instruments extras python3-opentelemetry-instrumentation-pymemcache+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-pymemcache: instruments extras python3-opentelemetry-instrumentation-psycopg2+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-psycopg2: instruments extras python3-opentelemetry-instrumentation-sqlalchemy+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-sqlalchemy: instruments extras python3-opentelemetry-instrumentation-pymongo+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-pymongo: instruments extras python3-opentelemetry-instrumentation-elasticsearch+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-elasticsearch: instruments extras python3-opentelemetry-instrumentation-aws-lambda+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-aws-lambda: instruments extras python3-opentelemetry-instrumentation-boto3sqs+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-boto3sqs: instruments extras python3-opentelemetry-instrumentation-pyramid+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-pyramid: instruments extras python3-opentelemetry-instrumentation-botocore+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-botocore: instruments extras python3-opentelemetry-instrumentation-requests+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-requests: instruments extras python3-opentelemetry-instrumentation-aiohttp-client+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-aiohttp-client: instruments extras python3-opentelemetry-instrumentation-system-metrics+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-system-metrics: instruments extras python3-opentelemetry-instrumentation-tornado+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-tornado: instruments extras python3-opentelemetry-instrumentation-pymysql+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-pymysql: instruments extras python3-opentelemetry-instrumentation-kafka-python+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-kafka-python: instruments extras python3-opentelemetry-instrumentation-urllib3+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-urllib3: instruments extras python3-opentelemetry-instrumentation-sqlite3+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-sqlite3: instruments extras python3-opentelemetry-instrumentation-logging+instruments.noarch: E: summary-too-long Metapackage for python3-opentelemetry-instrumentation-logging: instruments extras python3-opentelemetry-instrumentation-asgi+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-dbapi+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-asyncpg+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-fastapi+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-pymemcache+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-pika+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-httpx+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-psycopg2+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-sqlalchemy+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-flask+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-redis+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-pymongo+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-elasticsearch+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-aws-lambda+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-boto3sqs+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-pyramid+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-botocore+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-boto+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-mysql+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-wsgi+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-urllib+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-jinja2+instruments.noarch: W: no-documentation python3-opentelemetry-distro+otlp.noarch: W: no-documentation python3-opentelemetry-instrumentation-requests+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-aiohttp-client+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-system-metrics+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-tornado+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-pymysql+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-grpc+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-kafka-python+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-urllib3+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-django+asgi.noarch: W: no-documentation python3-opentelemetry-instrumentation-sqlite3+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-celery+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-django+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-logging+instruments.noarch: W: no-documentation python3-opentelemetry-instrumentation-celery.noarch: W: description-shorter-than-summary python3-opentelemetry-instrumentation-kafka-python.noarch: W: description-shorter-than-summary python3-opentelemetry-propagator-ot-trace.noarch: W: description-shorter-than-summary python3-opentelemetry-instrumentation-jinja2.noarch: W: description-shorter-than-summary python3-opentelemetry-instrumentation-logging.noarch: W: description-shorter-than-summary 79 packages and 0 specfiles checked; 20 errors, 41 warnings, 20 badness; has taken 1.2 s Source checksums ---------------- https://github.com/open-telemetry/opentelemetry-python-contrib/archive/v0.36b0/opentelemetry-python-contrib-0.36b0.tar.gz : CHECKSUM(SHA256) this package : 3f70756a4f02fc68bd5ecb6341f9334796c507510a868c1a8c1fea6b28dccb89 CHECKSUM(SHA256) upstream package : 3f70756a4f02fc68bd5ecb6341f9334796c507510a868c1a8c1fea6b28dccb89 Requires -------- python-opentelemetry-contrib-doc (rpmlib, GLIBC filtered): python3-opentelemetry-exporter-richconsole (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(opentelemetry-sdk) >= 1.12 with python3.11dist(opentelemetry-sdk) < 2) python(abi) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(rich) python3-opentelemetry-instrumentation (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.4 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) /usr/bin/python3 python(abi) python3.11dist(setuptools) python3-opentelemetry-distro (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(opentelemetry-sdk) >= 1.13 with python3.11dist(opentelemetry-sdk) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3-opentelemetry-distro+otlp (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-distro python3.11dist(opentelemetry-exporter-otlp) python3-opentelemetry-propagator-aws-xray (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-propagator-ot-trace (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(opentelemetry-sdk) >= 1.12 with python3.11dist(opentelemetry-sdk) < 2) python(abi) python3-opentelemetry-sdk-extension-aws (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-sdk) >= 1.12 with python3.11dist(opentelemetry-sdk) < 2) python(abi) python3-opentelemetry-util-http (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-aiohttp-client (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-aiohttp-client+instruments (rpmlib, GLIBC filtered): (python3.11dist(aiohttp) >= 3 with python3.11dist(aiohttp) < 4) python(abi) python3-opentelemetry-instrumentation-aiohttp-client python3-opentelemetry-instrumentation-asgi (rpmlib, GLIBC filtered): (python3.11dist(asgiref) >= 3 with python3.11dist(asgiref) < 4) (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-asgi+instruments (rpmlib, GLIBC filtered): (python3.11dist(asgiref) >= 3 with python3.11dist(asgiref) < 4) python(abi) python3-opentelemetry-instrumentation-asgi python3-opentelemetry-instrumentation-asyncpg (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-asyncpg+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-asyncpg python3.11dist(asyncpg) python3-opentelemetry-instrumentation-aws-lambda (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-propagator-aws-xray python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-propagator-aws-xray) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-aws-lambda+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-aws-lambda python3-opentelemetry-instrumentation-boto (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-boto+instruments (rpmlib, GLIBC filtered): (python3.11dist(boto) >= 2 with python3.11dist(boto) < 3) python(abi) python3-opentelemetry-instrumentation-boto python3-opentelemetry-instrumentation-boto3sqs (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-boto3sqs+instruments (rpmlib, GLIBC filtered): (python3.11dist(boto3) >= 1 with python3.11dist(boto3) < 2) python(abi) python3-opentelemetry-instrumentation-boto3sqs python3-opentelemetry-instrumentation-botocore (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-botocore+instruments (rpmlib, GLIBC filtered): (python3.11dist(botocore) >= 1 with python3.11dist(botocore) < 2) python(abi) python3-opentelemetry-instrumentation-botocore python3-opentelemetry-instrumentation-celery (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-celery+instruments (rpmlib, GLIBC filtered): (python3.11dist(celery) < 6~~ with python3.11dist(celery) >= 4) python(abi) python3-opentelemetry-instrumentation-celery python3-opentelemetry-instrumentation-dbapi (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-dbapi+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-dbapi python3-opentelemetry-instrumentation-django (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-wsgi python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-wsgi) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-django+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-django python3.11dist(django) python3-opentelemetry-instrumentation-django+asgi (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-django python3.11dist(opentelemetry-instrumentation-asgi) python3-opentelemetry-instrumentation-elasticsearch (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-elasticsearch+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-elasticsearch python3.11dist(elasticsearch) python3-opentelemetry-instrumentation-fastapi (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-asgi python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-asgi) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-fastapi+instruments (rpmlib, GLIBC filtered): (python3.11dist(fastapi) >= 0.58 with python3.11dist(fastapi) < 1) python(abi) python3-opentelemetry-instrumentation-fastapi python3-opentelemetry-instrumentation-flask (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-wsgi python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-wsgi) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-flask+instruments (rpmlib, GLIBC filtered): (python3.11dist(flask) < 3~~ with python3.11dist(flask) >= 1) python(abi) python3-opentelemetry-instrumentation-flask python3-opentelemetry-instrumentation-grpc (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(opentelemetry-sdk) >= 1.12 with python3.11dist(opentelemetry-sdk) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-grpc+instruments (rpmlib, GLIBC filtered): (python3.11dist(grpcio) >= 1.27 with python3.11dist(grpcio) < 2) python(abi) python3-opentelemetry-instrumentation-grpc python3-opentelemetry-instrumentation-httpx (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-httpx+instruments (rpmlib, GLIBC filtered): (python3.11dist(httpx) <= 0.23 with python3.11dist(httpx) >= 0.18) python(abi) python3-opentelemetry-instrumentation-httpx python3-opentelemetry-instrumentation-jinja2 (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3-opentelemetry-instrumentation-jinja2+instruments (rpmlib, GLIBC filtered): (python3.11dist(jinja2) < 4~~ with python3.11dist(jinja2) >= 2.7) python(abi) python3-opentelemetry-instrumentation-jinja2 python3-opentelemetry-instrumentation-kafka-python (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.5 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-kafka-python+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-kafka-python python3.11dist(kafka-python) python3-opentelemetry-instrumentation-logging (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3-opentelemetry-instrumentation-logging+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-logging python3-opentelemetry-instrumentation-mysql (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-dbapi python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-dbapi) python3-opentelemetry-instrumentation-mysql+instruments (rpmlib, GLIBC filtered): (python3.11dist(mysql-connector-python) >= 8 with python3.11dist(mysql-connector-python) < 9) python(abi) python3-opentelemetry-instrumentation-mysql python3-opentelemetry-instrumentation-pika (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.5 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3.11dist(packaging) python3-opentelemetry-instrumentation-pika+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-pika python3.11dist(pika) python3-opentelemetry-instrumentation-psycopg2 (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-dbapi python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-dbapi) python3-opentelemetry-instrumentation-psycopg2+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-psycopg2 python3.11dist(psycopg2) python3-opentelemetry-instrumentation-pymemcache (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-pymemcache+instruments (rpmlib, GLIBC filtered): (python3.11dist(pymemcache) < 4~~ with python3.11dist(pymemcache) >= 1.3.5) python(abi) python3-opentelemetry-instrumentation-pymemcache python3-opentelemetry-instrumentation-pymongo (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3-opentelemetry-instrumentation-pymongo+instruments (rpmlib, GLIBC filtered): (python3.11dist(pymongo) < 5~~ with python3.11dist(pymongo) >= 3.1) python(abi) python3-opentelemetry-instrumentation-pymongo python3-opentelemetry-instrumentation-pymysql (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-dbapi python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-dbapi) python3-opentelemetry-instrumentation-pymysql+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-pymysql python3.11dist(pymysql) python3-opentelemetry-instrumentation-pyramid (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-wsgi python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-wsgi) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-pyramid+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-pyramid python3.11dist(pyramid) python3-opentelemetry-instrumentation-redis (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(wrapt) python3-opentelemetry-instrumentation-redis+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-redis python3.11dist(redis) python3-opentelemetry-instrumentation-requests (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-requests+instruments (rpmlib, GLIBC filtered): (python3.11dist(requests) >= 2 with python3.11dist(requests) < 3) python(abi) python3-opentelemetry-instrumentation-requests python3-opentelemetry-instrumentation-sqlalchemy (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(packaging) python3.11dist(wrapt) python3-opentelemetry-instrumentation-sqlalchemy+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-sqlalchemy python3.11dist(sqlalchemy) python3-opentelemetry-instrumentation-sqlite3 (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-instrumentation-dbapi python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-instrumentation-dbapi) python3-opentelemetry-instrumentation-sqlite3+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-sqlite3 python3-opentelemetry-instrumentation-system-metrics (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.11 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(opentelemetry-sdk) >= 1.11 with python3.11dist(opentelemetry-sdk) < 2) (python3.11dist(psutil) >= 5.9 with python3.11dist(psutil) < 6) python(abi) python3-opentelemetry-instrumentation-system-metrics+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-system-metrics python3.11dist(psutil) python3-opentelemetry-instrumentation-tornado (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-tornado+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-tornado python3.11dist(tornado) python3-opentelemetry-instrumentation-urllib (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-urllib+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-urllib python3-opentelemetry-instrumentation-urllib3 (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) (python3.11dist(wrapt) < 2~~ with python3.11dist(wrapt) >= 1) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-urllib3+instruments (rpmlib, GLIBC filtered): (python3.11dist(urllib3) < 2~~ with python3.11dist(urllib3) >= 1) python(abi) python3-opentelemetry-instrumentation-urllib3 python3-opentelemetry-instrumentation-wsgi (rpmlib, GLIBC filtered): (python3.11dist(opentelemetry-api) >= 1.12 with python3.11dist(opentelemetry-api) < 2) python(abi) python3-opentelemetry-instrumentation python3-opentelemetry-util-http python3.11dist(opentelemetry-instrumentation) python3.11dist(opentelemetry-semantic-conventions) python3.11dist(opentelemetry-util-http) python3-opentelemetry-instrumentation-wsgi+instruments (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-wsgi python3-opentelemetry-contrib-instrumentations (rpmlib, GLIBC filtered): python(abi) python3-opentelemetry-instrumentation-aiohttp-client python3-opentelemetry-instrumentation-asgi python3-opentelemetry-instrumentation-asyncpg python3-opentelemetry-instrumentation-aws-lambda python3-opentelemetry-instrumentation-boto python3-opentelemetry-instrumentation-boto3sqs python3-opentelemetry-instrumentation-botocore python3-opentelemetry-instrumentation-celery python3-opentelemetry-instrumentation-dbapi python3-opentelemetry-instrumentation-django python3-opentelemetry-instrumentation-elasticsearch python3-opentelemetry-instrumentation-fastapi python3-opentelemetry-instrumentation-flask python3-opentelemetry-instrumentation-grpc python3-opentelemetry-instrumentation-httpx python3-opentelemetry-instrumentation-jinja2 python3-opentelemetry-instrumentation-kafka-python python3-opentelemetry-instrumentation-logging python3-opentelemetry-instrumentation-mysql python3-opentelemetry-instrumentation-pika python3-opentelemetry-instrumentation-psycopg2 python3-opentelemetry-instrumentation-pymemcache python3-opentelemetry-instrumentation-pymongo python3-opentelemetry-instrumentation-pymysql python3-opentelemetry-instrumentation-pyramid python3-opentelemetry-instrumentation-redis python3-opentelemetry-instrumentation-requests python3-opentelemetry-instrumentation-sqlalchemy python3-opentelemetry-instrumentation-sqlite3 python3-opentelemetry-instrumentation-system-metrics python3-opentelemetry-instrumentation-tornado python3-opentelemetry-instrumentation-urllib python3-opentelemetry-instrumentation-urllib3 python3-opentelemetry-instrumentation-wsgi python3.11dist(opentelemetry-instrumentation-aiohttp-client) python3.11dist(opentelemetry-instrumentation-asgi) python3.11dist(opentelemetry-instrumentation-asyncpg) python3.11dist(opentelemetry-instrumentation-aws-lambda) python3.11dist(opentelemetry-instrumentation-boto) python3.11dist(opentelemetry-instrumentation-boto3sqs) python3.11dist(opentelemetry-instrumentation-botocore) python3.11dist(opentelemetry-instrumentation-celery) python3.11dist(opentelemetry-instrumentation-dbapi) python3.11dist(opentelemetry-instrumentation-django) python3.11dist(opentelemetry-instrumentation-elasticsearch) python3.11dist(opentelemetry-instrumentation-fastapi) python3.11dist(opentelemetry-instrumentation-flask) python3.11dist(opentelemetry-instrumentation-grpc) python3.11dist(opentelemetry-instrumentation-httpx) python3.11dist(opentelemetry-instrumentation-jinja2) python3.11dist(opentelemetry-instrumentation-kafka-python) python3.11dist(opentelemetry-instrumentation-logging) python3.11dist(opentelemetry-instrumentation-mysql) python3.11dist(opentelemetry-instrumentation-pika) python3.11dist(opentelemetry-instrumentation-psycopg2) python3.11dist(opentelemetry-instrumentation-pymemcache) python3.11dist(opentelemetry-instrumentation-pymongo) python3.11dist(opentelemetry-instrumentation-pymysql) python3.11dist(opentelemetry-instrumentation-pyramid) python3.11dist(opentelemetry-instrumentation-redis) python3.11dist(opentelemetry-instrumentation-requests) python3.11dist(opentelemetry-instrumentation-sqlalchemy) python3.11dist(opentelemetry-instrumentation-sqlite3) python3.11dist(opentelemetry-instrumentation-system-metrics) python3.11dist(opentelemetry-instrumentation-tornado) python3.11dist(opentelemetry-instrumentation-urllib) python3.11dist(opentelemetry-instrumentation-urllib3) python3.11dist(opentelemetry-instrumentation-wsgi) Provides -------- Omitted (too long). Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23 Command line :/usr/bin/fedora-review -b 2156749 Buildroot used: fedora-rawhide-x86_64 Active plugins: Python, Generic, Shell-api Disabled plugins: Haskell, R, C/C++, PHP, fonts, Java, Ocaml, SugarActivity, Perl Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
(In reply to Roman Inflianskas from comment #1) > Terrific job! > > There are some nits though. > > I'm not native English speaker, so I asked > https://src.fedoraproject.org/user/pwouters (my collegue at Aiven) to check > language for me. > > Should be fixed: > 1. Missing ")" in the string: `# (some of which have already removed i686 > support.` Fixed: diff --git a/python-opentelemetry-contrib.spec b/python-opentelemetry-contrib.spec index 2d29902..6cc19af 100644 --- a/python-opentelemetry-contrib.spec +++ b/python-opentelemetry-contrib.spec @@ -81,7 +81,7 @@ Source11: opentelemetry-instrument.1 BuildArch: noarch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval # While this package is noarch, excluding i686 unblocks many dependent packages -# (some of which have already removed i686 support. +# (some of which have already removed i686 support). ExcludeArch: %{ix86} BuildRequires: python3-devel > 2. Missing "n" in the string: `OpenTelemetry Celery Instrumentatio`. Fixed: diff --git a/python-opentelemetry-contrib.spec b/python-opentelemetry-contrib.spec index 6cc19af..148fa6f 100644 --- a/python-opentelemetry-contrib.spec +++ b/python-opentelemetry-contrib.spec @@ -400,7 +400,7 @@ This library allows tracing requests made by the Botocore library. %package -n python3-opentelemetry-instrumentation-celery -Summary: OpenTelemetry Celery Instrumentatio +Summary: OpenTelemetry Celery Instrumentation Version: %{prerel_version} License: Apache-2.0 > 2. These subpackages are Apache-2.0 licensed (see pyproject.toml), but > specfile doesn't contain this information (while it contains it for all > other subpackages): > {'python3-opentelemetry-distro', > 'python3-opentelemetry-exporter-prometheus-remote-write', > 'python3-opentelemetry-exporter-richconsole', > 'python3-opentelemetry-propagator-ot-trace', > 'python3-opentelemetry-util-http'} This one is subtle. There is a top-level license file LICENSE.BSD3, but nothing ever mentions it. See the comment above the base package’s License field: # Until we get clarification from upstream, # Applicability of BSD-3-Clause license? # https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1531 # we assume that any of the files in the repository may contain code under # LICENSE.BSD3, which is BSD-3-Clause, except for packages that carry their own # LICENSE files. So I’ve assumed that the subpackages where someone bothered to include a LICENSE file with the Apache-2.0 text really are just Apache-2.0, but for the packages you’ve mentioned all I have to go on is the trove classifier, and I’m not quite willing to assume that that isn’t just the “primary” or “effective” license. Therefore these subpackages inherit the “Apache-2.0 AND BSD-3-Clause” License from the base package. Hopefully, upstream will respond to my request to document the exact applicability of the BSD-3-Clause license file, and this will get less confusing and vague. I think the current approach is the best I can do until then. > 3. Missing lines in python3-opentelemetry-instrumentation-dbapi: > ``` > # Ensure we have fully-versioned dependencies (to release) across > subpackages > > # > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_requiring_base_package > > Requires: python3-opentelemetry-instrumentation = > %{?epoch:%{epoch}:}%{prerel_version}-%{release} > ``` Thanks; good catch! diff --git a/python-opentelemetry-contrib.spec b/python-opentelemetry-contrib.spec index 148fa6f..ae9aeb3 100644 --- a/python-opentelemetry-contrib.spec +++ b/python-opentelemetry-contrib.spec @@ -436,6 +436,10 @@ Summary: OpenTelemetry Database API instrumentation Version: %{prerel_version} License: Apache-2.0 +# Ensure we have fully-versioned dependencies (to release) across subpackages +# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package +Requires: python3-opentelemetry-instrumentation = %{?epoch:%{epoch}:}%{prerel_version}-%{release} + %description -n python3-opentelemetry-instrumentation-dbapi OpenTelemetry Database API instrumentation. > Can be ignored: > 4. "E: summary-too-long Metapackage for " (these metapackages are > autogenerated). I agree it’s not worth writing these metapackages out by hand just to get a shorter summary. > 5. "W: no-documentation" (summary is enough). Yeah, this is such a weird rpmlint warning. Not every subpackage will have something to include as %doc, even when it isn’t a metapackage with no files at all. > 6. "W: description-shorter-than-summary" (feel free to satisfy rpmlint, but > in my opinion there is no need to repeat yourself in the description). Agreed. I consistently took the summaries from titles of the README.rst files, and the descriptions from the “project.description” in the pyproject.toml files. Sometimes the phrasing happened to differ in a way that made the latter shorter, but that’s not an error. > 7. Issue about python3-sqlalchemy1.3 (I believe it's false positive, since > current version is different and doesn't look deprecated). I agree. I’ve seen this false positive before in other packages. I think it’s just that python3-opentelemetry-instrumentation-sqlalchemy+instruments Requires python3.11dist(sqlalchemy), and both python3-sqlalchemy and python3-sqlalchemy1.3 Provide python3.11dist(sqlalchemy), and that’s enough for rpmlint to think there’s a dependency on the deprecated compat package. Updated submission: Spec URL: https://music.fedorapeople.org/20230106/python-opentelemetry-contrib.spec SRPM URL: https://music.fedorapeople.org/20230106/python-opentelemetry-contrib-0.36~b0-1.fc37.src.rpm https://koji.fedoraproject.org/koji/taskinfo?taskID=95805132
Note that the usual review workflow is to first set the fedora-review flag to “?” and the state to ASSIGNED, then change fedora-review to “+” (or “-” if the package is permanently rejected for some reason; if there are just things that need fixing, you can keep it in “?”). See: https://docs.fedoraproject.org/en-US/package-maintainers/Package_Review_Process/#_reviewer Even if fedora-review is “+”, the submitter won’t be able to request a dist-git repo if the ticket isn’t in the ASSIGNED state.
Copr build: https://copr.fedorainfracloud.org/coprs/build/5204785 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/frostyx/fedora-review-2156749-python-opentelemetry-contrib/fedora-rawhide-x86_64/05204785-python-opentelemetry-contrib/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service
Ben, thanks for pointing out on my mistakes with package review workflow. Package APPROVED
Thank you for taking the time to do a thorough review on this nontrivial package! Repository requested: https://pagure.io/releng/fedora-scm-requests/issue/50345
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/python-opentelemetry-contrib
FEDORA-2023-d2f894683f has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-d2f894683f
FEDORA-2023-d2f894683f has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-0b0f2a81f8 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-0b0f2a81f8
FEDORA-2023-0b0f2a81f8 has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-0b0f2a81f8 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-0b0f2a81f8 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-0b0f2a81f8 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.