Bug 2292542 - Review Request: rust-dlopen2 - Library for opening and operating on dynamic link libraries
Summary: Review Request: rust-dlopen2 - Library for opening and operating on dynamic l...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/dlopen2
Whiteboard:
Depends On: 2292543
Blocks: 2292541
TreeView+ depends on / blocked
 
Reported: 2024-06-15 23:04 UTC by Jonathan Steffan
Modified: 2024-07-23 02:30 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-07-23 02:30:31 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)

Description Jonathan Steffan 2024-06-15 23:04:35 UTC
Spec URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2.spec
SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2-0.7.0-1.fc39/rust-dlopen2-0.7.0-1.fc40.src.rpm
Description: Library for opening and operating on dynamic link libraries (also known
as shared objects or shared libraries).
Fedora Account System Username: jsteffan

Comment 1 Fedora Review Service 2024-06-15 23:06:43 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7617795
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2292542-rust-dlopen2/fedora-rawhide-x86_64/07617795-rust-dlopen2/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 2 Jonathan Steffan 2024-07-13 18:56:48 UTC
https://bodhi.fedoraproject.org/updates/FEDORA-2024-dc0b277171 for the build dep.

Comment 4 Fabio Valentini 2024-07-15 15:20:52 UTC
There's some messages from rpmlint:

> rust-dlopen2-devel.noarch: E: wrong-script-end-of-line-encoding /usr/share/cargo/registry/dlopen2-0.7.0/src/raw/unix.rs
> rust-dlopen2-devel.noarch: W: wrong-file-end-of-line-encoding /usr/share/cargo/registry/dlopen2-0.7.0/README.md

Can you check whether these files indeed have wrong end-of-line encoding? If yes, please fix them with sed or dos2unix (and possibly submit a fix for the issue to upstream).

Comment 5 Jonathan Steffan 2024-07-15 16:49:19 UTC
Odd. I don't see that in a repo checkout:

jon@dahome:~/Development/dlopen2$ file README.md dlopen2/src/raw/unix.rs
README.md:               C source, ASCII text
dlopen2/src/raw/unix.rs: a [allow(clippy::let_unit_value)] script, ASCII text executable

jon@dahome:~/Development/dlopen2$ dos2unix -ih README.md dlopen2/src/raw/unix.rs 
     DOS    UNIX     MAC  BOM       TXTBIN  FILE
       0     107       0  no_bom    text    README.md
       0     140       0  no_bom    text    dlopen2/src/raw/unix.rs

Comment 6 Jonathan Steffan 2024-07-15 17:11:02 UTC
The crate does have the issue.

<mock-chroot> sh-5.2# file README.md 
README.md: C source, ASCII text, with CRLF line terminators
<mock-chroot> sh-5.2# file src/raw/unix.rs 
src/raw/unix.rs: a [allow(clippy::let_unit_value)] script, ASCII text executable, with CRLF line terminators

Filed https://github.com/OpenByteDev/dlopen2/issues/13 and updated to fixup in %prep.

Spec URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2.spec
SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2-0.7.0-1.fc39/rust-dlopen2-0.7.0-1.fc40.src.rpm

Comment 7 Fedora Review Service 2024-07-16 16:50:20 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7738891
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2292542-rust-dlopen2/fedora-rawhide-x86_64/07738891-rust-dlopen2/fedora-review/review.txt

Found issues:

- Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/rust-dlopen2/diff.txt
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/

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 8 Jonathan Steffan 2024-07-16 19:00:58 UTC
Fixed any source issues. I now build the srpms in an isolated _sourcedir. Sigh.

Spec URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2.spec
SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2-0.7.0-1.fc39/rust-dlopen2-0.7.0-1.fc40.src.rpm

[fedora-review-service-build]

Comment 9 Ben Beasley 2024-07-17 20:55:51 UTC
I feel like it would be better to run the tests that can be run rather than skipping everything. You just have to package rust-current_platform (which I’m happy to review, and should be trivial), and then you can write something like this in a rust2rpm.toml:

[tests]
comments = [
  "Skipped tests require an example shared library, sources for which are not included in the crate",
]
skip-exact = true
skip = [
  "example_address_info",
  "open_play_close_raw",
  "open_play_close_symbor",
  "open_play_close_symbor_api",
  "open_play_close_wrapper_api",
]

(I did test the above.)

Comment 10 Jonathan Steffan 2024-07-17 22:31:34 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=2298528 I assume this needs to be installed on the machine that is running the rust2rpm with the rust2rpm.toml definition?

Comment 11 Ben Beasley 2024-07-17 22:37:28 UTC
(In reply to Jonathan Steffan from comment #10)
> https://bugzilla.redhat.com/show_bug.cgi?id=2298528 I assume this needs to
> be installed on the machine that is running the rust2rpm with the
> rust2rpm.toml definition?

Like any unpackaged dependency, it needs to be preinstalled in the mock chroot. There are a few ways to handle this, but something like

$ mock -r fedora-rawhide-x86_64 --clean
$ mock -r fedora-rawhide-x86_64 -i /path/to/built/dependency/*.noarch.rpm
$ fedpkg --release rawhide mockbuild --no-clean

or,

$ fedpkg --release rawhide mockbuild --no-clean --no-cleanup-after -- --postinstall

Or you can test in COPR.

Running rust2rpm just generates a spec file; it doesn’t require the package’s dependencies to be installed.

Comment 12 Jonathan Steffan 2024-07-17 22:56:45 UTC
Used the referenced rust2rpm.toml config (to be added to distgit) to generate a new spec that has the specific tests disabled.

Spec URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2.spec
SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-dlopen2-0.7.0-1.fc39/rust-dlopen2-0.7.0-1.fc40.src.rpm

[fedora-review-service-build]

Comment 13 Fabio Valentini 2024-07-22 11:42:15 UTC
Looks good to me now, thank you!

Please consider adding the "--keepdate" flag to dos2unix to preserve modification time of these files.

===

Package was generated with rust2rpm, simplifying the review.

✅ package contains only permissible content
✅ package builds and installs without errors on rawhide
🫤 test suite is run and all unit tests pass (some tests disabled with justification)
✅ latest version of the crate is packaged
✅ license matches upstream specification and is acceptable for Fedora
🫤 license file is included with %license in %files (included manually from upstream repo)
✅ package complies with Rust Packaging Guidelines

Package APPROVED.

===

Recommended post-import rust-sig tasks:

- set up package on release-monitoring.org:
  project: $crate
  homepage: https://crates.io/crates/$crate
  backend: crates.io
  version scheme: semantic
  version filter: alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

- add @rust-sig with "commit" access as package co-maintainer
  (should happen automatically)

- set bugzilla assignee overrides to @rust-sig (optional)

- track package in koschei for all built branches
  (should happen automatically once rust-sig is co-maintainer)

Comment 14 Fedora Admin user for bugzilla script actions 2024-07-23 02:09:36 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-dlopen2

Comment 15 Fedora Update System 2024-07-23 02:27:13 UTC
FEDORA-2024-f49d44988f (rust-dlopen2-0.7.0-2.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-f49d44988f

Comment 16 Fedora Update System 2024-07-23 02:30:31 UTC
FEDORA-2024-f49d44988f (rust-dlopen2-0.7.0-2.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.


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