Bug 692543 - Review Request: sawfish - An extensible window manager for the X Window System
Review Request: sawfish - An extensible window manager for the X Window System
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Peter Lemenkov
Peter Lemenkov
:
: sawfish (view as bug list)
Depends On: 692537 692541
Blocks: RussianFedoraRemix 697049
  Show dependency treegraph
 
Reported: 2011-03-31 10:15 EDT by Kim B. Heino
Modified: 2011-04-30 23:19 EDT (History)
6 users (show)

See Also:
Fixed In Version: sawfish-1.8.0-2.fc15
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-04-30 23:19:44 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
lemenkov: fedora‑review+
tibbs: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Kim B. Heino 2011-03-31 10:15:16 EDT
Spec URL: http://b.bbbs.net/sawfish/sawfish.spec
SRPM URL: http://b.bbbs.net/sawfish/sawfish-1.8.0-1.fc15.src.rpm
Description:
Sawfish is an extensible window manager which uses a Lisp-based
scripting language.  All window decorations are configurable and the
basic idea is to have as much user-interface policy as possible
controlled through the Lisp language.  Configuration can be
accomplished by writing Lisp code in a personal .sawfishrc file, or
using a GTK+ interface.  Sawfish is mostly GNOME compliant

---

This is my first package and I need a sponsor.
Comment 1 Jason Tibbitts 2011-03-31 11:18:36 EDT
*** Bug 431249 has been marked as a duplicate of this bug. ***
Comment 2 Peter Lemenkov 2011-04-01 05:12:47 EDT
I'll review it
Comment 3 Peter Lemenkov 2011-04-15 05:27:06 EDT
Koji scratchbuild for F-16 

http://koji.fedoraproject.org/koji/taskinfo?taskID=3001556
Comment 4 Peter Lemenkov 2011-04-15 05:58:02 EDT
REVIEW:

Legend: + = PASSED, - = FAILED, 0 = Not Applicable

- rpmlint is NOT silent

work ~: rpmlint Desktop/sawfish-*
sawfish.x86_64: E: non-executable-script /usr/share/sawfish/1.8.0/lisp/sawfish/cfg/main.jl 0644L /bin/sh

^^^ Please, mark it as 0755 instead of 0644.

sawfish.x86_64: W: devel-file-in-non-devel-package /usr/bin/sawfish-config

^^^ I suspect that this should be omitted however I'm not sure. Could you please clarify this?

sawfish-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 2 warnings.
work ~: 

+ The package is named according to the  Package Naming Guidelines.
+ The spec file name matches the base package %{name}, in the format %{name}.spec.
+ The package meets the Packaging Guidelines.
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines.

- The License field in the package spec file MUST match the actual license (GPLv2+ and Artistic 2.0). Please also add note in comments that GPLv2+ is for sawfish itself while Artistic 2.0 is just for sounds.

+ The file, containing the text of the license(s) for the package, is included in %doc.
+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package, match the upstream source, as provided in the spec URL.

sulaco ~/rpmbuild/SOURCES: sha256sum sawfish-1.8.0.tar.bz2*
5ce8f024511f3805398e89a884f317cd2131a7d995d1c7d5899ff112ab0ce1ce  sawfish-1.8.0.tar.bz2
5ce8f024511f3805398e89a884f317cd2131a7d995d1c7d5899ff112ab0ce1ce  sawfish-1.8.0.tar.bz2.1
sulaco ~/rpmbuild/SOURCES:

+ The package successfully compiles and builds into binary rpms on at least one primary architecture. See koji link above.
+ All build dependencies are listed in BuildRequires.
+ The spec file handles locales properly (by using the %find_lang macro).
0 No shared library files in some of the dynamic linker's default paths.
+ The package does NOT bundle copies of system libraries.
0 The package is not designed to be relocatable.
+ The package owns all directories that it creates.
+ The package does not list a file more than once in the spec file's %files listings.
+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ The package consistently uses macros.
+ The package contains code, or permissible content.
0 No extremely large documentation files.
+ Anything, the package includes as %doc, does not affect the runtime of the application.
0 No header files.
0 No static libraries.
+ The pkgconfig(.pc) files are stored in a -devel package and necessary runtime requirement added.
+ The -devel package requires the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}

- The package MUST NOT contain any .la libtool archives.

- The package includes a %{name}.desktop file, and this file must be properly installed with desktop-file-install in the %install section.

- The package does not own files or directories already owned by other packages. Unfortunately there are some directories owned by other packages w/o proper runtime dependency. Namely:

- /usr/share/gnome/wm-properties/ owned by control-center-filesystem
- /usr/share/icons/hicolor/32x32/apps -> hicolor-icon-theme
- /usr/share/kde4/apps/ksmserver/windowmanagers/ - this one is a bit problematic. Actually, this directory should be owned by kde-filesystem but instead it's owned by kdebase-runtime (with really large dependency chain). We have special policy for the these cases:

https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function

I advise you to add dependency on kde-filesystem (which is really tiny and doesn't require any other additional packages) and explicitly claim ownership on /usr/share/kde4/apps/ksmserver/ and /usr/share/kde4/apps/ksmserver/windowmanagers/.

+ At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ All filenames in rpm packages are valid UTF-8.
Comment 5 Kim B. Heino 2011-04-15 09:15:15 EDT
> sawfish.x86_64: E: non-executable-script
> /usr/share/sawfish/1.8.0/lisp/sawfish/cfg/main.jl 0644L /bin/sh

cfg/main.jl is part of runtime library (mode 644 is correct there) and also the source code for sawfish-config (and thus the #!/bin/sh). 

I added sed line to strip #!/bin/sh from main.jl after installing it.

> sawfish.x86_64: W: devel-file-in-non-devel-package /usr/bin/sawfish-config
> 
> ^^^ I suspect that this should be omitted however I'm not sure. Could you
> please clarify this?

sawfish-config is a bit badly named GUI configurator for Sawfish. It's not devel config script.

I added a note about this to the spec.

> + The -devel package requires the base package using a fully versioned
> dependency: Requires: %{name} = %{version}-%{release}

This one was also fail. Fixed.

> - The package includes a %{name}.desktop file, and this file must be properly
> installed with desktop-file-install in the %install section.

I added sawfish-1.8.0-desktop.patch (already sent upstream) and desktop-file-validate to install.


Updated files:

Spec URL: http://b.bbbs.net/sawfish/sawfish.spec
SRPM URL: http://b.bbbs.net/sawfish/sawfish-1.8.0-2.fc15.src.rpm
Comment 6 Peter Lemenkov 2011-04-15 09:52:08 EDT
Ok, good. This package is

APPROVED.
Comment 7 Kim B. Heino 2011-04-15 11:44:43 EDT
New Package SCM Request
=======================
Package Name: sawfish
Short Description: An extensible window manager for the X Window System
Owners: kimheino
Branches: f15
InitialCC:
Comment 8 Jason Tibbitts 2011-04-15 11:56:17 EDT
Git done (by process-git-requests).
Comment 9 Fedora Update System 2011-04-26 02:27:06 EDT
sawfish-1.8.0-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/sawfish-1.8.0-2.fc15
Comment 10 Fedora Update System 2011-04-26 11:32:44 EDT
sawfish-1.8.0-2.fc15 has been pushed to the Fedora 15 testing repository.
Comment 11 Fedora Update System 2011-04-30 23:19:38 EDT
sawfish-1.8.0-2.fc15 has been pushed to the Fedora 15 stable repository.

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