Bug 2283850 - Review Request: rust-rusty_paseto - rust-rusty_paseto
Summary: Review Request: rust-rusty_paseto - rust-rusty_paseto
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/rusty_paseto
Whiteboard:
Depends On: 2283851
Blocks: 2283849
TreeView+ depends on / blocked
 
Reported: 2024-05-29 18:11 UTC by Cristian Le
Modified: 2024-07-05 13:03 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-07-05 10:17:27 UTC
Type: ---
Embargoed:
eclipseo: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 7504977 to 7525219 (823 bytes, patch)
2024-06-03 16:46 UTC, Fedora Review Service
no flags Details | Diff

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


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