Bug 2414339

Summary: Review Request: zsv - Tabular data Swiss-army knife CLI
Product: [Fedora] Fedora Reporter: Azeem Sajid <azeem.sajid>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: benson_muite, code, package-review, terjeros
Target Milestone: ---Keywords: AutomationTriaged
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://github.com/liquidaty/zsv
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
RPM spec file
none
SRPM
none
The .spec file difference from Copr build 9793478 to 9793481 none

Description Azeem Sajid 2025-11-12 07:59:28 UTC
Hi,

I have packaged zsv and its devel subpackage.
I am an upstream contributor working on its RPM packaging.
Now, I am submitting it for the review.

NOTE: This is my first package and I am seeking a sponsor.

Here are all the relevant details:

- Fedora Account System Username: iamazeem

- Spec URL: https://raw.githubusercontent.com/liquidaty/zsv/8f082fc96f3803a1f0d8f05a8fd98575d0a36636/pkg/rpm/rpmbuild/SPECS/zsv.spec
- SRPM URL: https://github.com/liquidaty/zsv/raw/8f082fc96f3803a1f0d8f05a8fd98575d0a36636/pkg/rpm/rpmbuild/SRPMS/zsv-1.1.0-1.fc44.src.rpm

- Upstream repo: https://github.com/liquidaty/zsv
- Description: zsv+lib is a fast CSV parser library and extensible command-line utility. It achieves high performance using SIMD operations, efficient memory use and other optimization techniques, and can also parse generic-delimited and fixed-width formats, as well as multi-row-span headers.

- Copr (repo: https://copr.fedorainfracloud.org/coprs/iamazeem/zsv/)
  - Builds
    - https://copr.fedorainfracloud.org/coprs/iamazeem/zsv/build/9786400/
    - https://copr.fedorainfracloud.org/coprs/iamazeem/zsv/build/9793455/ (with `Provides` static lib change)

- Koji
  - Builds
    - Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=138838971
    - F44:     https://koji.fedoraproject.org/koji/taskinfo?taskID=138839812
    - F43:     https://koji.fedoraproject.org/koji/taskinfo?taskID=138839203
    - F42:     https://koji.fedoraproject.org/koji/taskinfo?taskID=138839519
    - EPEL10:  https://koji.fedoraproject.org/koji/taskinfo?taskID=138839603

Here are the notes on the specific choices made for packaging:

- The `configure` script is a custom one and does not support all the options of `%configure` macro.
  - `--exec-prefix` had to be used to route the final built files to a known directory.
  - Without `--exec-prefix`, the build directory is different for each target and compiler.
- `make build` builds the lib only but it installs it too.
- `make install` builds both exe and lib. It installs both as well to `--exec-prefix`.
- `make install` does not support DESTDIR or PREFIX where `--exec-prefix` helps to install in a known directory.
- Under `%install`, the manual steps had to be performed to install all the files to the correct buildroot directory structure.
- `ppc64le` arch has been excluded as it is not currently supported.

Comment 1 Azeem Sajid 2025-11-12 08:01:12 UTC
Created attachment 2114042 [details]
RPM spec file

Comment 2 Azeem Sajid 2025-11-12 08:08:30 UTC
Created attachment 2114044 [details]
SRPM

Comment 3 Terje Rosten 2025-11-12 09:48:28 UTC
Can you please post direct links to spec file and srpm?

Comment 4 Azeem Sajid 2025-11-12 10:09:28 UTC
(In reply to Terje Rosten from comment #3)
> Can you please post direct links to spec file and srpm?

Please find the direct links below:

- spec: https://raw.githubusercontent.com/liquidaty/zsv/ffe51eeddc22f8143cab4c23914b97d63c8f40cc/pkg/rpm/rpmbuild/SPECS/zsv.spec
- srpm: https://github.com/liquidaty/zsv/raw/ffe51eeddc22f8143cab4c23914b97d63c8f40cc/pkg/rpm/rpmbuild/SRPMS/zsv-1.1.0-1.fc44.src.rpm

Added in the description as well. Thanks!

Comment 5 Benson Muite 2025-11-12 10:45:51 UTC
Fedora packages need to be built from source. Guildelines for C:
https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/

If you are not a packager, you may also want to examine:
https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/

Comment 6 Fedora Review Service 2025-11-13 02:02:37 UTC
The ticket summary is not in the correct format.
Expected:

    Review Request: <main package name here> - <short summary here>

Found:

    zsv+lib: tabular data swiss-army knife CLI + world's fastest (simd) CSV parser

As a consequence, the package name cannot be parsed and submitted to
be automatically build. Please modify the ticket summary and trigger a
build by typing [fedora-review-service-build].


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

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

Comment 7 Azeem Sajid 2025-11-13 03:42:26 UTC
[fedora-review-service-build]

Comment 8 Fedora Review Service 2025-11-13 03:50:16 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9793200
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2414339-zsv/fedora-rawhide-x86_64/09793200-zsv/fedora-review/review.txt

Found issues:

- Package has .a files: zsv-devel. Does not provide -static: zsv-devel.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries

Please know that there can be false-positives.

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

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

Comment 9 Azeem Sajid 2025-11-13 07:10:52 UTC
[fedora-review-service-build]

Comment 10 Fedora Review Service 2025-11-13 07:19:44 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9793478
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2414339-zsv/fedora-rawhide-x86_64/09793478-zsv/fedora-review/review.txt

Found issues:

- Package has .a files: zsv-devel. Does not provide -static: zsv-devel.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries

Please know that there can be false-positives.

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

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

Comment 12 Fedora Review Service 2025-11-13 07:31:41 UTC
Created attachment 2114240 [details]
The .spec file difference from Copr build 9793478 to 9793481

Comment 13 Fedora Review Service 2025-11-13 07:31:44 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9793481
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2414339-zsv/fedora-rawhide-x86_64/09793481-zsv/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 14 Ben Beasley 2025-11-18 07:54:03 UTC
We try to avoid packaging static libraries as much as possible, https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries.

From https://github.com/liquidaty/zsv/blob/d3c63d15abf7e4d881eff088c480e3fe6482a45e/configure#L42, it looks like you should be able to build a shared library by passing --enable-shared to the configure script. I haven’t checked if the resulting shared library would be properly versioned; if not, see https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning.

Comment 15 Azeem Sajid 2025-11-29 07:47:02 UTC
(In reply to Ben Beasley from comment #14)
> We try to avoid packaging static libraries as much as possible,
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-
> libraries.
> 
> From
> https://github.com/liquidaty/zsv/blob/
> d3c63d15abf7e4d881eff088c480e3fe6482a45e/configure#L42, it looks like you
> should be able to build a shared library by passing --enable-shared to the
> configure script. I haven’t checked if the resulting shared library would be
> properly versioned; if not, see
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> #_downstream_so_name_versioning.

I'm working with the upstream to generate the versioned dynamic library instead.
I'll update and resubmit the new spec and SRPM once that becomes available.