[Bug 508318] Review Request: mutter - A window manager based on metacity and clutter
bugzilla at redhat.com
bugzilla at redhat.com
Fri Jul 17 21:59:53 UTC 2009
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=508318
--- Comment #15 from Peter Robinson <pbrobinson at gmail.com> 2009-07-17 17:59:52 EDT ---
SPEC: http://pbrobinson.fedorapeople.org/mutter.spec
SRPM: http://pbrobinson.fedorapeople.org/mutter-2.27.1-1.fc11.src.rpm
koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=1483173
I think everything is fixed except the desktop file bit and the
SHOULD_HAVE_DEFINED section which I'll update in the morning but the rest is
now updated and it builds :-)
(In reply to comment #12)
> [OK] * MUST: rpmlint must be run on every package. The output should be
> posted in the review.[1]
>
> ON SRPM:
>
> rpmlint /tmp/mutter-2.27.0-0.2.20090626gita13dec3.fc11.src.rpm
> 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
>
> On RPM:
>
> mutter.i586: W: incoherent-version-in-changelog 2.27.0-0.2
> ['2.27.0-0.2.20090626gita13dec3.fc11', '2.27.0-0.2.20090626gita13dec3']
>
> Doesn't matter, we'll have real tarballs soon anyways.
>
> mutter.i586: W: shared-lib-calls-exit /usr/lib/libmutter-private.so.0.0.0
> exit at GLIBC_2.0
>
> None of rpmlint's damn business (libmutter-private has meta_exit, meta_fatal
> utility functions in it.)
>
> mutter.i586: W: non-conffile-in-etc /etc/gconf/schemas/mutter.schemas
>
> OK.
>
> [OK] * MUST: The package must be named according to the Package Naming
> Guidelines .
> [OK] * MUST: The spec file name must match the base package %{name}, in the
> format %{name}.spec unless your package has an exemption. [2] .
> [OK] * MUST: The package must be licensed with a Fedora approved license and
> meet the Licensing Guidelines .
> [OK] * MUST: The License field in the package spec file must match the
> actual license. [3]
> [OK] * 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.[4]
> [OK] * MUST: The spec file must be written in American English. [5]
> [OK] * MUST: The spec file for the package MUST be legible. [6]
> [XX] * MUST: The sources used to build the package must match the upstream
> source, as provided in the spec URL. Reviewers should use md5sum for this task.
> If no upstream URL can be specified for this package, please see the Source URL
> Guidelines for how to deal with this.
>
> Source: should be
> http://download.gnome.org/sources/mutter/2.27/%{name}-%{version}.tar.bz2
Fixed.
> [XX] * MUST: The package MUST successfully compile and build into binary
> rpms on at least one primary architecture. [7]
>
> Looks like the file list is out of sync with recent mutter changes; removing
> files that are no longer in Mutter and adding .po file handling, it seems to
> build OK.
Fixed.
> [NA] * 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.
> [XX] * 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.
>
> From reading the configure.in, missing BuildRequires I can find:
>
> gir-repository-devel
> libXcomposite-devel
> libSM-devel
Added. Fixed.
> [XX] * MUST: The spec file MUST handle locales properly. This is done by
> using the %find_lang macro. Using %{_datadir}/locale/* is strictly
> forbidden.[9]
>
> Not OK, no handling of .po files.
Added in. Fixed.
> [OK] * 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. [10]
> [OK] * 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.
> [XX] * 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. [12]
>
> File list has: %{_libdir}/mutter/plugins/clutter/*.so and doesn't own any of
> the parent directories. (Current mutter removes the clutter/ part of this).
> Probably should just have %{_datadir}/mutter in the file list.
>
> Needs to Requires: control-center-filesystem for
> /usr/share/gnome/wm-properties/
Fixed.
> [OK] * MUST: A Fedora package must not list a file more than once in the
> spec file's %files listings. [13]
> [OK] * MUST: Permissions on files must be set properly. Executables should
> be set with executable permissions, for example. Every %files section must
> include a %defattr(...) line. [14]
> [OK] * MUST: Each package must have a %clean section
> [OK] * MUST: Each package must consistently use macros. [16]
> [OK] * MUST: The package must contain code, or permissable content. [17]
> [OK] * 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). [18]
> [OK] * 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. [18]
> [OK] * MUST: Header files must be in a -devel package. [19]
> [NA] * MUST: Static libraries must be in a -static package. [20]
> [OK] * MUST: Packages containing pkgconfig(.pc) files must 'Requires:
> pkgconfig' (for directory ownership and usability). [21]
> [OK] * MUST: If a package contains library files with a suffix (e.g.
> libfoo.so.1.1), then library files that end in .so (without suffix) must go in
> a -devel package. [19]
> [OK] * MUST: In the vast majority of cases, devel packages must require the
> base package using a fully versioned dependency: Requires: %{name} =
> %{version}-%{release} [22]
> [OK] * MUST: Packages must NOT contain any .la libtool archives, these must
> be removed in the spec if they are built.[20]
> [XX] * 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. [23]
>
> Should be using desktop-file-install (the metacity package has
> desktop-file-install usage commented out, with a comment that the .desktop file
> is invalid, but mutter.desktop seems fine)
Not fixed yet. I will update it tomorrow.
> [OK] * MUST: Packages must not own files or directories already owned by
> other packages.
> [OK] * MUST: At the beginning of %install, each package MUST run rm -rf
> %{buildroot} (or $RPM_BUILD_ROOT). [25]
> [OK] * MUST: All filenames in rpm packages must be valid UTF-8. [26]
>
> [NA] * 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.
> [27]
> [NA] * SHOULD: The description and summary sections in the package spec file
> should contain translations for supported Non-English languages, if available.
> [28]
> [NT] * SHOULD: The reviewer should test that the package builds in mock.
> [29]
> [NT] * SHOULD: The package should compile and build into binary rpms on all
> supported architectures. [30]
> [??] * SHOULD: The reviewer should test that the package functions as
> described. A package should not segfault instead of running, for example.
>
> Got a white screen in a quick test of 'mutter --replace', but it's a slightly
> old version of Mutter, so didn't investigate further.
Will be testing this on my eeePC over the weekend.
> [OK] * SHOULD: If scriptlets are used, those scriptlets must be sane. This
> is vague, and left up to the reviewers judgement to determine sanity. [31]
> [OK] * SHOULD: Usually, subpackages other than devel should require the base
> package using a fully versioned dependency. [22]
> [OK] * 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.
> [OK] * 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. [32]
>
> Packaging guidelines:
>
> Other notes:
>
> - Should not run autogen.sh (and some of the BuildRequires: thus aren't
> needed: libotool, automake, autoconf, gnome-common0)
Was only there because of the use of a git snapshot while waiting for proper
release. Fixed.
> - Although it makes the specfile more complex, I think the check in
> metacity.spec:
>
> SHOULD_HAVE_DEFINED="HAVE_SM HAVE_XINERAMA HAVE_XFREE_XINERAMA HAVE_SHAPE
> HAVE_RANDR HAVE_STARTUP_NOTIFICATION"
>
> for I in $SHOULD_HAVE_DEFINED; do
> if ! grep -q "define $I" config.h; then
> echo "$I was not defined in config.h"
> grep "$I" config.h
> exit 1
> else
> echo "$I was defined as it should have been"
> grep "$I" config.h
> fi
> done
>
> Is probably worthwhile moving over. (And add HAVE_COMPOSITE_EXTENSION)
>
> - From the metacity.rpm, looking at the patches:
>
> Patch0: default-theme.patch
>
> Not needed - we share schemas with metacity
>
> # http://bugzilla.gnome.org/show_bug.cgi?id=558723
> Patch4: stop-spamming-xsession-errors.patch
> # http://bugzilla.gnome.org/show_bug.cgi?id=135056
> Patch5: dnd-keynav.patch
> # http://bugzilla.gnome.org/show_bug.cgi?id=584723
> Patch6: no-lame-dialog.patch
>
> All affect Mutter, but I'll take care of getting them fixed upstream, so
> let's not include them here.
OK.
> - You should
>
> export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
> make install DESTDIR=$RPM_BUILD_ROOT
> unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
>
> Or it will try to install the schemas into the system database on the build
> system.
Fixed.
> - I removed dependency of this bug on gjs (not needed for Mutter by itself),
> added dependency on getting clutter built with gobject-introspection support
It can always be compiled against it at a later point.
> - Here's my stab at a good %description
>
> %description
> Mutter is a window and compositing manager that displays and manages
> your desktop via OpenGL. Mutter combines a sophisticated display engine
> using the Clutter toolkit with solid window-management logic inherited
> from the Metacity window manager.
>
> While Mutter can be used stand-alone, it is primarily intended to be
> used as the display core of a larger system such as gnome-shell or
> Moblin. For this reason, Mutter is very extensible via plugins, which
> are used both to add fancy visual efects and to rework the window
> management behaviors to meet the needs of the environment.
>
> A bit too much about Mutter technically and not enough about why you want to
> install Mutter, but should do. (And will most likely be sitting their unchanged
> in 10 years no matter what else has happened in the meantime....)
:-) Updated.
> - And a %description for -devel:
>
> Header files and libraries for developing Mutter plugins. Also includes
> utilities for testing Metacity/Mutter themes.
Updated.
> And finally:
>
> - While I was writing this, I was simultaneously getting mutter to 'make
> distcheck' succesfully. I've now uploaded a 2.27.1 tarball. It should appear at
>
> http://download.gnome.org/sources/mutter/2.27/
>
> once ftp.gnome.org finishes syncing.
Updated.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the Fedora-package-review
mailing list