Spec URL: http://people.redhat.com/rkhadgar/personal/fedora/sawfish.spec SRPM URL: http://people.redhat.com/rkhadgar/personal/fedora/sawfish-1.3.2-1.fc8.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.
Once again 'autom4te.cache' is at least superfluous in a source archive. I am not sure if wrong definitions can be picked up from there but there is at least a potential. On http://sawfish.wikia.com/wiki/Patches there are some patches which apply to 1.3.2. It appears that at least Titlebar_updates Utf_8_names_fix Pango_draw()_ignores_font would be a good idea to add to the current sources if not other as well. Whomever will eventually "own" that should subscribe to a mailing list at http://mail.gnome.org/mailman/listinfo/sawfish-list
[huzaifas@huzaifas ~]$ rpmlint sawfish-1.3.2-1.fc8.src.rpm W: sawfish summary-ended-with-dot An extensible window manager for the X Window System. W: sawfish invalid-license GPLv2 W: sawfish strange-permission sawfish.spec 0444 E: sawfish no-cleaning-of-buildroot %clean
The Changelog says * Thu Jan 31 2008 Rahul Sundaram <sundaram> -1.3.2-1 and the package is submitted by Ritesh Khadgaray (rkhadgar) any specific reason for that?
Done. Updated system to 1.3.3 http://people.redhat.com/rkhadgar/personal/fedora/sawfish.spec http://people.redhat.com/rkhadgar/personal/fedora/sawfish-1.3.3-1.fc9.src.rpm
Source: http://download.sourceforge.net/sawfish/sawfish-%{version}.tar.gz i would use Source:http://download.sourceforge.net/%{name}/%{name}-%{version}.tar.gz %build #make -- can be removed
> i would use Source:..... I do not think that an expansion of such URL really works. The only way I know for getting those source from sourceforge is to peek under http://sourceforge.net/project/showfiles.php?group_id=32
I have seen this work in most of the cases.
For sourceforge files, please use http://downloads.sourceforge.net/....... ^^^^^ ref: http://fedoraproject.org/wiki/Packaging/SourceURL#Sourceforge
updated http://people.redhat.com/rkhadgar/personal/fedora/sawfish.spec http://people.redhat.com/rkhadgar/personal/fedora/sawfish-1.3.3-2.fc9.src.rpm
Created attachment 320229 [details] changes to sawfish spec Hm, I better put that into an attachment or bugzilla will make mincemeat from this .... To make sawfish spec to work with differently packaged librep (depending on who knows what) one needs something like a definition of %librepdir included in an attachment and later in %files section: %{librepdir}/rep/%{_host}/sawfish instead of %{_libexecdir}/rep/%{_host}/sawfish or %{_libdir}/rep/%{_host}/sawfish In order to keep in spec the line %doc po/sawfish.pot lisp/sawfish/ui/WIDGETS-LIST lisp/sawfish/ui/WISHLIST with WIDGETS-LIST actually important, the following is needed in %build section: ( cd po && ./make-pot update ) No idea why this change was made. I still do not know how to set sawfish as a window manager in Gnome environment for rawhide/F10 as /usr/bin/gnome-wm does not seem to work anymore. Changing a key reference there, i.e. now /desktop/gnome/session/required_components/windowmanager, is apparently not enough.
Oops! Leftovers! Please replace in attachment (id=320229) two instances of '${_arch}' with '%{_arch}'. Actually it works even "as-is" and that is why I missed it. :-)
Created attachment 322231 [details] spec used to compile sawfish-1.3.4 I run into a situation where a compilation of sawfish runs into troubles in a linking phase with complaints about multiply defined functions. The trouble is really caused by glib2 and how it does inlining. A file /usr/include/glib-2.0/glib/gutils.h is included in multiple source files and you will get the following expansion in all these places: extern gint g_bit_nth_lsf (gulong mask, gint nth_bit) { do { nth_bit++; if (mask & (1UL << nth_bit)) return nth_bit; } while (nth_bit < ((4 * 8) - 1)); return -1; } and other similar. That does not work too well. It is possible to work around glib2 troubles by defining __STRICT_ANSI__ which indeed inlines glib2 definitions. Attached is a spec file I used for a compilation and two patches which are referenced there. Additional themes were copied from old Red Hat sawfish sources. They do not have be included although it is nice if they are available. Two patches referenced in this spec are attached too.
Created attachment 322232 [details] sawfish-1.3.4 patch for Makedefs.in to avoid problems with inlines of glib2
Created attachment 322233 [details] sawfish-1.3.4-imlib.patch - to allow compilations using imlib
In spec files like in comment #9 there is make host_type=%{_target_platform} Unfortunately this may result in DOC file placed in /usr/libexec/sawfish/1.3.3/i686-redhat-linux-gnu/DOC while sawfish-ui looks for in /usr/libexec/sawfish/1.3.3/i386-redhat-linux if %{_target_platform} evaluates to "i386-redhat-linux". As a result sawfish-ui refuses to run. One way to prevent that is to do 'make host_type=%{_host_cpu}-redhat-linux-gnu'. My old versions of specs had also this: ## hackaround for # checking build system type... %define _host %{_target_platform} %define _build %{_target_platform} and that needs to be consistently used especially when %{_host_cpu} differs from %{_arch}. A requirement is that all of this agrees with librep and rep-gtk.
The current /usr/bin/gnome-wm has the following comment: # # NOTE: DON'T USE THIS. Please have your window manager install # a desktop file and change the gconf key # /desktop/gnome/session/required_components/windowmanager At least with the current rawhide providing the following /usr/share/applications/sawfish.desktop: [Desktop Entry] Type=Application Encoding=UTF-8 Name=Sawfish Exec=sawfish NoDisplay=true # name of loadable control center module X-GNOME-WMSettingsModule=sawfish # name we put on the WM spec check window X-GNOME-WMName=Sawfish # back compat only X-GnomeWMSettingsLibrary=sawfish X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=sawfish X-GNOME-Bugzilla-Component=general X-GNOME-Autostart-Phase=WindowManager X-GNOME-Provides=windowmanager X-GNOME-Autostart-Notify=true which was modified from a copy of metacity.desktop, and setting /desktop/gnome/session/required_components/windowmanager key to sawfish does switch a window manager as expected. Most likely everything after "# back compat only" is not needed, or maybe even first 6 lines are enough, but I did not see that documented anywhere so this is all guesswork.
Since a dependency submitted by the same person has been closed for non-response, I'm closing this as well.
*** This bug has been marked as a duplicate of bug 692543 ***