Bug 2283850

Summary: Review Request: rust-rusty_paseto - rust-rusty_paseto
Product: [Fedora] Fedora Reporter: Cristian Le <fedora>
Component: Package ReviewAssignee: Robert-André Mauchin 🐧 <eclipseo>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: decathorpe, eclipseo, package-review
Target Milestone: ---Flags: eclipseo: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://crates.io/crates/rusty_paseto
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-07-05 10:17:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2283851    
Bug Blocks: 2283849    
Attachments:
Description Flags
The .spec file difference from Copr build 7504977 to 7525219 none

Description Cristian Le 2024-05-29 18:11:28 UTC
Spec URL: https://github.com/LecrisUT/rusty_parserk-paseto-rpmspec/raw/6af57bdf59c2f18ad3641b9b606efc8881a9a096/rust-rusty_paseto/rust-rusty_paseto.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/LecrisUT-rusty_parserk-paseto-rpmspec-main/fedora-rawhide-x86_64/7501925-rust-rusty_paseto/rust-rusty_paseto-0.7.0-1.fc41.src.rpm
Description: Dependency for `atuin`
Fedora Account System Username: lecris

rust2rpm.toml
```toml
[[package.extra-patches]]
comments = [
    "Remove example and patch dependencies",
]
file = "rust-rusty_paseto-0.7.0-Patch_dependencies.diff"
number = 10

[scripts.prep]
post = [
    "# Remove examples",
    "rm -r examples",
]
```

Comment 1 Fedora Review Service 2024-05-29 18:11:42 UTC
There seems to be some problem with the following file.
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/LecrisUT-rusty_parserk-paseto-rpmspec-main/fedora-rawhide-x86_64/7501925-rust-rusty_paseto/rust-rusty_paseto-0.7.0-1.fc41.src.rpm
Fetching it results in a 404 Not Found error.
Please make sure the URL is correct and publicly available.


---
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 2 Cristian Le 2024-05-29 18:15:18 UTC
Spec URL: https://github.com/LecrisUT/rusty_parserk-paseto-rpmspec/raw/3c3f0e08e67ae68a9b35168a1ccf1dd549dd9aee/rust-rusty_paseto/rust-rusty_paseto.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/LecrisUT-rusty_parserk-paseto-rpmspec-main/fedora-rawhide-x86_64/07504901-rust-rusty_paseto/rust-rusty_paseto-0.7.0-1.fc41.src.rpm

rust2rpm.toml
```toml
[[package.extra-patches]]
comments = [
    "Remove example and patch dependencies",
]
file = "rust-rusty_paseto-0.7.0-Patch_dependencies.diff"
number = 10

[scripts.prep]
post = [
    "# Remove examples",
    "rm -r examples",
]
```

Comment 3 Fedora Review Service 2024-05-29 18:18:00 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7504977
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2283850-rust-rusty_paseto/fedora-rawhide-x86_64/07504977-rust-rusty_paseto/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 4 Robert-André Mauchin 🐧 2024-06-02 04:46:52 UTC
- Bump to rusty_paseto = "0.7.1"

-  

# * Remove example and patch dependencies
Patch10:       rust-rusty_paseto-0.6.1-Patch_dependencies.diff

why don't you use rust2rpm -p for this?


rust2rpm  rusty_paseto -p
Downloading rusty_paseto-0.7.1.crate: 100%|
• Generated: rust-rusty_paseto.spec
• Generated: rusty_paseto-fix-metadata.diff

--- rusty_paseto-0.7.1/Cargo.toml	1970-01-01T00:00:01+00:00
+++ rusty_paseto-0.7.1/Cargo.toml	2024-06-02T04:10:47.097553+00:00
@@ -37,10 +37,6 @@
 [lib]
 doctest = true
 
-[[example]]
-name = "actix_identity"
-required-features = ["default"]
-
 [dependencies.aes]
 version = "0.7.5"
 features = ["ctr"]
@@ -71,7 +67,7 @@
 optional = true
 
 [dependencies.erased-serde]
-version = "0.4.5"
+version = "0.4.4"
 optional = true
 
 [dependencies.hex]
@@ -83,7 +79,7 @@
 optional = true
 
 [dependencies.iso8601]
-version = "0.6.1"
+version = ">=0.4.2"
 
 [dependencies.p384]
 version = "0.13.0"
@@ -124,9 +120,6 @@
 version = "1.4.3"
 features = ["zeroize_derive"]
 
-[dev-dependencies.actix-identity]
-version = "0.4.0"
-
 [dev-dependencies.actix-utils]
 version = "3.0.0"
 
@@ -137,7 +130,7 @@
 version = "1.0.45"
 
 [dev-dependencies.erased-serde]
-version = "0.4.5"
+version = "0.4.4"
 
 [dev-dependencies.primes]
 version = "0.3.0"


 - Add the details of the patch:

# Manually created patch for downstream crate metadata changes
# - Remove examples
# - Relax erased-serde to 0.4.4
# - Relax iso8601 to >=0.4.2
Patch:          rusty_paseto-fix-metadata.diff

 - Check line encodings and send a patch upstream:

rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/authentication_key_impl/v1_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/authentication_key_impl/v3_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/authentication_key_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/cipher_text_impl/v1_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/cipher_text_impl/v1_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/cipher_text_impl/v2_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/cipher_text_impl/v3_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/cipher_text_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/encryption_key_impl/v1_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/encryption_key_impl/v3_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/encryption_key_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/mod.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/raw_payload_impl/nist_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/raw_payload_impl/v2_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/raw_payload_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/raw_payload_impl/v_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/tag_impl/nist_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/common/tag_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/key/paseto_nonce_impl/v1_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/key/paseto_nonce_impl/v2_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/key/paseto_nonce_impl/v2_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/key/paseto_nonce_impl/v3_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/key/paseto_nonce_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v1_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v1_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v2_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v2_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v3_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v3_public.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v4_local.rs
rust-rusty_paseto-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/rusty_paseto-0.7.1/src/core/paseto_impl/v4_public.rs


find . -type f -name "*.rs" -exec sed -i 's/\r$//' {} +


Needinfo me then.

Comment 5 Cristian Le 2024-06-03 07:54:14 UTC
Spec URL: https://github.com/LecrisUT/rusty_parserk-paseto-rpmspec/raw/a68b2628e1f4eadbb43696f948bd33d691f8d86f/rust-rusty_paseto/rust-rusty_paseto.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/LecrisUT-rusty_parserk-paseto-rpmspec-main/fedora-rawhide-x86_64/07523788-rust-rusty_paseto/rust-rusty_paseto-0.7.1-1.fc41.src.rpm

rust2rpm.toml
```toml
[[package.extra-patches]]
comments = [
    "Patch Cargo.toml:",
    "- Remove examples",
    "- Relax erased-serde to 0.4.4",
    "- Relax iso8601 to >=0.4.2",
]
file = "rust-rusty_paseto-0.7.1-Patch_dependencies.diff"
number = 10

[scripts.prep]
post = [
    "# Remove examples",
    "rm -r examples",
]
```

---

> why don't you use rust2rpm -p for this?

I do, but I just copy the contents to extra-patches so that it is more easily reproducible, and it doesn't affect the spec file itself, so it can be placed in either patch.

> Check line encodings and send a patch upstream

Thanks, PR sent: https://github.com/rrrodzilla/rusty_paseto/pull/41
Should we fix them in the spec file for 0.7.1, or keep it like this since it only affects the -devel package?

Comment 6 Fabio Valentini 2024-06-03 10:09:34 UTC
> I do, but I just copy the contents to extra-patches so that it is more easily reproducible, and it doesn't affect the spec file itself, so it can be placed in either patch.

I would strongly recommend *not* to do this: It gives you only additional work for zero benefits.

Patches for Cargo.toml (i.e. with "rust2rpm -p") almost always need to be rebased for every version.
So the only thing you get is divergence from other Rust packages and additional manual work every time (renaming files and removing the generated patch from the spec file).

You can save comments that apply to a manually created Cargo.toml patch with the "package.cargo-toml-patch-comments" setting. I would recommend to use this instead of abusing the "extra-patches" setting for this, which is *not* what it is intended to do. (I should know, I implemented this feature in rust2rpm.)

Comment 7 Cristian Le 2024-06-03 10:18:30 UTC
(In reply to Fabio Valentini from comment #6)
> > I do, but I just copy the contents to extra-patches so that it is more easily reproducible, and it doesn't affect the spec file itself, so it can be placed in either patch.
> 
> I would strongly recommend *not* to do this: It gives you only additional work for zero benefits.

Fair point, I will change it moving forward

Comment 8 Fedora Review Service 2024-06-03 16:46:42 UTC
Created attachment 2036167 [details]
The .spec file difference from Copr build 7504977 to 7525219

Comment 9 Fedora Review Service 2024-06-03 16:46:44 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7525219
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2283850-rust-rusty_paseto/fedora-rawhide-x86_64/07525219-rust-rusty_paseto/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 10 Robert-André Mauchin 🐧 2024-06-12 21:02:09 UTC
> Should we fix them in the spec file for 0.7.1, or keep it like this since it only affects the -devel package?

Apply the patch now.

And please use Fabio's recommendation for patching.

Package approved otherwise.

Comment 11 Cristian Le 2024-07-04 09:26:54 UTC
Spec URL: https://github.com/LecrisUT/rusty_parserk-paseto-rpmspec/raw/d43daf5f4c9c04d9fadf9bd63b60cac3cbc9892a/rust-rusty_paseto/rust-rusty_paseto.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/LecrisUT-rusty_parserk-paseto-rpmspec-main/fedora-rawhide-x86_64/07706811-rust-rusty_paseto/rust-rusty_paseto-0.7.1-1.fc41.src.rpm

rust2rpm.toml
```toml
[package]
cargo-toml-patch-comments = [
    "- Remove examples",
    "- Relax erased-serde to 0.4.4",
    "- Relax iso8601 to >=0.4.2",
]

[scripts.prep]
post = [
    "# Remove examples",
    "rm -r examples",
    "# Fix line-ending, remove in next version",
    "# https://github.com/rrrodzilla/rusty_paseto/pull/41",
    "find . -type f -name '*.rs' -exec sed -i 's/\\r$//' {} +",
]
```

rusty_paseto-fix-metadata.diff
```
--- rusty_paseto-0.7.1/Cargo.toml	1970-01-01T00:00:01+00:00
+++ rusty_paseto-0.7.1/Cargo.toml	2024-07-04T09:04:01.576566+00:00
@@ -37,10 +37,6 @@
 [lib]
 doctest = true
 
-[[example]]
-name = "actix_identity"
-required-features = ["default"]
-
 [dependencies.aes]
 version = "0.7.5"
 features = ["ctr"]
@@ -71,7 +67,7 @@
 optional = true
 
 [dependencies.erased-serde]
-version = "0.4.5"
+version = "0.4.4"
 optional = true
 
 [dependencies.hex]
@@ -83,7 +79,7 @@
 optional = true
 
 [dependencies.iso8601]
-version = "0.6.1"
+version = ">=0.4.2"
 
 [dependencies.p384]
 version = "0.13.0"
@@ -124,9 +120,6 @@
 version = "1.4.3"
 features = ["zeroize_derive"]
 
-[dev-dependencies.actix-identity]
-version = "0.4.0"
-
 [dev-dependencies.actix-utils]
 version = "3.0.0"
 
@@ -137,7 +130,7 @@
 version = "1.0.45"
 
 [dev-dependencies.erased-serde]
-version = "0.4.5"
+version = "0.4.4"
 
 [dev-dependencies.primes]
 version = "0.3.0"

```

---

I've added the EOL patch as a %prep step

Comment 12 Cristian Le 2024-07-04 11:12:17 UTC
[fedora-review-service-build]

Comment 13 Fedora Admin user for bugzilla script actions 2024-07-05 09:50:23 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-rusty_paseto

Comment 14 Fedora Update System 2024-07-05 10:12:35 UTC
FEDORA-2024-522ce3054b (rust-rusty_paseto-0.7.1-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-522ce3054b

Comment 15 Fedora Update System 2024-07-05 10:17:27 UTC
FEDORA-2024-522ce3054b (rust-rusty_paseto-0.7.1-1.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 16 Fabio Valentini 2024-07-05 11:37:17 UTC
Note: This package has a broken dependency, and should probably not have been approved in this state:

Problem 1: conflicting requests
  - nothing provides (crate(chacha20poly1305/default) >= 0.10.1 with crate(chacha20poly1305/default) < 0.11.0~) needed by rust-rusty_paseto+chacha20poly1305-devel-0.7.1-1.fc41.noarch from @commandline
 Problem 2: package rust-rusty_paseto+v2_local-devel-0.7.1-1.fc41.noarch from @commandline requires crate(rusty_paseto/chacha20poly1305) = 0.7.1, but none of the providers can be installed
  - conflicting requests
  - nothing provides (crate(chacha20poly1305/default) >= 0.10.1 with crate(chacha20poly1305/default) < 0.11.0~) needed by rust-rusty_paseto+chacha20poly1305-devel-0.7.1-1.fc41.noarch from @commandline

The chacha20poly1305 crate is not yet packaged for Fedora, so the "v2_local" feature of rusty_paseto cannot be currently installed or used.

Comment 17 Cristian Le 2024-07-05 11:47:05 UTC
Oh, these did not get picked up a build time? Probably those would be seen in the Fedora review service. Good news is that it was picked up by `installability` (would be nice to have some of those tests run here). I only need `v3` and `v4`, so how would you recommend to patch this, is `features.hide` enough, or should also delete that dependency/feature?

Comment 18 Fabio Valentini 2024-07-05 11:50:36 UTC
> Oh, these did not get picked up a build time?

No, v2_local seems to be an off-by-default feature.

> Probably those would be seen in the Fedora review service.

They should have been. But the service seems to sometimes have trouble with installability checks ...

> I only need `v3` and `v4`, so how would you recommend to patch this, is `features.hide` enough, or should also delete that dependency/feature?

I think in this case a setting like this should do it:

```
[features]
hide = ["v2_local", "chacha20poly1305"]
```

Comment 19 Cristian Le 2024-07-05 13:03:49 UTC
Updated at: https://bodhi.fedoraproject.org/updates/FEDORA-2024-c7dcff66c7