Bug 1077810 - Review Request: gnome-sound-recorder - Make short recordings from your desktop
Summary: Review Request: gnome-sound-recorder - Make short recordings from your desktop
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-03-18 15:43 UTC by David King
Modified: 2014-03-26 12:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-26 12:38:41 UTC
Type: ---
Embargoed:
i: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description David King 2014-03-18 15:43:38 UTC
Spec URL: http://amigadave.fedorapeople.org/gnome-sound-recorder.spec
SRPM URL: http://amigadave.fedorapeople.org/gnome-sound-recorder-3.11.91.1-1.fc20.src.rpm
Description: Make short recordings from your desktop.
Fedora Account System Username: amigadave

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6646058

Comment 2 Christopher Meng 2014-03-21 09:03:22 UTC
Review later, busy these days.

Exchange with bug 

First note:

gnome-media-apps is from gnome-media which has been retired since f21+. This package is a sound recorder, why it has such obsoletes?

Comment 3 Christopher Meng 2014-03-21 09:04:38 UTC
Exchange with bug 1065610.

Comment 4 David King 2014-03-21 09:21:04 UTC
Hi, thanks for the comment. gnome-sound-recorder used to be part of gnome-media-apps, but this version is a complete rewrite and not just a splitting-up of the package. I added the Obsoletes as this package installs /usr/bin/gnome-sound-recorder, as does gnome-media-apps, and this package is intended to be the functional replacement of the old gnome-sound-recorder. This is not a direct replacement, as gnome-media-apps also had a GStreamer properties application, so I do not think that a Provides would be appropriate (although I do not know if there is a replacement package for the properties application).

This almost follows:

https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages

but I suppose that I should add a comment and also a versioned Obsoletes?

Comment 5 David King 2014-03-25 08:15:10 UTC
Spec URL: http://amigadave.fedorapeople.org/gnome-sound-recorder.spec
SRPM URL: http://amigadave.fedorapeople.org/gnome-sound-recorder-3.12.0-1.fc20.src.rpm

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6671033

I added a comment above the Obsoletes, as well as a version according to https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
Updated to latest 3.12.0, which would be great to get into Fedora as part of the GNOME 3.12 release.

Comment 6 Kalev Lember 2014-03-25 09:57:08 UTC
I think it would make sense to obsolete gnome-media as well, in addition to the gnome-media-apps package. gnome-media was just a small package containing translations that gnome-media-apps used; adding the obsoletes would ensure that both packages get removed during upgrades.

No need for provides here: these are needed to replace a package that something else might have a dependency on. As an example where provides are needed, if we renamed gnome-desktop3-devel to libgnome-desktop3-devel, we should most definitely add the provides so that packages that buildrequire the old name continue working.

Also, obsoletes should be versioned so that if there's ever a need to add gnome-media back, or some other app wants to use the name, it's possible to do so.

Obsoletes:	gnome-media < 3.4.0-7
Obsoletes:	gnome-media-apps < 3.4.0-7


P.S. What's going on with the review here? I see Christopher has assigned the ticket to himself, while saying he has no time right now? :)

Comment 7 David King 2014-03-25 10:05:07 UTC
Thanks for the information Kalev, I made those changes and edited the spec and SRPM in place. i am not quite sure what is going on with the review, but I reviewed Christopher's package in bug 1065610, which is just waiting on a license clarification.

Comment 8 Kalev Lember 2014-03-25 10:31:20 UTC
By the way, the = comparison in 'gnome-media <= 3.4.0-7' doesn't do the expected thing, because 3.4.0-7 != 3.4.0-7%{?dist}

Comment 9 David King 2014-03-25 10:47:00 UTC
Thanks again! I just updated the spec to use the '=' syntax instead of <=', is that right?

Comment 10 Kalev Lember 2014-03-25 10:51:05 UTC
Yep, looks good to me.

Comment 11 Christopher Meng 2014-03-26 08:54:19 UTC
Package Review
==============

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




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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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:
     "LGPL (v2 or later)", "GPL (v2 or later)", "Unknown or generated". 3
     files have unknown license. Detailed output of licensecheck:

GPL (v2 or later)
-----------------
gnome-sound-recorder-3.12.0/ltmain.sh

LGPL (v2 or later)
------------------
gnome-sound-recorder-3.12.0/libgd/libgd/gd-notification.c
gnome-sound-recorder-3.12.0/libgd/libgd/gd-notification.h
gnome-sound-recorder-3.12.0/libgd/libgd/gd-tagged-entry.c
gnome-sound-recorder-3.12.0/libgd/libgd/gd-tagged-entry.h
gnome-sound-recorder-3.12.0/libgd/libgd/gd.h

Unknown or generated
--------------------
gnome-sound-recorder-3.12.0/libgd/test-header-bar.c
gnome-sound-recorder-3.12.0/libgd/test-revealer.c
gnome-sound-recorder-3.12.0/libgd/test-stack.c

[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[?]: %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.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: glib-compile-schemas is run in %postun and %posttrans if package has
     *.gschema.xml files.
     Note: gschema file(s) in gnome-sound-recorder
[x]: The spec file handles locales properly.
[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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in gnome-sound-recorder
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 51200 bytes in 4 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 %doc.
[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]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[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 contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[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 do not use a name that already exist
[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:
[x]: 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]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[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.


Rpmlint
-------
Checking: gnome-sound-recorder-3.12.0-1.fc21.i686.rpm
          gnome-sound-recorder-3.12.0-1.fc21.src.rpm
gnome-sound-recorder.i686: W: obsolete-not-provided gnome-media
gnome-sound-recorder.i686: W: obsolete-not-provided gnome-media-apps
gnome-sound-recorder.i686: W: no-manual-page-for-binary gnome-sound-recorder
gnome-sound-recorder.src:24: W: unversioned-explicit-provides bundled(libgd)
2 packages and 0 specfiles checked; 0 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint gnome-sound-recorder
gnome-sound-recorder.i686: W: obsolete-not-provided gnome-media
gnome-sound-recorder.i686: W: obsolete-not-provided gnome-media-apps
gnome-sound-recorder.i686: W: no-manual-page-for-binary gnome-sound-recorder
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
gnome-sound-recorder (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/gjs
    gstreamer1
    gstreamer1-plugins-base
    libatk-1.0.so.0
    libc.so.6
    libcairo-gobject.so.2
    libcairo.so.2
    libgdk-3.so.0
    libgdk_pixbuf-2.0.so.0
    libgio-2.0.so.0
    libglib-2.0.so.0
    libgobject-2.0.so.0
    libgtk-3.so.0
    libm.so.6
    libpango-1.0.so.0
    libpangocairo-1.0.so.0
    rtld(GNU_HASH)



Provides
--------
gnome-sound-recorder:
    application()
    application(org.gnome.SoundRecorder.desktop)
    bundled(libgd)
    gnome-sound-recorder
    gnome-sound-recorder(x86-32)
    libgd.so



Unversioned so-files
--------------------
gnome-sound-recorder: /usr/lib/gnome-sound-recorder/libgd.so

Source checksums
----------------
https://download.gnome.org/sources/gnome-sound-recorder/3.12/gnome-sound-recorder-3.12.0.tar.xz :
  CHECKSUM(SHA256) this package     : 4ba01cadde23e4bd988ff970914ae18e234f6d02bad24a19eb8b628ccc427c9b
  CHECKSUM(SHA256) upstream package : 4ba01cadde23e4bd988ff970914ae18e234f6d02bad24a19eb8b628ccc427c9b


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -rvn gnome-sound-recorder-3.12.0-1.fc20.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

----------------------------------------
One issue:

Please pass --disable-silent-rules to %configure, if not no one can ensure that cflags are set properly:

make[2]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/po'
  MSGFMT cs.gmo
  MSGFMT da.gmo
  MSGFMT de.gmo
  MSGFMT el.gmo
  MSGFMT es.gmo
  MSGFMT eu.gmo
  MSGFMT fi.gmo
  MSGFMT fr.gmo
  MSGFMT gl.gmo
  MSGFMT he.gmo
  MSGFMT hu.gmo
  MSGFMT id.gmo
  MSGFMT it.gmo
  MSGFMT ko.gmo
  MSGFMT lv.gmo
  MSGFMT lt.gmo
  MSGFMT nb.gmo
  MSGFMT pa.gmo
  MSGFMT pl.gmo
  MSGFMT pt.gmo
  MSGFMT pt_BR.gmo
  MSGFMT ru.gmo
  MSGFMT sl.gmo
  MSGFMT sr.gmo
  MSGFMT sr
  MSGFMT te.gmo
  MSGFMT uk.gmo
  MSGFMT zh_CN.gmo
  MSGFMT zh_HK.gmo
  MSGFMT zh_TW.gmo
make[2]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/po'
Making all in data
make[2]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data'
Making all in icons
make[3]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data/icons'
  GEN      .gitignore
make[3]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data/icons'
make[3]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data'
glib-compile-schemas .
  GEN      org.gnome.SoundRecorder.desktop.in
  GEN      org.gnome.gnome-sound-recorder.gschema.valid
  ITMRG  org.gnome.SoundRecorder.desktop
make[3]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data'
make[2]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/data'
Making all in libgd
make[2]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/libgd'
  CC       gd-notification.lo
  CC       gd-tagged-entry.lo
libgd/gd-notification.c: In function 'gd_notification_init':
libgd/gd-notification.c:121:3: warning: 'gtk_widget_push_composite_child' is deprecated (declared at /usr/include/gtk-3.0/gtk/gtkwidget.h:1198): Use 'gtk_widget_class_set_template' instead [-Wdeprecated-declarations]
   gtk_widget_push_composite_child ();
   ^
libgd/gd-notification.c:143:3: warning: 'gtk_widget_pop_composite_child' is deprecated (declared at /usr/include/gtk-3.0/gtk/gtkwidget.h:1200): Use 'gtk_widget_class_set_template' instead [-Wdeprecated-declarations]
   gtk_widget_pop_composite_child ();
   ^
  GEN      .gitignore
  CCLD     libgd.la
  GISCAN   Gd-1.0.gir
  GICOMP   Gd-1.0.gir
make[2]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/libgd'
Making all in src
make[2]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/src'
  GEN      gnome-sound-recorder
  GEN      .gitignore
make[2]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0/src'
make[2]: Entering directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0'
make[2]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0'
make[1]: Leaving directory `/builddir/build/BUILD/gnome-sound-recorder-3.12.0'

Please fix this before SCM import.

PACKAGE APPROVED.

Comment 12 David King 2014-03-26 09:05:55 UTC
New Package SCM Request
=======================
Package Name: gnome-sound-recorder
Short Description: Make short recordings from your desktop
Owners: amigadave
Branches: 
InitialCC:

Comment 13 David King 2014-03-26 09:13:35 UTC
Thanks for the review Christopher! I have made the silent-rules change locally, and will add it to the initial import.

Comment 14 Gwyn Ciesla 2014-03-26 12:06:26 UTC
Git done (by process-git-requests).

Comment 15 David King 2014-03-26 12:38:41 UTC
gnome-sound-recorder-3.12.0-1 is now in git.


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