Bug 692543

Summary: Review Request: sawfish - An extensible window manager for the X Window System
Product: [Fedora] Fedora Reporter: Kim B. Heino <b>
Component: Package ReviewAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED ERRATA QA Contact: Peter Lemenkov <lemenkov>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: fedora-package-review, lemenkov, mihai, notting, rkhadgar, serge.de.souza
Target Milestone: ---Flags: lemenkov: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sawfish-1.8.0-2.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-01 03:19:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 692537, 692541    
Bug Blocks: 496433, 697049    

Description Kim B. Heino 2011-03-31 14:15:16 UTC
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 15:18:36 UTC
*** Bug 431249 has been marked as a duplicate of this bug. ***

Comment 2 Peter Lemenkov 2011-04-01 09:12:47 UTC
I'll review it

Comment 3 Peter Lemenkov 2011-04-15 09:27:06 UTC
Koji scratchbuild for F-16 

http://koji.fedoraproject.org/koji/taskinfo?taskID=3001556

Comment 4 Peter Lemenkov 2011-04-15 09:58:02 UTC
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 13:15:15 UTC
> 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 13:52:08 UTC
Ok, good. This package is

APPROVED.

Comment 7 Kim B. Heino 2011-04-15 15:44:43 UTC
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 15:56:17 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2011-04-26 06:27:06 UTC
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 15:32:44 UTC
sawfish-1.8.0-2.fc15 has been pushed to the Fedora 15 testing repository.

Comment 11 Fedora Update System 2011-05-01 03:19:38 UTC
sawfish-1.8.0-2.fc15 has been pushed to the Fedora 15 stable repository.