Bug 2391300 - Review Request: postgresql16-anonymizer - Anonymizer extension for postgresql
Summary: Review Request: postgresql16-anonymizer - Anonymizer extension for postgresql
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Pavol Sloboda
QA Contact: Fedora Extras Quality Assurance
URL: https://gitlab.com/dalibo/%{extension}
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2025-08-27 15:16 UTC by Petr Khartskhaev
Modified: 2025-09-11 13:17 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-09-11 13:17:01 UTC
Type: ---
Embargoed:
psloboda: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 9497114 to 9499812 (551 bytes, patch)
2025-08-28 14:44 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 9499812 to 9515038 (1.46 KB, patch)
2025-09-02 10:57 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 9515038 to 9519571 (1.35 KB, patch)
2025-09-03 14:23 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 9519571 to 9536875 (3.53 KB, patch)
2025-09-09 08:28 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 9536875 to 9540697 (3.34 KB, patch)
2025-09-10 03:18 UTC, Fedora Review Service
no flags Details | Diff

Description Petr Khartskhaev 2025-08-27 15:16:37 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/pkhartsk/postgresql16-postgresql_anonymizer/fedora-43-x86_64/09496963-postgresql16-anonymizer/postgresql16-anonymizer.spec

SRPM URL: https://download.copr.fedorainfracloud.org/results/pkhartsk/postgresql16-postgresql_anonymizer/fedora-43-x86_64/09496963-postgresql16-anonymizer/postgresql16-anonymizer-2.3.0-1.fc43.src.rpm

Description:
PostgreSQL Anonymizer is an extension to mask or replace
personally identifiable information (PII) or commercially sensitive data from
a PostgreSQL database.
The project has a declarative approach of anonymization. This means you can
declare the masking rules using the PostgreSQL Data Definition Language (DDL)
and specify your anonymization policy inside the table definition itself.

Fedora Account System Username: pkhartsk

This is my first package and I need a sponsor. I'm a Red Hat associate, therefore I know ahead of time the main reviewer will be psloboda.
A successful build (including review templates) can be found in my copr repo: https://copr.fedorainfracloud.org/coprs/pkhartsk/postgresql16-postgresql_anonymizer/package/postgresql16-anonymizer/

Note: the postgresql_default global should be changed in the f42 branch to 1, so that it provides postgresql_anonymizer, the upstream name of the package. The postgres version required is 16 and upstream does not yet support postgres 18, so making a rawhide package with 18 as default is impossible right now.

Rpmlint problems justification:
postgresql16-anonymizer.spec:110: W: unversioned-explicit-provides %{extension}-any --- other postgres extensions use this Provides as well, it's also an extension, not a dynamic library and shouldn't be used in multiple places
postgresql16-anonymizer.src: E: spelling-error ('anonymization', '%description -l en_US anonymization -> randomization, canonization, minimization') --- not actually a spelling error: https://www.merriam-webster.com/dictionary/anonymization
postgresql16-anonymizer.x86_64: E: spelling-error ('anonymization', '%description -l en_US anonymization -> randomization, canonization, minimization') --- ditto
postgresql16-anonymizer.spec: W: no-%check-section --- explained in the spec file, basically it is impossible to build (and run most of the) tests in a non-root setting
postgresql16-anonymizer.spec: W: invalid-url Source1: postgresql_anonymizer-2.3.0-vendored.tar.xz --- same as other vendored rust packages: https://src.fedoraproject.org/rpms/task/blob/rawhide/f/task.spec

Comment 1 Fedora Review Service 2025-08-27 15:56:20 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9497114
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09497114-postgresql16-anonymizer/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

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 3 Fedora Review Service 2025-08-28 14:44:00 UTC
Created attachment 2105122 [details]
The .spec file difference from Copr build 9497114 to 9499812

Comment 4 Fedora Review Service 2025-08-28 14:44:02 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9499812
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09499812-postgresql16-anonymizer/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

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 6 Fedora Review Service 2025-09-02 10:57:51 UTC
Created attachment 2105575 [details]
The .spec file difference from Copr build 9499812 to 9515038

Comment 7 Fedora Review Service 2025-09-02 10:57:54 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9515038
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09515038-postgresql16-anonymizer/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

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 9 Fedora Review Service 2025-09-03 14:23:57 UTC
Created attachment 2105669 [details]
The .spec file difference from Copr build 9515038 to 9519571

Comment 10 Fedora Review Service 2025-09-03 14:24:00 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9519571
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09519571-postgresql16-anonymizer/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

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 11 Pavol Sloboda 2025-09-04 13:18:37 UTC
I am continuing with the package review and currently I am at the license review step, you have listed `CC0-1.0` as one of the licenses of the SPDX license expression, this license is allowed in Fedora but it's usage[0] is discouraged and upstream should be contacted about relicensing files under this license. Has the upstream been contacted about this? (this is not a blocker for the review to continue but it should be discussed with upstream if possible)

[0]https://gitlab.com/fedora/legal/fedora-license-data/-/blob/main/data/CC0-1.0.toml?ref_type=heads#L10

Comment 12 Petr Khartskhaev 2025-09-04 14:33:23 UTC
I will mention the issue to the respective upstreams of the 3 crates that use this license (though it should be noted that every one of them recommends using it OR Apache-2.0, which is not discouraged).

Comment 13 Petr Khartskhaev 2025-09-05 08:47:34 UTC
There are 5 vendored crates which make use of the CC0-1.0 license:
- dunce (https://gitlab.com/kornelski/dunce), which exclusively uses CC0-1.0 (despite crates.io licensing it under CC0-1.0 OR MIT-0 OR Apache-2.0?), but it is also a Windows-specific crate that is never used during the build, it is only bundled because of the way `cargo vendor` works, so I do not see the point in contacting the upstream there
- constant_time_eq (https://github.com/cesarb/constant_time_eq), which is licensed with MIT-0 OR Apache-2.0 OR CC0-1.0 at the user's option, so there's no need to contact upstream. It is also licensed under MIT-0 OR Apache-2.0 in Fedora
- enum-map and enum-map-derive (https://codeberg.org/xfix/enum-map), where the only file licensed under CC0-1.0 or MIT OR Apache-2.0 (which already isn't a problem) is the root-directory `Cargo.toml` that is not even used in the crates themselves. In Fedora it is licensed under MIT OR Apache-2.0
- imgref (https://github.com/kornelski/imgref), licensed under CC0-1.0 OR Apache-2.0 according to crates.io (the repository contains both license files but no source files have a license header). It is licensed exclusively under Apache-2.0 in Fedora

From what I understand, there is no need to contact any of the upstreams and it MIGHT be possible to remove the mention of CC0-1.0 completely, though I am confused about dunce, which seems to be the most problematic one.

Comment 14 Pavol Sloboda 2025-09-05 08:52:09 UTC
I have found some warnings during the mockbuild (`fedpkg --release rawhide mockbuild`):
warning: line 120: second Description
warning: line 130: second Description

These seem to be caused by the %description on line 111 since it provides the description for a package with
the same name as the main package thus creating a duplicate with the %description above it.
Please reconsider either removing the duplication if possible (and check that it does not break with
the upcoming epel version of the package) or making the second description conditional.

Comment 15 Petr Khartskhaev 2025-09-05 09:02:14 UTC
I am aware of this, my reasoning is that other postgresql extension packages (postgresql16-pgaudit, -pgvector, -decoderbufs, etc.) also do this exact same thing and also give the same warnings. I don't think it's possible to remove the duplicate description, but I could wrap the second description in an if not distro default. Just wanted to be consistent with the existing extensions.

Comment 16 Pavol Sloboda 2025-09-05 10:00:14 UTC
The cargo-vendor.txt file is falsely flagged as a license while containing no license data at all.

Comment 17 Pavol Sloboda 2025-09-05 10:30:52 UTC
(In reply to Pavol Sloboda from comment #16)
> The cargo-vendor.txt file is falsely flagged as a license while containing
> no license data at all.

This was a mistake on my part as the Rust Packaging guidelines[0] mention this file as a license.

[0] https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_using_vendor_tarballs

Comment 19 Fedora Review Service 2025-09-09 08:28:34 UTC
Created attachment 2106088 [details]
The .spec file difference from Copr build 9519571 to 9536875

Comment 20 Fedora Review Service 2025-09-09 08:28:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9536875
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09536875-postgresql16-anonymizer/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

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 21 Pavol Sloboda 2025-09-09 12:32:27 UTC
I am unsure about this part of the spec file:
```
mkdir -p $HOME/.cargo/bin
```

because it writes outside of %{buildroot}, %{_builddir} and other temporary locations as specified here[0].
$HOME gets expanded to /builddir during the build so it is not really a huge issue but it is against the guidelines.
Looking into it I found the only option to get around this is creating it in a valid directory and adding that to the 
`PATH` variable, I have not found any issues with this approach in the packaging guidelines but it isn't great.
Could you please look into it and ask someone with more experience with rust than me?

But I believe the creation of the directory inside of $HOME is against the guidelines and should not be done.

[0]https://docs.fedoraproject.org/en-US/packaging-guidelines/#_scriplets_are_only_allowed_to_write_in_certain_directories

Comment 22 Petr Khartskhaev 2025-09-09 18:37:08 UTC
Updated to avoid altering files outside of %{_builddir} while in the %build stage, and to justify the exclusion of the i686 and powerpc architectures. Including a Koji SRPM because the copr one had strange permissions.
Spec URL: https://download.copr.fedorainfracloud.org/results/pkhartsk/postgresql16-postgresql_anonymizer/fedora-rawhide-x86_64/09540221-postgresql16-anonymizer/postgresql16-anonymizer.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/9661/136949661/postgresql16-anonymizer-2.3.0-1.fc44.src.rpm

Comment 23 Fedora Review Service 2025-09-10 03:18:36 UTC
Created attachment 2106188 [details]
The .spec file difference from Copr build 9536875 to 9540697

Comment 24 Fedora Review Service 2025-09-10 03:18:38 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9540697
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2391300-postgresql16-anonymizer/fedora-rawhide-x86_64/09540697-postgresql16-anonymizer/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

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 25 Pavol Sloboda 2025-09-10 08:34:05 UTC
Package Review
==============

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



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
 - This is justified below
[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 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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "PostgreSQL License", "*No copyright*
     PostgreSQL License", "*No copyright* Apache License 2.0", "MIT
     License", "BSD 0-Clause License", "*No copyright* MIT License", "*No
     copyright* The Unlicense", "Apache License 2.0", "*No copyright*
     Apache License (v2.0) or MIT license and/or MIT License", "Apache
     License 2.0 and/or MIT License", "BSD 2-Clause License", "BSD 3-Clause
     License", "*No copyright* Apache License (v2.0) or MIT license", "zlib
     License", "*No copyright* zlib License", "Apache License (v2.0) or MIT
     license", "*No copyright* Creative Commons CC0 1.0", "*No copyright*
     MIT No Attribution", "*No copyright* BSD 3-Clause License and/or
     Creative Commons Attribution 3.0 and/or MIT License", "ISC License",
     "Unicode License Agreement - Data Files and Software (2016)", "*No
     copyright* Apache License 2.0 and/or MIT License", "*No copyright*
     Boost Software License 1.0", "*No copyright* Apache License 2.0 and/or
     MIT License and/or zlib License", "Apache License 2.0 and/or BSD
     3-Clause License", "*No copyright* SIL Open Font License", "Apache
     License 2.0 and/or GNU Lesser General Public License v2.1 or later
     and/or MIT License", "Apple Public Source License 2.0", "BSD 3-Clause
     License and/or MIT License", "*No copyright* Mozilla Public License
     2.0", "*No copyright* Public domain", "Apache License (v2.0) or MIT
     license and/or MIT License", "*No copyright* Apache License 2.0 and/or
     Public domain", "GNU General Public License, Version 2", "GNU Lesser
     General Public License, Version 2.1", "FSF All Permissive License",
     "Apache License 2.0 [generated file]", "*No copyright* ISC License",
     "Apache License 2.0 and/or Boost Software License 1.0", "BSD 3-Clause
     License [generated file]", "BSD 2-Clause with views sentence", "GNU
     General Public License v2.0 or later", "GNU Lesser General Public
     License v2.1 or later", "FSF Unlimited License (with License
     Retention)", "*No copyright* GNU General Public License, Version 2".
     29573 files have unknown license. Detailed output of licensecheck in
     /var/lib/copr-
     rpmbuild/results/postgresql16-anonymizer/licensecheck.txt
[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.
[x]: Package contains no bundled libraries without FPC exception.
 - The package contains bundled libraries but they are allowed because of
 the exception about vendoring crates in the rust packaging guidelines:
    https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_vendored_dependencies
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: 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.
    - The package contains an ExcludeArch tag set correctly
    and justified in the spec fiel comment above the ExcludeArch tag
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 117448 bytes in 4 files.
[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]: 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 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.
[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.
 - this could be considered as false because of the license text files
 generated during the build but they are justified because of the vendoring
 of the necessary crates
[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
[x]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
     - upstream does not publish signatures
[x]: 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]: 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 debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.


Rpmlint
-------
Checking: postgresql16-anonymizer-2.3.0-1.fc44.x86_64.rpm
          postgresql16-anonymizer-2.3.0-1.fc44.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.7.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/tmp_bt7lvv_')]
checks: 32, packages: 2

postgresql16-anonymizer.spec:104: W: unversioned-explicit-provides %{extension}-any
- this is justified to work with the version and unversioned postgresql packages

 - These warnings seem strange but it seems like copr is causing them to happen
 and they do not happen when the package is being built in Koji, therefore this
 is a non-issue
postgresql16-anonymizer.src: W: strange-permission anonymizer-cargo.patch 666
postgresql16-anonymizer.src: W: strange-permission create-vendored-tarball.sh 777
postgresql16-anonymizer.src: W: strange-permission postgresql16-anonymizer.spec 666
postgresql16-anonymizer.src: W: strange-permission postgresql_anonymizer-2.3.0-vendored.tar.xz 666
postgresql16-anonymizer.src: W: strange-permission postgresql_anonymizer-2.3.0.tar.bz2 666
postgresql16-anonymizer.src: W: strange-permission remove-disallowed-licenses.patch 666
postgresql16-anonymizer.src: E: spelling-error ('anonymization', '%description -l en_US anonymization -> randomization, canonization, minimization')
postgresql16-anonymizer.x86_64: E: spelling-error ('anonymization', '%description -l en_US anonymization -> randomization, canonization, minimization')
- This is a false positive
postgresql16-anonymizer.spec: W: invalid-url Source1: postgresql_anonymizer-2.3.0-vendored.tar.xz
 2 packages and 0 specfiles checked; 2 errors, 8 warnings, 7 filtered, 2 badness; has taken 2.6 s 
- Justified as it is the modified tarball with the vendored packages




Rpmlint (debuginfo)
-------------------
Checking: postgresql16-anonymizer-debuginfo-2.3.0-1.fc44.x86_64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.7.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/tmpusyepyb2')]
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 3.0 s 





Rpmlint (installed packages)
----------------------------
(none): E: there is no installed rpm "postgresql16-anonymizer".
(none): E: there is no installed rpm "postgresql16-anonymizer-debuginfo".
There are no files to process nor additional arguments.
Nothing to do, aborting.
============================ rpmlint session starts ============================
rpmlint: 2.7.0
configuration:
    /usr/lib/python3.14/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: 2

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



Unversioned so-files
--------------------
postgresql16-anonymizer: /usr/lib64/pgsql/anon.so

As mentioned here: 
    https://docs.fedoraproject.org/en-US/packaging-guidelines/#_unversioned_shared_objects
this unversioned so-file is not an issue as it is needed at runtime
by postgresql, therefore it does not have to be in the -devel subpackage
or have a versioned counterpart.
Further info here:
    https://docs.fedoraproject.org/en-US/packaging-guidelines/Unversioned_shared_objects/
as mentioned there:
* it is not be visible to the dynamic linker
* it is located in a private directory
* it is not linked against and it is loaded during runtime

Source checksums
----------------
https://gitlab.com/dalibo/postgresql_anonymizer/-/archive/2.3.0/postgresql_anonymizer-2.3.0.tar.bz2 :
  CHECKSUM(SHA256) this package     : 9607dc7d85400d8c6c9ac146ab4801412ae25193d005fc95bf6aa3a8103438e3
  CHECKSUM(SHA256) upstream package : 9607dc7d85400d8c6c9ac146ab4801412ae25193d005fc95bf6aa3a8103438e3


Requires
--------
postgresql16-anonymizer (rpmlib, GLIBC filtered):
    ld-linux-x86-64.so.2()(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)(64bit)
    libgcc_s.so.1(GCC_4.2.0)(64bit)
    libm.so.6()(64bit)
    postgresql16-server
    rtld(GNU_HASH)



Provides
--------
postgresql16-anonymizer:
    bundled(crate(addr2line))
    bundled(crate(adler2))
    bundled(crate(aho-corasick))
    bundled(crate(aligned-vec))
    bundled(crate(allocator-api2))
    bundled(crate(android-tzdata))
    bundled(crate(android_system_properties))
    bundled(crate(annotate-snippets))
    bundled(crate(anstyle))
    bundled(crate(anyhow))
    bundled(crate(arbitrary))
    bundled(crate(arg_enum_proc_macro))
    bundled(crate(arrayvec))
    bundled(crate(async-trait))
    bundled(crate(atomic))
    bundled(crate(atomic-traits))
    bundled(crate(autocfg))
    bundled(crate(av1-grain))
    bundled(crate(avif-serialize))
    bundled(crate(backtrace))
    bundled(crate(base64))
    bundled(crate(bigdecimal))
    bundled(crate(bindgen))
    bundled(crate(bit-set))
    bundled(crate(bit-vec))
    bundled(crate(bit_field))
    bundled(crate(bitflags))
    bundled(crate(bitstream-io))
    bundled(crate(bitvec))
    bundled(crate(block-buffer))
    bundled(crate(built))
    bundled(crate(bumpalo))
    bundled(crate(bytemuck))
    bundled(crate(byteorder))
    bundled(crate(byteorder-lite))
    bundled(crate(bytes))
    bundled(crate(c_str_macro))
    bundled(crate(camino))
    bundled(crate(cargo-platform))
    bundled(crate(cargo_metadata))
    bundled(crate(cargo_toml))
    bundled(crate(cc))
    bundled(crate(cee-scape))
    bundled(crate(cexpr))
    bundled(crate(cfg-expr))
    bundled(crate(cfg-if))
    bundled(crate(chrono))
    bundled(crate(clang-sys))
    bundled(crate(clap))
    bundled(crate(clap-cargo))
    bundled(crate(clap_builder))
    bundled(crate(clap_derive))
    bundled(crate(clap_lex))
    bundled(crate(color_quant))
    bundled(crate(convert_case))
    bundled(crate(core-foundation-sys))
    bundled(crate(cpufeatures))
    bundled(crate(crc32fast))
    bundled(crate(crossbeam-deque))
    bundled(crate(crossbeam-epoch))
    bundled(crate(crossbeam-utils))
    bundled(crate(crunchy))
    bundled(crate(crypto-common))
    bundled(crate(deranged))
    bundled(crate(deunicode))
    bundled(crate(digest))
    bundled(crate(displaydoc))
    bundled(crate(either))
    bundled(crate(enum-map))
    bundled(crate(enum-map-derive))
    bundled(crate(equator))
    bundled(crate(equator-macro))
    bundled(crate(equivalent))
    bundled(crate(errno))
    bundled(crate(exr))
    bundled(crate(eyre))
    bundled(crate(fake))
    bundled(crate(fallible-iterator))
    bundled(crate(fastrand))
    bundled(crate(fdeflate))
    bundled(crate(fixedbitset))
    bundled(crate(flate2))
    bundled(crate(fnv))
    bundled(crate(foldhash))
    bundled(crate(form_urlencoded))
    bundled(crate(funty))
    bundled(crate(futures-channel))
    bundled(crate(futures-core))
    bundled(crate(futures-macro))
    bundled(crate(futures-sink))
    bundled(crate(futures-task))
    bundled(crate(futures-util))
    bundled(crate(generic-array))
    bundled(crate(getrandom))
    bundled(crate(gif))
    bundled(crate(gimli))
    bundled(crate(glob))
    bundled(crate(half))
    bundled(crate(hash32))
    bundled(crate(hashbrown))
    bundled(crate(heapless))
    bundled(crate(heck))
    bundled(crate(hermit-abi))
    bundled(crate(hmac))
    bundled(crate(home))
    bundled(crate(http))
    bundled(crate(iana-time-zone))
    bundled(crate(iana-time-zone-haiku))
    bundled(crate(icu_collections))
    bundled(crate(icu_locale_core))
    bundled(crate(icu_normalizer))
    bundled(crate(icu_normalizer_data))
    bundled(crate(icu_properties))
    bundled(crate(icu_properties_data))
    bundled(crate(icu_provider))
    bundled(crate(idna))
    bundled(crate(idna_adapter))
    bundled(crate(image))
    bundled(crate(image-webp))
    bundled(crate(indenter))
    bundled(crate(indexmap))
    bundled(crate(interpolate_name))
    bundled(crate(is-terminal))
    bundled(crate(is_ci))
    bundled(crate(itertools))
    bundled(crate(itoa))
    bundled(crate(jobserver))
    bundled(crate(jpeg-decoder))
    bundled(crate(js-sys))
    bundled(crate(lazy_static))
    bundled(crate(lebe))
    bundled(crate(libc))
    bundled(crate(libfuzzer-sys))
    bundled(crate(libloading))
    bundled(crate(libm))
    bundled(crate(linux-raw-sys))
    bundled(crate(litemap))
    bundled(crate(lock_api))
    bundled(crate(log))
    bundled(crate(loop9))
    bundled(crate(maybe-rayon))
    bundled(crate(md-5))
    bundled(crate(memchr))
    bundled(crate(minimal-lexical))
    bundled(crate(miniz_oxide))
    bundled(crate(mio))
    bundled(crate(new_debug_unreachable))
    bundled(crate(nom))
    bundled(crate(noop_proc_macro))
    bundled(crate(ntapi))
    bundled(crate(num-bigint))
    bundled(crate(num-conv))
    bundled(crate(num-derive))
    bundled(crate(num-integer))
    bundled(crate(num-rational))
    bundled(crate(num-traits))
    bundled(crate(objc2-core-foundation))
    bundled(crate(object))
    bundled(crate(once_cell))
    bundled(crate(owo-colors))
    bundled(crate(parking_lot))
    bundled(crate(parking_lot_core))
    bundled(crate(paste))
    bundled(crate(pathsearch))
    bundled(crate(percent-encoding))
    bundled(crate(petgraph))
    bundled(crate(pgrx))
    bundled(crate(pgrx-bindgen))
    bundled(crate(pgrx-macros))
    bundled(crate(pgrx-pg-config))
    bundled(crate(pgrx-pg-sys))
    bundled(crate(pgrx-sql-entity-graph))
    bundled(crate(pgrx-tests))
    bundled(crate(phf))
    bundled(crate(phf_shared))
    bundled(crate(pin-project-lite))
    bundled(crate(pin-utils))
    bundled(crate(pkg-config))
    bundled(crate(png))
    bundled(crate(postgres))
    bundled(crate(postgres-protocol))
    bundled(crate(postgres-types))
    bundled(crate(potential_utf))
    bundled(crate(powerfmt))
    bundled(crate(ppv-lite86))
    bundled(crate(proc-macro2))
    bundled(crate(profiling))
    bundled(crate(profiling-procmacros))
    bundled(crate(proptest))
    bundled(crate(qoi))
    bundled(crate(quick-error))
    bundled(crate(quote))
    bundled(crate(r-efi))
    bundled(crate(radium))
    bundled(crate(rand))
    bundled(crate(rand_chacha))
    bundled(crate(rand_core))
    bundled(crate(rand_xorshift))
    bundled(crate(random_color))
    bundled(crate(rav1e))
    bundled(crate(ravif))
    bundled(crate(rayon))
    bundled(crate(rayon-core))
    bundled(crate(redox_syscall))
    bundled(crate(regex))
    bundled(crate(regex-automata))
    bundled(crate(regex-syntax))
    bundled(crate(rgb))
    bundled(crate(rust_decimal))
    bundled(crate(rustc-demangle))
    bundled(crate(rustc-hash))
    bundled(crate(rustc_version))
    bundled(crate(rustix))
    bundled(crate(rustversion))
    bundled(crate(rusty-fork))
    bundled(crate(ryu))
    bundled(crate(same-file))
    bundled(crate(scopeguard))
    bundled(crate(seahash))
    bundled(crate(semver))
    bundled(crate(serde))
    bundled(crate(serde_cbor))
    bundled(crate(serde_derive))
    bundled(crate(serde_json))
    bundled(crate(serde_spanned))
    bundled(crate(sha1_smol))
    bundled(crate(sha2))
    bundled(crate(shlex))
    bundled(crate(simd-adler32))
    bundled(crate(simd_helpers))
    bundled(crate(siphasher))
    bundled(crate(slab))
    bundled(crate(smallvec))
    bundled(crate(socket2))
    bundled(crate(sptr))
    bundled(crate(stable_deref_trait))
    bundled(crate(stringprep))
    bundled(crate(subtle))
    bundled(crate(supports-color))
    bundled(crate(syn))
    bundled(crate(synstructure))
    bundled(crate(sysinfo))
    bundled(crate(system-deps))
    bundled(crate(tap))
    bundled(crate(target-lexicon))
    bundled(crate(tempfile))
    bundled(crate(thiserror))
    bundled(crate(thiserror-impl))
    bundled(crate(tiff))
    bundled(crate(time))
    bundled(crate(time-core))
    bundled(crate(tinystr))
    bundled(crate(tinyvec))
    bundled(crate(tinyvec_macros))
    bundled(crate(tokio))
    bundled(crate(tokio-postgres))
    bundled(crate(tokio-util))
    bundled(crate(toml))
    bundled(crate(toml_datetime))
    bundled(crate(toml_edit))
    bundled(crate(toml_write))
    bundled(crate(typenum))
    bundled(crate(unarray))
    bundled(crate(unescape))
    bundled(crate(unicode-bidi))
    bundled(crate(unicode-ident))
    bundled(crate(unicode-normalization))
    bundled(crate(unicode-properties))
    bundled(crate(unicode-segmentation))
    bundled(crate(unicode-width))
    bundled(crate(url))
    bundled(crate(url-escape))
    bundled(crate(utf8_iter))
    bundled(crate(uuid))
    bundled(crate(v_frame))
    bundled(crate(version-compare))
    bundled(crate(version_check))
    bundled(crate(wait-timeout))
    bundled(crate(walkdir))
    bundled(crate(wasi))
    bundled(crate(wasite))
    bundled(crate(wasm-bindgen))
    bundled(crate(wasm-bindgen-backend))
    bundled(crate(wasm-bindgen-macro))
    bundled(crate(wasm-bindgen-macro-support))
    bundled(crate(wasm-bindgen-shared))
    bundled(crate(web-sys))
    bundled(crate(weezl))
    bundled(crate(whoami))
    bundled(crate(winapi))
    bundled(crate(winapi-i686-pc-windows-gnu))
    bundled(crate(winapi-util))
    bundled(crate(winapi-x86_64-pc-windows-gnu))
    bundled(crate(windows))
    bundled(crate(windows-core))
    bundled(crate(windows-implement))
    bundled(crate(windows-interface))
    bundled(crate(windows-link))
    bundled(crate(windows-result))
    bundled(crate(windows-strings))
    bundled(crate(windows-sys))
    bundled(crate(windows-targets))
    bundled(crate(windows_aarch64_gnullvm))
    bundled(crate(windows_aarch64_msvc))
    bundled(crate(windows_i686_gnu))
    bundled(crate(windows_i686_gnullvm))
    bundled(crate(windows_i686_msvc))
    bundled(crate(windows_x86_64_gnu))
    bundled(crate(windows_x86_64_gnullvm))
    bundled(crate(windows_x86_64_msvc))
    bundled(crate(winnow))
    bundled(crate(wit-bindgen-rt))
    bundled(crate(writeable))
    bundled(crate(wyz))
    bundled(crate(yoke))
    bundled(crate(yoke-derive))
    bundled(crate(zerocopy))
    bundled(crate(zerocopy-derive))
    bundled(crate(zerofrom))
    bundled(crate(zerofrom-derive))
    bundled(crate(zerotrie))
    bundled(crate(zerovec))
    bundled(crate(zerovec-derive))
    bundled(crate(zune-core))
    bundled(crate(zune-inflate))
    bundled(crate(zune-jpeg))
    postgresql16-anonymizer
    postgresql16-anonymizer(x86-64)
    postgresql_anonymizer-any



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

Comment 26 Fedora Review Service 2025-09-10 08:38:36 UTC
Hello @pkhartsk,
since this is your first Fedora package, you need to get sponsored by a package
sponsor before it can be accepted.

A sponsor is an experienced package maintainer who will guide you through
the processes that you will follow and the tools that you will use as a future
maintainer. A sponsor will also be there to answer your questions related to
packaging.

You can find all active sponsors here:
https://docs.pagure.org/fedora-sponsors/

I created a sponsorship request for you:
https://pagure.io/packager-sponsors/issue/738
Please take a look and make sure the information is correct.

Thank you, and best of luck on your packaging journey.

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

Comment 27 Fedora Admin user for bugzilla script actions 2025-09-11 12:21:21 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/postgresql16-anonymizer

Comment 28 Fedora Update System 2025-09-11 13:12:05 UTC
FEDORA-2025-bf2a485ad1 (postgresql16-anonymizer-2.3.0-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-bf2a485ad1

Comment 29 Fedora Update System 2025-09-11 13:17:01 UTC
FEDORA-2025-bf2a485ad1 (postgresql16-anonymizer-2.3.0-1.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.


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