Bug 2332914 - Review Request: quickemu - Wrapper around QEMU/KVM for rapid desktop VM spin-up and management
Summary: Review Request: quickemu - Wrapper around QEMU/KVM for rapid desktop VM spin-...
Keywords:
Status: CLOSED COMPLETED
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: https://github.com/quickemu-project/%...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-12-17 21:27 UTC by Alex Haydock
Modified: 2025-06-19 19:45 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-06-19 19:45:10 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8405082 to 8844281 (3.44 KB, patch)
2025-04-01 12:59 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8844281 to 8882878 (4.85 KB, patch)
2025-04-09 21:56 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8882878 to 8890959 (2.15 KB, patch)
2025-04-11 11:49 UTC, Fedora Review Service
no flags Details | Diff

Description Alex Haydock 2024-12-17 21:27:34 UTC
Spec URL: https://github.com/alexhaydock/quickemu-fedora/blob/main/quickemu-fedora.spec
SRPM URL: https://copr.fedorainfracloud.org/coprs/alexhaydock/quickemu/build/8404445/
Description: Quickemu is a bash-based wrapper around QEMU/KVM for rapidly spinning up desktop VMs for testing or general usage
Fedora Account System Username: alexhaydock

Hi!

This is my first package for Fedora and I'm looking for a sponsor.

I'm a security engineer / security-focused sysadmin with 10+ years of experience deploying and maintaining Linux-based infrastructure, and experience of Fedora since Fedora 14.

I'm looking to start packaging software for Fedora and this is a simple first package to begin with. It is written in bash and essentially wraps around the native QEMU featureset to make configuring and deploying local desktop VMs with graphical acceleration extremely convenient. It has a dedicated community and sees reasonably active development.

I'm happy to maintain this package in Fedora myself, or pass it on to someone else. In fact, learning the packaging and maintainership flow of Fedora is the primary motivation for attempting to package this software - aside from the fact that I do use it frequently myself.

My hope is to be able to package this simple app before moving onto more complicated applications. I have some security tooling in mind which I'd like to take through the whole Fedora > EPEL > CentOS > RHEL flow if possible. Starting simple with this package made more sense though, as the first security tool I'm looking to package involves more complex concepts such as user management and shipping SELinux policies.

I am not the upstream maintainer of this package, but if the package is accepted into Fedora I will submit all the relevant information to them and PRs to update the documentation etc to make it clear that it is now natively packaged.

Would appreciate any help from any packagers out there so I can start trying to contribute to Fedora :)

Comment 1 Fedora Review Service 2024-12-17 21:27:45 UTC
Cannot find any valid SRPM URL for this ticket. Common causes are:

- You didn't specify `SRPM URL: ...` in the ticket description
  or any of your comments
- The URL schema isn't HTTP or HTTPS
- The SRPM package linked in your URL doesn't match the package name specified
  in the ticket summary


---
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 Alex Haydock 2024-12-18 00:11:03 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-rawhide-x86_64/08404445-quickemu/quickemu-fedora.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-rawhide-x86_64/08404445-quickemu/quickemu-4.9.6-3.fc42.src.rpm

Linking to a specific Spec and SRPM from one of the Copr runs in the hope of satisfying the bot above, though the Copr repo is fully functional and building for every available Fedora target on account of this being a `noarch` package.

Comment 3 Fedora Review Service 2024-12-18 00:17:13 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8405070
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2332914-quickemu/fedora-rawhide-x86_64/08405070-quickemu/fedora-review/review.txt

Found issues:

- quickemu-fedora.spec should be quickemu.spec 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_spec_file_naming

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 5 Fedora Review Service 2024-12-18 00:32:09 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8405082
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2332914-quickemu/fedora-rawhide-x86_64/08405082-quickemu/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 6 Fabio Valentini 2025-03-31 17:45:36 UTC
It looks like the COPR links above have expired, can you reupload please?

Comment 7 Alex Haydock 2025-03-31 18:05:01 UTC
Hi Fabio, thanks for taking a look! :)

Spec URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-42-x86_64/08832097-quickemu/quickemu.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-42-x86_64/08832097-quickemu/quickemu-4.9.7-5.fc42.patched.src.rpm

I rebuilt this since I posted, using the latest upstream 4.9.7 code. It also builds (tested and working nicely on a daily basis) on F42.

There are a few things I know probably need resolving before this could be accepted though.
* Patch1 is based on upstream (merged) PR which fixes an active bug in F41+ but hasn't made it to a release yet: https://github.com/quickemu-project/quickemu/pull/1565
* After writing the SPEC above I found in the patching guidelines that I need to add a comment referencing where the patch exists upstream
* With the above in mind, I probably can't include Patch2, 3, or 4. They're all based on this PR I authored, but it hasn't been accepted upstream yet: https://github.com/quickemu-project/quickemu/pull/1579
* I probably also need to reset the package versioning to 4.9.7-1 as the changelog includes a bunch of my own experimentation while learning how to properly patch SPEC files.

Would definitely appreciate any thoughts on possible next steps assuming I also fix the above issues!

Thanks,
Alex

Comment 8 Fedora Review Service 2025-04-01 12:59:47 UTC
Created attachment 2082923 [details]
The .spec file difference from Copr build 8405082 to 8844281

Comment 9 Fedora Review Service 2025-04-01 12:59:49 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8844281
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2332914-quickemu/fedora-rawhide-x86_64/08844281-quickemu/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 10 Fabio Valentini 2025-04-09 12:51:06 UTC
> Spec URL:
> https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/
> fedora-42-x86_64/08832097-quickemu/quickemu.spec
> SRPM URL:
> https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/
> fedora-42-x86_64/08832097-quickemu/quickemu-4.9.7-5.fc42.patched.src.rpm

Thanks for the update - I'll take another look now!

> I rebuilt this since I posted, using the latest upstream 4.9.7 code. It also
> builds (tested and working nicely on a daily basis) on F42.

Great!

> There are a few things I know probably need resolving before this could be
> accepted though.
> * Patch1 is based on upstream (merged) PR which fixes an active bug in F41+
> but hasn't made it to a release yet:
> https://github.com/quickemu-project/quickemu/pull/1565

That's fine, just put a quick comment + a link to this PR (or the commit corresponding to the merged PR) alongside Patch1.

> * After writing the SPEC above I found in the patching guidelines that I
> need to add a comment referencing where the patch exists upstream
> * With the above in mind, I probably can't include Patch2, 3, or 4. They're
> all based on this PR I authored, but it hasn't been accepted upstream yet:
> https://github.com/quickemu-project/quickemu/pull/1579

That's fine too. A pull request that has been sent to upstream is a perfectly fine reference for local patches.
Just document what those patches do and / or why they are required, and include a link to the PR itself in the spec file.

> * I probably also need to reset the package versioning to 4.9.7-1 as the
> changelog includes a bunch of my own experimentation while learning how to
> properly patch SPEC files.

This will happen automatically when you import the package, assuming you don't import your whole git history too :)

================================================================================

There's some other issues with the package I see:

0. I would recommend to consistently indent tag values, I usually use 16 spaces because that leaves enough room for all common tags names.
You're currently using a mix of 12 spaces / three tabs and no indentation at all, which looks a bit strange, but this is a matter of "style" (or "taste"), so you there is no hard requirement for this.

1. You will need to drop the ".patched" suffix for %autorelease at some point, but at the very latest before importing the package to Fedora.

2. The "Group" tag is obsolete and SHOULD NOT be used:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections
You can just drop it.

3. The Source0 URL doesn't use the recommended format for GitHub tarballs. They are documented here:
https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_git_tags

It would look like this in your case:
Source:  %{url}/archive/%{version}/%{name}-%{version}.tar.gz

4. Since all your patches are upstream commits and / or PRs, you could just reference them as such:

Patch:          https://github.com/quickemu-project/quickemu/pull/1565.patch
Patch:          https://github.com/quickemu-project/quickemu/pull/1579.patch

This way their "upstream status" is immediately documented, and you just need to add some comments why you include them.

(GitHub provides actual .patch files under those URLs if you just attach ".patch" to a Pull Request URL, you can download them with "spectool -g" as usual.)

5. I don't understand what the sha256 sum thing here is about:

> # Define upstream SHA256SUM for the .tar.gz matching this release version
> #   curl -fsSL https://github.com/quickemu-project/quickemu/archive/refs/tags/4.9.7.tar.gz -o - 2>/dev/null | sha256sum
> %define      SHA256SUM0 38a93301a2b233bc458c62d1228d310a9c29c63c10d008c2905029ca66188606

The checksum of source archives will be determined and checked before uploading them to Fedora servers, and every time they are used for builds - so there is no need to do this manually. You can drop the manual checksum creation and checking entirely.

6. All Requires and Recommends MUST be resolvable from Fedora repositories:

> # Based on: https://github.com/quickemu-project/quickemu/wiki/01-Installation#install-requirements-on-fedora
> # The `zsync` package is listed under Recommends as it is no longer packaged in mainline Fedora

So you will need to drop "Recommends: zsync" if it is no longer available from Fedora:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_package_dependencies

7. "%global debug_package %{nil}"

This should not be necessary. Your package contains no ELF objects with debuginfo, so it's obvious that there *can* be no debuginfo.

Add this instead (somewhere between the "Patch" lines and "Requires":

```
BuildArch:      noarch
```

This means that your package has only architecture-independent content and metadata, and causes generation of debuginfo to be skipped.

8. Use best practices for %prep scriptlet.

> %prep
> # Validate our checksum
> echo "%SHA256SUM0  %SOURCE0" | sha256sum -c -
> %setup -q
>
> %autopatch

This looks very strange. You should be able to just replace this with:

```
%prep
%autosetup -p1
```

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

(It's a bit strange that this page mentions %autosetup as an "alternative" - it really should be the default for new packages nowadays.)

Comment 11 Alex Haydock 2025-04-09 21:38:33 UTC
(In reply to Fabio Valentini from comment #10)
> > Spec URL:
> > https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/
> > fedora-42-x86_64/08832097-quickemu/quickemu.spec
> > SRPM URL:
> > https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/
> > fedora-42-x86_64/08832097-quickemu/quickemu-4.9.7-5.fc42.patched.src.rpm
> 
> Thanks for the update - I'll take another look now!

Thanks, I appreciate the time you've taken on this one.

> 
> > I rebuilt this since I posted, using the latest upstream 4.9.7 code. It also
> > builds (tested and working nicely on a daily basis) on F42.
> 
> Great!
> 
> > There are a few things I know probably need resolving before this could be
> > accepted though.
> > * Patch1 is based on upstream (merged) PR which fixes an active bug in F41+
> > but hasn't made it to a release yet:
> > https://github.com/quickemu-project/quickemu/pull/1565
> 
> That's fine, just put a quick comment + a link to this PR (or the commit
> corresponding to the merged PR) alongside Patch1.

Done

> 
> > * After writing the SPEC above I found in the patching guidelines that I
> > need to add a comment referencing where the patch exists upstream
> > * With the above in mind, I probably can't include Patch2, 3, or 4. They're
> > all based on this PR I authored, but it hasn't been accepted upstream yet:
> > https://github.com/quickemu-project/quickemu/pull/1579
> 
> That's fine too. A pull request that has been sent to upstream is a
> perfectly fine reference for local patches.
> Just document what those patches do and / or why they are required, and
> include a link to the PR itself in the spec file.

Also done

> 
> > * I probably also need to reset the package versioning to 4.9.7-1 as the
> > changelog includes a bunch of my own experimentation while learning how to
> > properly patch SPEC files.
> 
> This will happen automatically when you import the package, assuming you
> don't import your whole git history too :)

Easy enough :) thanks!

> 
> =============================================================================
> ===
> 
> There's some other issues with the package I see:
> 
> 0. I would recommend to consistently indent tag values, I usually use 16
> spaces because that leaves enough room for all common tags names.
> You're currently using a mix of 12 spaces / three tabs and no indentation at
> all, which looks a bit strange, but this is a matter of "style" (or
> "taste"), so you there is no hard requirement for this.

Ah this is definitely a casualty of piecing together various tutorials from around the web to make this one SPEC. Your 16-space style makes a lot of sense to me so I've adopted that now.

> 
> 1. You will need to drop the ".patched" suffix for %autorelease at some
> point, but at the very latest before importing the package to Fedora.

Done for now, but can revisit when importing the package anyway

> 
> 2. The "Group" tag is obsolete and SHOULD NOT be used:
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections
> You can just drop it.

Removed

> 
> 3. The Source0 URL doesn't use the recommended format for GitHub tarballs.
> They are documented here:
> https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
> #_git_tags
> 
> It would look like this in your case:
> Source:  %{url}/archive/%{version}/%{name}-%{version}.tar.gz

Fixed. I see you've used %{version} there where the docs page uses %{gittag} so I guess it relies on the assumption that the upstream project will continue to use release tags that match version numbers but if they ever stop then I suppose it'll be obvious quite quickly.

> 
> 4. Since all your patches are upstream commits and / or PRs, you could just
> reference them as such:
> 
> Patch:          https://github.com/quickemu-project/quickemu/pull/1565.patch
> Patch:          https://github.com/quickemu-project/quickemu/pull/1579.patch
> 
> This way their "upstream status" is immediately documented, and you just
> need to add some comments why you include them.
> 
> (GitHub provides actual .patch files under those URLs if you just attach
> ".patch" to a Pull Request URL, you can download them with "spectool -g" as
> usual.)
> 

This is super useful, thanks! I had forgotten about this feature of GitHub.

> 5. I don't understand what the sha256 sum thing here is about:
> 
> > # Define upstream SHA256SUM for the .tar.gz matching this release version
> > #   curl -fsSL https://github.com/quickemu-project/quickemu/archive/refs/tags/4.9.7.tar.gz -o - 2>/dev/null | sha256sum
> > %define      SHA256SUM0 38a93301a2b233bc458c62d1228d310a9c29c63c10d008c2905029ca66188606
> 
> The checksum of source archives will be determined and checked before
> uploading them to Fedora servers, and every time they are used for builds -
> so there is no need to do this manually. You can drop the manual checksum
> creation and checking entirely.
> 

This makes sense. I think what was confusing me here is that in the Copr method there's not really anything in between the upstream GitHub and final package to do that validation, so in theory the release could be changed upstream and future package builds would just blindly incorporate any of those changes.

Sounds like that's all provided for when a package is imported into Fedora proper.

> 6. All Requires and Recommends MUST be resolvable from Fedora repositories:
> 
> > # Based on: https://github.com/quickemu-project/quickemu/wiki/01-Installation#install-requirements-on-fedora
> > # The `zsync` package is listed under Recommends as it is no longer packaged in mainline Fedora
> 
> So you will need to drop "Recommends: zsync" if it is no longer available
> from Fedora:
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> #_package_dependencies

That's fair. It's in RPMFusion so I left it but removed now.

Is there a process for documenting where an upstream dependency can't be satisfied in the Fedora package?

zsync in this project is really only used as part of the download tool that simplifies downloading images to boot VMs with. It's likely only be useful to people who regularly download the diffs of Ubuntu daily build ISOs (so probably a very tiny subset of users). But it still feels like maybe I should document it somewhere?

Alternatively I could just make it clear this is the case when I update the upstream docs after the package is imported into Fedora.

> 
> 7. "%global debug_package %{nil}"
> 
> This should not be necessary. Your package contains no ELF objects with
> debuginfo, so it's obvious that there *can* be no debuginfo.
> 
> Add this instead (somewhere between the "Patch" lines and "Requires":
> 
> ```
> BuildArch:      noarch
> ```
> 
> This means that your package has only architecture-independent content and
> metadata, and causes generation of debuginfo to be skipped.

Makes sense! Removed, thanks

> 
> 8. Use best practices for %prep scriptlet.
> 
> > %prep
> > # Validate our checksum
> > echo "%SHA256SUM0  %SOURCE0" | sha256sum -c -
> > %setup -q
> >
> > %autopatch
> 
> This looks very strange. You should be able to just replace this with:
> 
> ```
> %prep
> %autosetup -p1
> ```
> 
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_autosetup
> 
> (It's a bit strange that this page mentions %autosetup as an "alternative" -
> it really should be the default for new packages nowadays.)

Also fixed, thanks

Thanks again for reviewing!

Comment 13 Fedora Review Service 2025-04-09 21:56:30 UTC
Created attachment 2084144 [details]
The .spec file difference from Copr build 8844281 to 8882878

Comment 14 Fedora Review Service 2025-04-09 21:56:33 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8882878
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2332914-quickemu/fedora-rawhide-x86_64/08882878-quickemu/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 15 Fabio Valentini 2025-04-11 09:44:00 UTC
Taking another look now, thanks for the update. Will post review in a separate comment to avoid wall-of-text :)

> Ah this is definitely a casualty of piecing together various tutorials from around the web to make this one SPEC. Your 16-space style makes a lot of sense to me so I've adopted that now.

Yeah there's sadly a lot of outdated or obsolete tutorials and docs for RPM packaging on the web :(
We're trying to keep at least the official docs up-to-date, but we're not always succeeding there, either.

> Fixed. I see you've used %{version} there where the docs page uses %{gittag} so I guess it relies on the assumption that the upstream project will continue to use release tags that match version numbers but if they ever stop then I suppose it'll be obvious quite quickly.

Yeah, when the format of the git tags matches the version string, you can just use the version string directly.
Some projects prefix their release tags with a "v" character, then you can just use "v%{version}" in the URL. No need to do something more complicated. :)

> Sounds like that [checksumming upstream sources] is all provided for when a package is imported into Fedora proper.

Yes, the checksum is determined *once* from the copy of the source tarball that you upload to Fedora servers, and then all subsequent uses of that tarball need to match that checksum.

> Is there a process for documenting where an upstream dependency can't be satisfied in the Fedora package?
> Alternatively I could just make it clear this is the case when I update the upstream docs after the package is imported into Fedora.

In this case I would just put a comment in the spec file that this optional dependency is not available from the Fedora repositories. Documenting it upstream might also be nice, i.e. something like "zsync is only available from third-party repositories, you will need to enable RPMFusion repos for your Fedora version and install zsync from there, if you want it".

Comment 16 Fabio Valentini 2025-04-11 09:57:48 UTC
Package looks almost ready now, I see only two minor issues that remain (which I didn't notice last time, sorry!):

- Use the -p flag for "install" to preserve file timestamps (i.e. use `install -Dpm0644` or `install -Dpm0755`).
- The "quickemu_conf.5" man page is installed to the wrong folder, it is installed to "man1", but should be in "man5".

Comment 17 Alex Haydock 2025-04-11 11:38:50 UTC
Thanks again for the review!

Have added a comment about the zsync package in the spec and can add one upstream too.

Fixed the other two issues you spotted and added those quirks into my Packaging Notes to pay attention to next time. :)

Spec URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-42-x86_64/08890901-quickemu/quickemu.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/alexhaydock/quickemu/fedora-42-x86_64/08890901-quickemu/quickemu-4.9.7-11.fc42.src.rpm

Comment 18 Fedora Review Service 2025-04-11 11:49:29 UTC
Created attachment 2084431 [details]
The .spec file difference from Copr build 8882878 to 8890959

Comment 19 Fedora Review Service 2025-04-11 11:49:31 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8890959
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2332914-quickemu/fedora-rawhide-x86_64/08890959-quickemu/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 20 Fabio Valentini 2025-04-13 13:04:49 UTC
Thanks for the update, looks good to me now. Full review template included below.

There are some warnings and errors from from rpmlint, but they are harmless and can be ignored:
- using the en_GB spelling instead of en_US for "optimized"
- no %build section (not needed for shell / Python scripts)
- no man pages for some executables

Let me know if you have any questions regarding the next steps.

==============
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Spec use %global instead of %define unless justified.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.

Rpmlint
-------
Checking: quickemu-4.9.7-11.fc43.noarch.rpm
          quickemu-4.9.7-11.fc43.src.rpm

quickemu.noarch: E: spelling-error ('optimised', 'Summary(en_US) optimised -> optimized, optimist, optimism')
quickemu.noarch: E: spelling-error ('optimised', '%description -l en_US optimised -> optimized, optimist, optimism')
quickemu.src: E: spelling-error ('optimised', 'Summary(en_US) optimised -> optimized, optimist, optimism')
quickemu.src: E: spelling-error ('optimised', '%description -l en_US optimised -> optimized, optimist, optimism')
quickemu.noarch: W: no-manual-page-for-binary chunkcheck
quickemu.noarch: W: no-manual-page-for-binary quickreport
quickemu.spec: W: no-%check-section
quickemu.spec: W: no-%build-section
 2 packages and 0 specfiles checked; 4 errors, 4 warnings, 11 filtered, 4 badness; has taken 0.2 s 

Rpmlint (installed packages)
----------------------------

quickemu.noarch: E: spelling-error ('optimised', 'Summary(en_US) optimised -> optimized, optimist, optimism')
quickemu.noarch: E: spelling-error ('optimised', '%description -l en_US optimised -> optimized, optimist, optimism')
quickemu.noarch: W: no-manual-page-for-binary chunkcheck
quickemu.noarch: W: no-manual-page-for-binary quickreport
 1 packages and 0 specfiles checked; 2 errors, 2 warnings, 5 filtered, 2 badness; has taken 0.1 s 

Source checksums
----------------
https://github.com/quickemu-project/quickemu/archive/4.9.7/quickemu-4.9.7.tar.gz :
  CHECKSUM(SHA256) this package     : 38a93301a2b233bc458c62d1228d310a9c29c63c10d008c2905029ca66188606
  CHECKSUM(SHA256) upstream package : 38a93301a2b233bc458c62d1228d310a9c29c63c10d008c2905029ca66188606

Requires
--------
quickemu (rpmlib, GLIBC filtered):
    /usr/bin/bash
    /usr/bin/python3
    bash
    coreutils
    curl
    edk2-tools
    genisoimage
    grep
    jq
    mesa-demos
    pciutils
    procps
    python3
    qemu
    sed
    socat
    spice-gtk-tools
    swtpm
    unzip
    usbutils
    util-linux
    xdg-user-dirs
    xrandr

Provides
--------
quickemu:
    quickemu

Comment 21 Fabio Valentini 2025-06-19 11:00:41 UTC
Just refreshed the fedora-review+ flag so it's no longer stale.

Comment 22 Fedora Admin user for bugzilla script actions 2025-06-19 18:31:52 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/quickemu

Comment 23 Alex Haydock 2025-06-19 19:45:10 UTC
Closing as complete as the package has been approved, Pagure repo created and builds are now in progress.


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