Spec URL: https://raw.githubusercontent.com/mcb30/rpms-editorconfig-emacs/fedora-review/editorconfig-emacs.spec SRPM URL: https://github.com/mcb30/rpms-editorconfig-emacs/releases/download/fedora-review/editorconfig-emacs-0.10.1-1.fc40.src.rpm Description: EditorConfig plugin for emacs Fedora Account System Username: mcb30
This is my first package submission for review. I have already contacted Daniel Berrangé about sponsoring me as a new packager. COPR builds are available for Rawhide and Fedora 39 at https://copr.fedorainfracloud.org/coprs/mcb30/rpms/package/editorconfig-emacs/
Copr build: https://copr.fedorainfracloud.org/coprs/build/7010728 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2263948-editorconfig-emacs/fedora-rawhide-x86_64/07010728-editorconfig-emacs/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.
For the source URL, the scheme you've used results in a tarball of v0.10.1.tar.gz which is unpleasant since it lacks the project name. Fortunately with github you can use an alternative URL to get a sane tarball name: Source0: https://github.com/editorconfig/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz (spectool -g <specfie> will conveniently download this for you) See also https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_git_tags Instead of "%setup -q -n %{name}-%{version}" you should be able to then use "%autosetup" with no extra args. For the %install commands, you should use %{__mkdir}, %{__make} and %{__install} rather than the bare command names Formal review checklist follows (just missing emacs-filesystem dep) that's important here: 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. [!]: Package requires other packages for directories it uses. Should have a dep on 'emacs-filesystem' [x]: Package must own all directories that it creates. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Requires correct, justified where necessary. Missing emacs-filesystem [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. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. [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 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]: Dist tag is present. [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]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: Uses parallel make %{?_smp_mflags} macro. [-]: 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. [-]: 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]: 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. [x]: Spec use %global instead of %define unless justified.
@berrange Thank you for the detailed review and helpful comments! I have applied all of your suggestions and uploaded a new spec file and SRPM: Spec URL: https://github.com/mcb30/rpms-editorconfig-emacs/releases/download/fedora-review-v2/editorconfig-emacs.spec SRPM URL: https://github.com/mcb30/rpms-editorconfig-emacs/releases/download/fedora-review-v2/editorconfig-emacs-0.10.1-1.fc41.src.rpm Please let me know if there are any further issues to address. Thanks, Michael
Created attachment 2017654 [details] The .spec file difference from Copr build 7010728 to 7034657
Copr build: https://copr.fedorainfracloud.org/coprs/build/7034657 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2263948-editorconfig-emacs/fedora-rawhide-x86_64/07034657-editorconfig-emacs/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.
I made a mistake in my recommended dep on emacs-filesystem. I think we're actually Case 1 in https://docs.fedoraproject.org/en-US/packaging-guidelines/Emacs/#_package_requires and so should use: Requires: emacs(bin) >= %{_emacs_version}
I concur. I have updated the spec file to use this form of Requires. Spec URL: https://github.com/mcb30/rpms-editorconfig-emacs/releases/download/fedora-review-v3/editorconfig-emacs.spec SRPM URL: https://github.com/mcb30/rpms-editorconfig-emacs/releases/download/fedora-review-v3/editorconfig-emacs-0.10.1-1.fc41.src.rpm Thanks, Michael
Created attachment 2017661 [details] The .spec file difference from Copr build 7034657 to 7035033
Copr build: https://copr.fedorainfracloud.org/coprs/build/7035033 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2263948-editorconfig-emacs/fedora-rawhide-x86_64/07035033-editorconfig-emacs/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.
Hello @mcb30, since this is your first Fedora package, you need to get sponsored by a package sponsor before it can be accepted. A sponsor is an experienced package maintainer who will guide you through the processes that you will follow and the tools that you will use as a future maintainer. A sponsor will also be there to answer your questions related to packaging. You can find all active sponsors here: https://docs.pagure.org/fedora-sponsors/ I created a sponsorship request for you: https://pagure.io/packager-sponsors/issue/628 Please take a look and make sure the information is correct. Thank you, and best of luck on your packaging journey. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service
I have sponsored you into the packager group now. You can continue with importing this package to dist-git and building into at least rawhide, and optionally stable branches at your discretion
The Pagure repository was created at https://src.fedoraproject.org/rpms/editorconfig-emacs
Thank you. I have imported the package and created branches for F40 and F39.