Spec URL: http://sagitter.fedorapeople.org/snappy/snappy.spec SRPM URL: http://sagitter.fedorapeople.org/snappy/snappy-0.3-1.fc18.src.rpm Description: snappy is an open source media player that gathers the power and flexibility of gstreamer inside the comfort of a minimalistic clutter interface. Fedora Account System Username: sagitter Actually, 'snappy player' collides with 'snappy compression/decompression library' already included in Fedora. There is also another 'snappy' binary provided by spice-gtk-tools package: $ repoquery --whatprovides /usr/bin/snappy spice-gtk-tools-0:0.15.3-1.fc18.x86_64 I opened a bug report for asking if a change of name is possible: https://bugzilla.gnome.org/show_bug.cgi?id=697122
The snappy developer has accepted to rename snappy binary file so that conflicts can be exceeded. A new release will be released soon.
Hi, a few comment : - I personnally find that Requires and BuildRequires are more readable if there is one per line, especially since this is cleaner when reviewing diff. - Requires: gstreamer1,clutter,clutter-gtk,gstreamer1-plugins-base,clutter-gst,gtk3 gtk3, gstreamer1 and clutter are likely already pulled by rpm automated library dependency. And gstreamer1-plugins-base is likely pulled already. Can you clean the Requires from redundant rpm ? - why is autoreconf -i run in %build ? - as %post run /usr/bin/update-mime-database , shouldn't it requires shared-mime-info as Requires(post) ? ( but I am not sure, since there is '|| :', I guess that should be checked by someone else. - the same goes for /usr/bin/gtk-update-icon-cache ? ( especially since that's a software in gtk2 rpm )
And it doesn't build in mock on rawhide : checking for x86_64-redhat-linux-gnu-pkg-config... /usr/bin/x86_64-redhat-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for GST... yes checking for CLUTTER... yes checking for CLUTTER_GST... no configure: error: Package requirements (clutter-gst-2.0 >= 1.5.5) were not met: No package 'clutter-gst-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables CLUTTER_GST_CFLAGS and CLUTTER_GST_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
(In reply to comment #2) > Hi, a few comment : Hi Michael. > - Requires: > gstreamer1,clutter,clutter-gtk,gstreamer1-plugins-base,clutter-gst,gtk3 > > gtk3, gstreamer1 and clutter are likely already pulled by rpm automated > library dependency. And gstreamer1-plugins-base is likely pulled already. > Can you clean the Requires from redundant rpm ? Yes. > > - why is autoreconf -i run in %build ? 'configure' file is not in main source directory. Indeed autoreconf command seems not well-accepted in Fedora according to this old wiki http://fedoraproject.org/wiki/PackagingDrafts/AutoConf. Currently I don't know if it can be used safely in case like that. Also, I could use 'autogen.sh' in the source but, in this way, 'configure' would be additional.
Re: comment 2 https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache <- https://fedoraproject.org/wiki/Packaging:ScriptletSnippets <-- https://fedoraproject.org/wiki/Category:Package_Maintainers#Packaging_Guidelines > Requires: gstreamer1,clutter,clutter-gtk,gstreamer1-plugins-base,clutter-gst,gtk3 The following guideline is more important here: https://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires Readability is secondary. Some packagers like multiple dependencies per line, but they separate them with spaces to get a minimum of readability.
Two issues are pending for snappy: 1) Fixing of the package/binary name's conflicts 2) Inclusion of Autotools pre-generated files in the source tarball I'm waiting these fixes from upstream.
(In reply to comment #6) > 1) Fixing of the package/binary name's conflicts Quote from https://bugzilla.gnome.org/show_bug.cgi?id=697122 : >A decision has been made in this Spice-devel mailing list thread: >http://lists.freedesktop.org/archives/spice-devel/2013-April/012953.html > >"I suggest for upcoming release to rename snappy to something like >snappy-spice (that would be easy enough to discover when completing for ex)" > >Soon a new spice-gtk release is going to come out, this will have moved the >executable to /usr/bin/snappy-spice. > >Then snappy (the player) can be packaged in Fedora as... >package name = snappy-player >executable = /usr/bin/snappy
Waiting for Autotool files inclusion from upstream (https://bugzilla.gnome.org/show_bug.cgi?id=697640) ... Spec URL: http://sagitter.fedorapeople.org/snappy/snappy-player.spec SRPM URL: http://sagitter.fedorapeople.org/snappy/snappy-player-0.3.7-1.fc18.src.rpm - Update to 0.3.7 - Package renamed as 'snappy-player' to avoid conflict with 'snappy' library according to upstream (https://bugzilla.gnome.org/show_bug.cgi?id=697122) - Definited 'realname' macro - Added missing Autotools files in source archive - Removed Explicit Requires - Set the environment variables CLUTTER_GST_CFLAGS/CLUTTER_GST_LIBS - Defined binary name conflict Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5380202
Spec URL: http://sagitter.fedorapeople.org/snappy/snappy-player.spec SRPM URL: http://sagitter.fedorapeople.org/snappy/snappy-player-0.3.7-1.20131119git8ece98e0.fc19.src.rpm Koji build in rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=6206040 - Update to upstream git commit of the 2013-11-19 - Set CFLAGS (C compiler flags) - Changed Name/Icon entries and added a category in the .desktop file Autotools files are now provided in the source archive by upstream.
$ rpmlint -i -v * snappy-player.armv7hl: I: checking snappy-player.armv7hl: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.armv7hl: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.armv7hl: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.armv7hl: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player.i686: I: checking snappy-player.i686: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.i686: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.i686: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.i686: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player.src: I: checking snappy-player.src: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.src: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.src: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.src: I: checking-url https://git.gnome.org/browse/snappy/snapshot/snappy-8ece98e0b8b7ea8e79b0d181fb8f79bd8895d3ed.tar.gz (timeout 10 seconds) snappy-player.x86_64: I: checking snappy-player.x86_64: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.x86_64: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.x86_64: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.x86_64: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player-debuginfo.armv7hl: I: checking snappy-player-debuginfo.armv7hl: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player-debuginfo.i686: I: checking snappy-player-debuginfo.i686: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player-debuginfo.x86_64: I: checking snappy-player-debuginfo.x86_64: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.spec: W: invalid-url Source10: snappy-Makefile.in-src.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source9: snappy-Makefile.in-data-L2.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source8: snappy-Makefile.in-data-icons.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source7: snappy-Makefile.in-data-icons-48.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source6: snappy-Makefile.in-data-icons-256.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source5: snappy-m4-L1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source4: snappy-libltdl-L1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source3: snappy-config-Makefile-L1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source2: snappy-build-aux-L1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: W: invalid-url Source1: snappy-aclocal.m4-L1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. snappy-player.spec: I: checking-url https://git.gnome.org/browse/snappy/snapshot/snappy-0.3.7.tar.gz (timeout 10 seconds) 7 packages and 1 specfiles checked; 0 errors, 21 warnings. Ignorable spelling errors. Sources without URL, but patches only. Missing man pages. Nothing to investigate so far. But we have a bundled library. The folder ./ltdl contains that what Fedora ships as libtool-ltdl-devel. Please remove the folder in %prep and make sure that the Fedora package will be used during the build process.
There is a malfunctioning in snappy, it's documented by this warnings: (snappy:27349): GLib-GObject-WARNING **: specified class size for type `ClutterGstVideoSink' is smaller than the parent type's `GstBaseSink' class size (snappy:27349): GLib-GObject-WARNING **: cannot register existing type `GstObject' (snappy:27349): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (snappy:27349): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (snappy:27349): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (snappy:27349): GLib-GObject-WARNING **: interface type `GstImplementsInterface' or prerequisite type `<invalid>' invalid (snappy:27349): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed (snappy:27349): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed (snappy:27349): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (snappy:27349): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed This problem seems caused by a conflict between gstreamer and gstreamer1 if installed together. snappy needs 'gstreamer1' but 'gstreamer-old' is required by 'clutter-gst' that it is another required package. So I changed 'clutter-gst' in 'clutter-gst2' (snappy requires clutter-gst >= 1.5.5) and conformed the .spec file to find the right header/libs files. The warnings are disappeared and snappy works better. I inform the upstream in order to know if this change is acceptable. I'm sorry, Mario. I have just checked about this issue.
snappy now requires clutter-gst2 (see https://bugzilla.gnome.org/show_bug.cgi?id=712769). Spec URL: http://sagitter.fedorapeople.org/snappy/snappy.spec SRPM URL: http://sagitter.fedorapeople.org/snappy/snappy-player-0.3.7-1.20131121git0bd0c0c3.fc19.src.rpm > But we have a bundled library. The folder ./ltdl contains that what Fedora > ships as libtool-ltdl-devel. Please remove the folder in %prep and make sure > that the Fedora package will be used during the build process. ./ltdl was included by me wrongly. It's been removed in this commit.
> Spec URL: http://sagitter.fedorapeople.org/snappy/snappy.spec This link is wrong, sorry. Spec URL: http://sagitter.fedorapeople.org/snappy/snappy-player.spec SRPM URL: http://sagitter.fedorapeople.org/snappy/snappy-player-0.3.7-1.20131121git0bd0c0c3.fc19.src.rpm
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6210127 $ rpmlint -i -v * snappy-player.src: I: checking snappy-player.src: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.src: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.src: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.src: I: checking-url https://git.gnome.org/browse/snappy/snapshot/snappy-0bd0c0c39128ce490d06b41c1a1c8f4852d527b3.tar.gz (timeout 10 seconds) snappy-player.armv7hl: I: checking snappy-player.armv7hl: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.armv7hl: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.armv7hl: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.armv7hl: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player.i686: I: checking snappy-player.i686: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.i686: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.i686: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.i686: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player.x86_64: I: checking snappy-player.x86_64: W: spelling-error %description -l en_US gstreamer -> streamer, g streamer, steamer The value of this tag appears to be misspelled. Please double-check. snappy-player.x86_64: W: spelling-error %description -l en_US minimalistic -> minimalist, minimalism, animistic The value of this tag appears to be misspelled. Please double-check. snappy-player.x86_64: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.x86_64: W: no-manual-page-for-binary snappy Each executable in standard binary directories should have a man page. snappy-player-debuginfo.armv7hl: I: checking snappy-player-debuginfo.armv7hl: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player-debuginfo.i686: I: checking snappy-player-debuginfo.i686: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player-debuginfo.x86_64: I: checking snappy-player-debuginfo.x86_64: I: checking-url http://projects.gnome.org/snappy/ (timeout 10 seconds) snappy-player.spec: I: checking-url https://git.gnome.org/browse/snappy/snapshot/snappy-0bd0c0c39128ce490d06b41c1a1c8f4852d527b3.tar.gz (timeout 10 seconds) 7 packages and 1 specfiles checked; 0 errors, 11 warnings. The same warnings as in comment #10. The libltdl folder is vanished from the source tarball, and the gstreamer conflict seems also to be solved. OK, here we go: --------------------------------- key: [+] OK [.] OK, not applicable [X] needs work --------------------------------- [+] MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review. [+] MUST: The package must be named according to the Package Naming Guidelines. [+] MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. [+] MUST: The package must meet the Packaging Guidelines. [+] MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. [+] MUST: The License field in the package spec file must match the actual license. GPLv2+ [+] MUST: 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 must be included in %doc. [+] MUST: The spec file must be written in American English. [+] MUST: The spec file for the package MUST be legible. [+] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use sha256sum for this task as it is used by the sources file once imported into git. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this. $ sha256sum * fbdf3cb88d0764b97732f3e3982c892e59e10bcb00d8d0012360bde1ccb70e68 snappy-0bd0c0c39128ce490d06b41c1a1c8f4852d527b3.tar.gz fbdf3cb88d0764b97732f3e3982c892e59e10bcb00d8d0012360bde1ccb70e68 snappy-0bd0c0c39128ce490d06b41c1a1c8f4852d527b3.tar.gz.orig [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. [.] MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. Each architecture listed in ExcludeArch MUST have a bug filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number MUST be placed in a comment, next to the corresponding ExcludeArch line. [+] MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense. [.] MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden. [.] MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. [+] MUST: Packages must NOT bundle copies of system libraries. [.] MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker. [+] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. [+] MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations) [+] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. [+] MUST: Each package must consistently use macros. [+] MUST: The package must contain code, or permissable content. [.] MUST: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). [+] MUST: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. [.] MUST: Static libraries must be in a -static package. [.] MUST: Development files must be in a -devel package. [.] MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release} [.] MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. [.] MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation. [+] MUST: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. [+] MUST: All filenames in rpm packages must be valid UTF-8. [.] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [.] SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. [+] SHOULD: The reviewer should test that the package builds in mock. See Koji build above (which uses Mock anyway). [+] SHOULD: The package should compile and build into binary rpms on all supported architectures. [.] SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example. [.] SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. [.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [.] SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb. [.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. [.] SHOULD: your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense. ---------------- PACKAGE APPROVED ----------------
Thanks! New Package SCM Request ======================= Package Name: snappy-player Short Description: An open-source Gnome media player Owners: sagitter Branches: f19 f20
Requested package name snappy-player doesn't match bug summary snappy, please correct.
Git done (by process-git-requests).
snappy-player-0.3.7-1.20131121git0bd0c0c3.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/snappy-player-0.3.7-1.20131121git0bd0c0c3.fc20
snappy-player-0.3.7-1.20131121git0bd0c0c3.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/snappy-player-0.3.7-1.20131121git0bd0c0c3.fc19
snappy-player-0.3.7-1.20131121git0bd0c0c3.fc19 has been pushed to the Fedora 19 testing repository.
snappy-player-0.3.7-2.20131121git0bd0c0c3.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/snappy-player-0.3.7-2.20131121git0bd0c0c3.fc20
snappy-player-0.3.7-2.20131121git0bd0c0c3.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/snappy-player-0.3.7-2.20131121git0bd0c0c3.fc19
snappy-player-0.3.7-2.20131121git0bd0c0c3.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
snappy-player-0.3.7-2.20131121git0bd0c0c3.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.