Bug 2478126 - Review Request: peel - streaming, resumable, space-efficient HTTP archive extractor
Summary: Review Request: peel - streaming, resumable, space-efficient HTTP archive ext...
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2026-05-16 06:47 UTC by Andrew Gouin
Modified: 2026-06-13 05:26 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
decathorpe: fedora-review?


Attachments (Terms of Use)

Description Andrew Gouin 2026-05-16 06:47:15 UTC
Spec URL: https://github.com/agouin/peel/raw/refs/tags/v0.6.14/packaging/fedora/peel.spec
SRPM URL: https://packages.redhat.com/api/pulp-content/public-copr/agouin/peel/fedora-rawhide-x86_64/Packages/p/peel-0.6.14-1.fc45.src.rpm

Source: https://github.com/agouin/peel

Description:
peel downloads compressed archives over HTTP and streams them through
decompression in a single pass, hole-punching the compressed bytes from
disk as the decoder advances. A SIGKILL mid-extraction resumes exactly
where it left off, byte-identical to a clean run.

Supports tar / tar.zst / tar.xz / tar.lz4 / tar.gz / tar.bz2 / zip /
7z / rar (rar5 + rar3/rar4), plus the raw single-stream forms of those
codecs.

Fedora Account System Username: agouin

Successful COPR builds (Fedora 42, 43, 44, rawhide; x86_64 + aarch64):
https://copr.fedorainfracloud.org/coprs/agouin/peel/build/10465241/

This is my first package submission :) I am looking for a sponsor.

Comment 2 Fabio Valentini 2026-06-12 15:37:08 UTC
Some more comments after discussion on Matrix:

It looks like your spec file is based on very old (Rust) packaging practices. Some of the things done in the linked .spec file are quite outdated, and are now covered by either "SHOULD NOT" or "MUST NOT" rules in the Rust packaging guidelines:

https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/

I would recommend to take a look and make changes based on the template for packages like this:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_non_crate_rust_project

Issues include:

1. The package SHOULD use rpmautospec instead of managing Release and %changelog manually.

https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_release_tag
https://docs.fedoraproject.org/en-US/packaging-guidelines/#changelogs

2. The Source URL is not in line with guidelines for tarballs from GitHub:

https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_git_tags

Should be: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

3. The package MUST NOT specify BuildRequires for Rust crates manually:

> packages for projects that build Rust code with cargo MUST use dynamically generated BuildRequires

https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_dynamically_generated_buildrequires_for_crate_dependencies

3. The license tag does not reflect statically linked Rust dependencies:

https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_license_tags

4. This __brp_mangle_shebangs hack should not be necessary:

> %global __brp_mangle_shebangs_exclude_from ^.*\.rs$

I'm not sure why you added this, but the package doesn't install any *.rs files, so this should be entirely unnecessary. I'm not sure why this is present.

Comment 3 Andrew Gouin 2026-06-13 05:26:06 UTC
Thank you for the feedback! I've updated it now in line with the packaging guidelines and your pointers.

Spec URL: https://github.com/agouin/peel/raw/refs/tags/v0.7.11/packaging/fedora/peel.spec
SRPM URL: https://packages.redhat.com/api/pulp-content/public-copr/agouin/peel/fedora-rawhide-x86_64/Packages/p/peel-0.7.11-1.fc45.src.rpm


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