Spec URL: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777060-WPE-backend/WPE-backend.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777060-WPE-backend/WPE-backend-0.2.0-1.fc29.src.rpm Description: This is the backend needed for the WPE webkit port (https://wpewebkit.org/) a webkit port optimized for low-end devices. I am also packaging WPE-webkit, and will submit a review request for that in the near future when I am fairly certain that my spec for that works. This is my first package, and I need a sponsor. Fedora Account System Username: bunnyapocalypse Koji Build: https://koji.fedoraproject.org/koji/taskinfo?taskID=28211592
- The license shorthand is wrong, see the list here: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses License: BSD-2-Clause - Use a more meaningful name for your archive with: Source0: https://github.com/WebPlatformForEmbedded/WPEBackend/archive/%{version}/%{name}-%{version}.tar.gz - make %{?_smp_mflags} → %make build - you must install the license file in %files: %files %license COPYING %doc NEWS - the packaging should include a devel subpackage to contain the development files. Read https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages %package devel Summary: Development files for WPE-backend Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for WPE-backend, a general-purpose library specifically developed for the WPE-flavored port of WebKit. And: %files %license COPYING %doc NEWS %{_libdir}/libWPEBackend-0.1.so.0 %{_libdir}/libWPEBackend-0.1.so.0.2.0 %files devel %{_includedir}/wpe-0.1/wpe/input.h %{_includedir}/wpe-0.1/wpe/loader.h %{_includedir}/wpe-0.1/wpe/pasteboard.h %{_includedir}/wpe-0.1/wpe/renderer-backend-egl.h %{_includedir}/wpe-0.1/wpe/renderer-host.h %{_includedir}/wpe-0.1/wpe/version.h %{_includedir}/wpe-0.1/wpe/view-backend.h %{_includedir}/wpe-0.1/wpe/wpe-egl.h %{_includedir}/wpe-0.1/wpe/wpe.h %{_libdir}/libWPEBackend-0.1.so %{_libdir}/pkgconfig/wpe-0.1.pc - The long list of BR is very dubious, from what I gather on the Github repo you only need pkgconfig(egl), cmake and gcc-c++
(In reply to Robert-André Mauchin from comment #1) > - The license shorthand is wrong, see the list here: > https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses > > License: BSD-2-Clause > > - Use a more meaningful name for your archive with: > > Source0: > https://github.com/WebPlatformForEmbedded/WPEBackend/archive/%{version}/ > %{name}-%{version}.tar.gz > > - make %{?_smp_mflags} → %make build > > - you must install the license file in %files: > > %files > %license COPYING > %doc NEWS > > - the packaging should include a devel subpackage to contain the > development files. Read > https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages > > %package devel > Summary: Development files for WPE-backend > Requires: %{name}%{?_isa} = %{version}-%{release} > > %description devel > Development files for WPE-backend, a general-purpose library > specifically developed for the WPE-flavored port of WebKit. > > > And: > > > %files > %license COPYING > %doc NEWS > %{_libdir}/libWPEBackend-0.1.so.0 > %{_libdir}/libWPEBackend-0.1.so.0.2.0 > > %files devel > %{_includedir}/wpe-0.1/wpe/input.h > %{_includedir}/wpe-0.1/wpe/loader.h > %{_includedir}/wpe-0.1/wpe/pasteboard.h > %{_includedir}/wpe-0.1/wpe/renderer-backend-egl.h > %{_includedir}/wpe-0.1/wpe/renderer-host.h > %{_includedir}/wpe-0.1/wpe/version.h > %{_includedir}/wpe-0.1/wpe/view-backend.h > %{_includedir}/wpe-0.1/wpe/wpe-egl.h > %{_includedir}/wpe-0.1/wpe/wpe.h > %{_libdir}/libWPEBackend-0.1.so > %{_libdir}/pkgconfig/wpe-0.1.pc > > - The long list of BR is very dubious, from what I gather on the Github > repo you only need pkgconfig(egl), cmake and gcc-c++ Thanks for the review, I have (mostly) done what you said with a few exceptions, here's the new spec: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777248-WPE-backend/WPE-backend.spec I didn't enact your changes to the source0 url as I do not have any control over the way that the tarball is hosted and did not see a way to make a more meaningful name for the archive without breaking the fedora namescheme. I also did not exactly enact your changes to the make line as there is no build target,hopefully what I did do to it is acceptable.
Is it conventional to use uppercase in package names? I would probably call it "wpebackend". I'd use a glob in the file list: %{_includedir}/wpe-0.1/wpe/*.h because you don't want the build to break every time a header gets added or removed. (Only two of the headers may be used directly by applications, and they won't disappear unexpectedly.) You will surely want to use a glob to avoid build failures when the last two components of the soversion change in every release: %{_libdir}/libWPEBackend-0.1.so.0.* Looks like you have one extra space here in the devel package requires: Requires: %{name}%{?_isa} = %{version}-%{release}
Also note that "Backend needed for the WPE-flavored port of WebKit" is not quite right as wpebackend does not contain any WPE backend... if that is not confusing enough. Rather, it's a library required by the backends. The actual backend that you'd want to package for Fedora is WPEBackend-fdo.
(In reply to Michael Catanzaro from comment #3) > Is it conventional to use uppercase in package names? I would probably call > it "wpebackend". > > I'd use a glob in the file list: > > %{_includedir}/wpe-0.1/wpe/*.h > > because you don't want the build to break every time a header gets added or > removed. (Only two of the headers may be used directly by applications, and > they won't disappear unexpectedly.) > > You will surely want to use a glob to avoid build failures when the last two > components of the soversion change in every release: > > %{_libdir}/libWPEBackend-0.1.so.0.* > > Looks like you have one extra space here in the devel package requires: > > Requires: %{name}%{?_isa} = %{version}-%{release} Thanks for the tips, I have changed the spec file accordingly. I have also changed the name
(In reply to Chris King from comment #5) > (In reply to Michael Catanzaro from comment #3) > > Is it conventional to use uppercase in package names? I would probably call > > it "wpebackend". > > > > I'd use a glob in the file list: > > > > %{_includedir}/wpe-0.1/wpe/*.h > > > > because you don't want the build to break every time a header gets added or > > removed. (Only two of the headers may be used directly by applications, and > > they won't disappear unexpectedly.) > > > > You will surely want to use a glob to avoid build failures when the last two > > components of the soversion change in every release: > > > > %{_libdir}/libWPEBackend-0.1.so.0.* > > > > Looks like you have one extra space here in the devel package requires: > > > > Requires: %{name}%{?_isa} = %{version}-%{release} > > Thanks for the tips, I have changed the spec file accordingly. I have also > changed the name Shoot, it did not occur to me that clicking save changes on one part of the bug report page would submit all areas that have text entered until I did it, oops. .... As I was saying, I have changed the spec and the name in the spec to address your comments, however, the copr repository is still named WPE-backend as there is no way to change the name of that to my knowledge. New spec: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777348-wpebackend/wpebackend.spec Additionally, I have now created a request for the main WPE package here: https://bugzilla.redhat.com/show_bug.cgi?id=1601186
(In reply to Chris King from comment #2) > I didn't enact your changes to the source0 url as I do not have any control > over the way that the tarball is hosted and did not see a way to make a more > meaningful name for the archive without breaking the fedora namescheme. > Source0 I provided will work with Github: Source0: https://github.com/WebPlatformForEmbedded/WPEBackend/archive/%{version}/%{name}-%{version}.tar.gz > I also did not exactly enact your changes to the make line as there is no > build target,hopefully what I did do to it is acceptable. Sorry I mean %make_build with an underline [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/include/wpe-0.1, /usr/include/wpe-0.1/wpe Just use %{_includedir}/wpe-0.1 instead of %{_includedir}/wpe-0.1/wpe/*.h to own the directory wpebackend.x86_64: W: incoherent-version-in-changelog 0.2.0 ['0.2.0-1.fc29', '0.2.0-1'] Don't forget the release info in your changelog entry: * Fri Jul 13 2018 Chris King <bunnyapocalypse> - 0.2.0-1 Your changelog message is not particularly useful. just set it to "Initial RPM package" Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. 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. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD (2 clause)", "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/bob/packaging/review/wpebackend/review- wpebackend/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/include/wpe-0.1, /usr/include/wpe-0.1/wpe [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/include/wpe-0.1, /usr/include/wpe-0.1/wpe [x]: %build honors applicable compiler flags or justifies otherwise. [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. [x]: 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]: Useful -debuginfo package or justification otherwise. [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. Note: Documentation size is 10240 bytes in 1 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]: 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 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). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in wpebackend-devel [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [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]: The placement of pkgconfig(.pc) files are correct. [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. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: wpebackend-0.2.0-1.fc29.x86_64.rpm wpebackend-devel-0.2.0-1.fc29.x86_64.rpm wpebackend-debuginfo-0.2.0-1.fc29.x86_64.rpm wpebackend-debugsource-0.2.0-1.fc29.x86_64.rpm wpebackend-0.2.0-1.fc29.src.rpm wpebackend.x86_64: W: summary-ended-with-dot C General-purpose library specifically developed for the WPE-flavored port of WebKit. wpebackend.x86_64: E: summary-too-long C General-purpose library specifically developed for the WPE-flavored port of WebKit. wpebackend.x86_64: E: description-line-too-long C General-purpose library specifically developed for the WPE-flavored port of WebKit. wpebackend.x86_64: W: incoherent-version-in-changelog 0.2.0 ['0.2.0-1.fc29', '0.2.0-1'] wpebackend-devel.x86_64: W: no-documentation wpebackend.src: W: summary-ended-with-dot C General-purpose library specifically developed for the WPE-flavored port of WebKit. wpebackend.src: E: summary-too-long C General-purpose library specifically developed for the WPE-flavored port of WebKit. wpebackend.src: E: description-line-too-long C General-purpose library specifically developed for the WPE-flavored port of WebKit. 5 packages and 0 specfiles checked; 4 errors, 4 warnings.
(In reply to Robert-André Mauchin from comment #7) Here's the new spec: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777383-wpebackend/wpebackend.spec And the new srpm: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-rawhide-x86_64/00777383-wpebackend/wpebackend-0.2.0-1.fc29.src.rpm > [!]: Uses parallel make %{?_smp_mflags} macro. Just curious, when should I use this and when should I not? Thanks again for all of the help.
(In reply to Chris King from comment #8) > > [!]: Uses parallel make %{?_smp_mflags} macro. > > Just curious, when should I use this and when should I not? > > Thanks again for all of the help. %make_build is amacro that resolves to make %{?_smp_mflags} (See rpm --eval "%make_build") The changelog message should start with a -: * Fri Jul 13 2018 Chris King <bunnyapocalypse> - 0.2.0-1 - Initial RPM package Package otherwise approved.
(In reply to Robert-André Mauchin from comment #9) > (In reply to Chris King from comment #8) > > > [!]: Uses parallel make %{?_smp_mflags} macro. > > > > Just curious, when should I use this and when should I not? > > > > Thanks again for all of the help. > > %make_build is amacro that resolves to make %{?_smp_mflags} (See rpm --eval > "%make_build") > > > The changelog message should start with a -: > > * Fri Jul 13 2018 Chris King <bunnyapocalypse> - 0.2.0-1 > - Initial RPM package > > > Package otherwise approved. Fixed spec: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-28-x86_64/00777792-wpebackend/wpebackend.spec Fixed srpm: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/fedora-28-x86_64/00777792-wpebackend/wpebackend-0.2.0-1.fc28.src.rpm
(In reply to Chris King from comment #10) > Fixed spec: > https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/ > fedora-28-x86_64/00777792-wpebackend/wpebackend.spec > > Fixed srpm: > https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/WPE-backend/ > fedora-28-x86_64/00777792-wpebackend/wpebackend-0.2.0-1.fc28.src.rpm Same spec and srpm, just in a different copr repo. spec: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/wpewebkit-rawhide/fedora-rawhide-x86_64/00778290-wpebackend/wpebackend.spec srpm: https://copr-be.cloud.fedoraproject.org/results/bunnyapocalypse/wpewebkit-rawhide/fedora-rawhide-x86_64/00778290-wpebackend/wpebackend-0.2.0-1.fc29.src.rpm
I see that Robert-Andre already reviewed your submission, but I am happy to exercise my sponsor powers if you still one. :)
(In reply to Debarshi Ray from comment #12) > I see that Robert-Andre already reviewed your submission, but I am happy to > exercise my sponsor powers if you still one. :) I do still need one, thank you so much for sponsoring me!
Thanks, Rishi! (In reply to Chris King from comment #13) > I do still need one, thank you so much for sponsoring me! Reading through the process at https://fedoraproject.org/wiki/How_to_sponsor_a_new_contributor#Sponsoring_Someone_for_Fedora_Package_Collection.... Can you please link me to your account in FAS? It does not seem to be searchable.
(In reply to Michael Catanzaro from comment #14) > Can you please link me to your account in FAS? It does not seem to be > searchable. Here you go: https://admin.fedoraproject.org/accounts/user/view/bunnyapocalypse
Rishi, can you add Chris to the packager group, please? There are instructions at https://fedoraproject.org/wiki/How_to_sponsor_a_new_contributor#Sponsoring_Someone_for_Fedora_Package_Collection.
Please add bunnyapocalypse to the packager group.
Thanks for linking to your account, Chris. I am looking into it now.
Chris, I see that your Fedora Account System email is bunnyapocalypse, while your bugzilla email is bunnyapoc. Those two need to be the same. See the third paragraph in https://fedoraproject.org/wiki/How_to_sponsor_a_new_contributor#Sponsoring_Someone_for_Fedora_Package_Collection
(In reply to Debarshi Ray from comment #19) > Chris, I see that your Fedora Account System email is > bunnyapocalypse, while your bugzilla email is > bunnyapoc. Those two need to be the same. See the third paragraph > in > https://fedoraproject.org/wiki/ > How_to_sponsor_a_new_contributor#Sponsoring_Someone_for_Fedora_Package_Collec > tion Sorry about that, I have changed my email.
(In reply to Chris King from comment #20) > Sorry about that, I have changed my email. No worries. Paperwork is always tricky. I have now added and sponsored you into the 'packager' group. Welcome to Fedora! I hope you have a good time.
(In reply to Debarshi Ray from comment #21) > (In reply to Chris King from comment #20) > > Sorry about that, I have changed my email. > > No worries. Paperwork is always tricky. > > I have now added and sponsored you into the 'packager' group. > > Welcome to Fedora! I hope you have a good time. Thank you so much rishi! I have created a fedpkg request here: https://pagure.io/releng/fedora-scm-requests/issue/7558
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/wpebackend
The package has successfully built: https://koji.fedoraproject.org/koji/packageinfo?packageID=27345
So... this is complete now, right?
(In reply to Michael Catanzaro from comment #25) > So... this is complete now, right? Yes.