Bug 2231216 - Review Request: par2cmdline-turbo - speed focused par2cmdline fork
Summary: Review Request: par2cmdline-turbo - speed focused par2cmdline fork
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Tadej Janež
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/animetosho/par2cmd...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-08-11 03:38 UTC by Ryan
Modified: 2026-02-27 10:44 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
tadej.j: fedora-review?


Attachments (Terms of Use)
The .spec file difference from Copr build 6265300 to 6357991 (885 bytes, patch)
2023-08-31 03:57 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 6357991 to 8373802 (2.14 KB, patch)
2024-12-10 22:14 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8373802 to 8992718 (951 bytes, patch)
2025-05-03 05:06 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8992718 to 9841224 (1.00 KB, patch)
2025-11-27 01:23 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Fedora Review Service 2023-08-11 03:50:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6265300
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231216-par2cmdline-turbo/fedora-rawhide-x86_64/06265300-par2cmdline-turbo/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 2023-08-31 03:57:47 UTC
Created attachment 1986233 [details]
The .spec file difference from Copr build 6265300 to 6357991

Comment 4 Fedora Review Service 2023-08-31 03:57:49 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6357991
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231216-par2cmdline-turbo/fedora-rawhide-x86_64/06357991-par2cmdline-turbo/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 5 Package Review 2024-08-31 00:45:23 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time. We're sorry
it is taking so long. If you're still interested in packaging this software
into Fedora repositories, please respond to this comment clearing the
NEEDINFO flag.

You may want to update the specfile and the src.rpm to the latest version
available and to propose a review swap on Fedora devel mailing list to increase
chances to have your package reviewed. If this is your first package and you
need a sponsor, you may want to post some informal reviews. Read more at
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group.

Without any reply, this request will shortly be considered abandoned
and will be closed.
Thank you for your patience.

Comment 8 Fedora Review Service 2024-12-10 22:14:34 UTC
Created attachment 2061974 [details]
The .spec file difference from Copr build 6357991 to 8373802

Comment 9 Fedora Review Service 2024-12-10 22:14:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8373802
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231216-par2cmdline-turbo/fedora-rawhide-x86_64/08373802-par2cmdline-turbo/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 Fedora Review Service 2025-05-03 05:06:40 UTC
Created attachment 2088221 [details]
The .spec file difference from Copr build 8373802 to 8992718

Comment 12 Fedora Review Service 2025-05-03 05:06:42 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8992718
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231216-par2cmdline-turbo/fedora-rawhide-x86_64/08992718-par2cmdline-turbo/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 13 Tadej Janež 2025-11-10 20:11:15 UTC
@errornointernet,

thanks for creating this review request.

I quickly looked at the SPEC file and I think it one issue will be the conflicting names of binaries and manual pages.
This is expected since par2cmdline-turbo is effectively a fork of the par2cmdline.

The Fedora Packaging Guidelines's section on Common Conflicting Files Cases and Solutions (https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/#_common_conflicting_files_cases_and_solutions) recommends to talk to upstream maintainers and ask them to rename the binaries (and manual pages) to avoid the conflicts.

Naturally, we could teach users how to create symlinks or aliases so they can use par2cmdline-turbo as a drop-in replacement for par2cmdline.

Comment 14 Ryan 2025-11-14 02:14:22 UTC
How about just a `Conflicts` line? It seems like the original par2cmdline is sort of being maintained again with a new 1.0.0 release, and par2cmdline-turbo's author has stated in https://github.com/animetosho/par2cmdline-turbo/issues/41 that

> I'd say the upstream project is more aimed at being a 'reference' implementation of PAR2, instead of targeting platform specific optimisations for performance like this fork is.
So I expect that this fork will continue to exist, as the goals of this and par2cmdline are a little different.

Comment 15 Tadej Janež 2025-11-14 09:17:24 UTC
(In reply to Ryan from comment #14)
> How about just a `Conflicts` line? It seems like the original par2cmdline is
> sort of being maintained again with a new 1.0.0 release, and
> par2cmdline-turbo's author has stated in
> https://github.com/animetosho/par2cmdline-turbo/issues/41 that
> 
> > I'd say the upstream project is more aimed at being a 'reference' implementation of PAR2, instead of targeting platform specific optimisations for performance like this fork is.
> So I expect that this fork will continue to exist, as the goals of this and
> par2cmdline are a little different.

I agree, both implementations have their place and I could imagine both being installed at the same time to do e.g. benchmark comparison between the two implementations.

Hence, I'm not in favor of adding 'Conflicts' but rather renaming par2cmdline-turbo's binary to e.g. par2turbo (and helpers to par2turbo-create, par2turbo-repair and par2turbo-verify).

Comment 17 Fedora Review Service 2025-11-27 01:23:44 UTC
Created attachment 2116295 [details]
The .spec file difference from Copr build 8992718 to 9841224

Comment 18 Fedora Review Service 2025-11-27 01:23:47 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9841224
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231216-par2cmdline-turbo/fedora-rawhide-x86_64/09841224-par2cmdline-turbo/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 19 Tadej Janež 2025-11-27 10:32:43 UTC
My comments to the SPEC file:

> BuildRequires:  automake

I don't think it is a good practice to recreate the project's scripts by running ./automake.sh below?
I would rather just BuildRequire make.

> %autosetup -p1

Since there are no patches, it should be enough to just call "%autosetup".

> %build
> ./automake.sh

As said above, I would remove this line and just keep the "%configure" and "%make_build".

Can you add a comment line here above to explain why this is being done?
E.g.: # Renaming binaries and man page to avoid conflicts with the par2cmdline package.

> mv %{buildroot}%{_bindir}/par2 %{buildroot}%{_bindir}/par2turbo
> rm -f %{buildroot}%{_bindir}/par2create \
>       %{buildroot}%{_bindir}/par2repair \
>       %{buildroot}%{_bindir}/par2verify \
>       %{buildroot}%{_bindir}/par2

Removing %{buildroot}%{_bindir}/par2 can be skipped since it has been renamed to par2turbo in the mv command above.

> ln -s par2turbo %{buildroot}%{_bindir}/par2turbo-create
> ln -s par2turbo %{buildroot}%{_bindir}/par2turbo-repair
> ln -s par2turbo %{buildroot}%{_bindir}/par2turbo-verify
> mv %{buildroot}%{_mandir}/man1/par2.1 %{buildroot}%{_mandir}/man1/par2turbo.1

In the next step, it would make sense to file an issue with the upstream and ask them to rename things there.

> %check
> %make_build check-TESTS

I think "make check-TEST" should be sufficient.

Comment 20 Ryan 2025-12-12 04:55:58 UTC
Hi, thanks for the review!

> > BuildRequires:  automake
> 
> I don't think it is a good practice to recreate the project's scripts by running ./automake.sh below?
> I would rather just BuildRequire make.
> 
> > %autosetup -p1
> 
> Since there are no patches, it should be enough to just call "%autosetup".
> 
> > %build
> > ./automake.sh
> 
> As said above, I would remove this line and just keep the "%configure" and "%make_build".

There isn't a configure script in the tarballs for par2cmdline-turbo, so I put that in there to generate it.
Is there a better way?

> Can you add a comment line here above to explain why this is being done?
> E.g.: # Renaming binaries and man page to avoid conflicts with the par2cmdline package.

> Removing %{buildroot}%{_bindir}/par2 can be skipped since it has been renamed to par2turbo in the mv command above.

Both done :)

> In the next step, it would make sense to file an issue with the upstream and ask them to rename things there.

Here: https://github.com/animetosho/par2cmdline-turbo/issues/49

Comment 21 Ryan 2026-01-04 20:43:44 UTC
> In the next step, it would make sense to file an issue with the upstream and ask them to rename things there.

Upstream's response:

> This project is meant to be a drop-in replacement for par2cmdline, so keeping the same binary is necessary to replace the original.

> Whilst the goals are different, they aim for the same functionality, thus I can't really see why someone would likely want both installed on their system.
> I think most packaging handles this by marking this as conflicting with par2cmdline. Is this an issue?

Comment 22 Tadej Janež 2026-02-27 10:44:12 UTC
(In reply to Ryan from comment #20)
> Hi, thanks for the review!
> 
> > > BuildRequires:  automake
> > 
> > I don't think it is a good practice to recreate the project's scripts by running ./automake.sh below?
> > I would rather just BuildRequire make.
> > 
> > > %autosetup -p1
> > 
> > Since there are no patches, it should be enough to just call "%autosetup".
> > 
> > > %build
> > > ./automake.sh
> > 
> > As said above, I would remove this line and just keep the "%configure" and "%make_build".
> 
> There isn't a configure script in the tarballs for par2cmdline-turbo, so I
> put that in there to generate it.
> Is there a better way?

Oh, I see now. I didn't realize that par2cmdline-turbo's upstream diverged here and doesn't provide release tarballs that would pre-generate the configure script and include it in the tarball.

Then let's leave it as is and please file an issue to upstream and ask them to consider creating release tarballs which include the configure script to ease the installation experience and improve consistency across various systems.

> 
> > Can you add a comment line here above to explain why this is being done?
> > E.g.: # Renaming binaries and man page to avoid conflicts with the par2cmdline package.
> 
> > Removing %{buildroot}%{_bindir}/par2 can be skipped since it has been renamed to par2turbo in the mv command above.
> 
> Both done :)
> 
> > In the next step, it would make sense to file an issue with the upstream and ask them to rename things there.
> 
> Here: https://github.com/animetosho/par2cmdline-turbo/issues/49

Thanks!
I've followed up and commented there myself.

Could you update the package to version 1.4.0 that has been released in the mean time?
I think we should be in good position to add it to Fedora then.


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