Sawfish
(→‎Preparation: pager's GIT was missing)
m (See tuxfamily page.)
Tag: sourceedit
 
(23 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{Documentation}}
 
{{Documentation}}
   
  +
See our [http://sawfish.tuxfamily.org/ Tuxfamily page] for downloads.
The latest versions of sawfish and its platforms are:
 
* [http://download.tuxfamily.org/sawfish/librep/ librep (all releases)]
 
* [http://download.tuxfamily.org/sawfish/rep-gtk/ rep-gtk (all releases)]
 
* [http://download.tuxfamily.org/sawfish/sawfish/ sawfish (all releases)]
 
* [http://downloads.tuxfamily.org/sawfishpager/ sawfish-pager (all releases)]
 
   
 
You also need
 
You also need
   
* gtk+ >= 2.12
+
* gtk+ >= 2.24
 
* pango (optional, but recommended for UTF-8 support)
 
* pango (optional, but recommended for UTF-8 support)
 
* gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
 
* gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
Line 15: Line 11:
   
 
== Precompiled packages ==
 
== Precompiled packages ==
  +
''Notice: this list may not be up-to-date.'' Sorry.
  +
 
Several Linux distributions include precompiled packages for sawfish.
 
Several Linux distributions include precompiled packages for sawfish.
   
Line 21: Line 19:
   
 
==== 3rd party builds ====
 
==== 3rd party builds ====
Additionally you can find pre-built GIT snapshots for Debian/Unstable (AMD64 and Source) in [[User:Flashrider|Christopher Bratusek]]'s repo:
+
Additionally you can find pre-built packages for Debian/Unstable (AMD64 and Source) in [[User:Flashrider|Christopher Bratusek]]'s repo:
   
 
<pre>
 
<pre>
Line 30: Line 28:
 
For getting the public key, issue:
 
For getting the public key, issue:
   
<pre>
+
<pre>
wget http://apt.nanolx.org/conf/apt-key.asc
+
wget http://apt.nanolx.org/photonic.asc
apt-key add apt-key.asc
+
apt-key add photonic.asc
</pre>
+
</pre>
   
 
=== Ubuntu ===
 
=== Ubuntu ===
See [http://packages.ubuntu.com/sawfish Ubuntu]. It uses Debian derived packages.
+
See [http://packages.ubuntu.com/sawfish Ubuntu]. It uses Debian derived packages. See also the debian section above for deb-src.
  +
 
=== Gentoo ===
  +
Sawfish-1.8.x & librep's ebuilds are included in official portage tree.
  +
 
=== Fedora ===
  +
Sawfish is included to Fedora 15 and newer. Use "yum install sawfish" command.
   
 
=== Other Distros ===
 
=== Other Distros ===
Line 43: Line 47:
 
** Arch Linux
 
** Arch Linux
 
** ALT Linux
 
** ALT Linux
** Gentoo Linux
 
 
** openSuSE
 
** openSuSE
 
** Mandriva
 
** Mandriva
Line 52: Line 55:
 
** OpenBSD
 
** OpenBSD
 
** FreeBSD
 
** FreeBSD
  +
  +
== Compilation from source ==
  +
  +
It's easy to compile from the source on your own, once get accustomed. See [[Compilation from source]] for the basic instruction.
  +
  +
In order to get the latest sawfish release with all the newest add-ons and help developers beta-test at the same time you can see [[Compilation from GIT]]. As an alternative Snapshot releases are being rolled-out.
  +
  +
Even when you compile from the source, '''use the package manager''' and '''don't''' do <code>make install</code> from the shell. It's likely to get into trouble at upgrading, often from inteference from the old files.
  +
  +
In Debian, deb-src is provided. See [[Debian|above]]. In Red-Hat based distros, fetch the source and use the *.spec provided. It's not officially maintained, so you may have to modify it manually.
   
 
== GIT ==
 
== GIT ==
 
The latest development sources are stored in git repository. (With no guarantees, or even they may not compile. Sawfish is quite stable, so it is rare, though.)
 
The latest development sources are stored in git repository. (With no guarantees, or even they may not compile. Sawfish is quite stable, so it is rare, though.)
   
* The web git interfaces are: [http://git.gnome.org/cgit/sawfish/tree sawfish], [http://git.gnome.org/cgit/librep/tree librep], and [http://git.gnome.org/cgit/rep-gtk/tree rep-gtk].
+
* The web git interfaces are: [https://github.com/SawfishWM/sawfish sawfish], [https://github.com/SawfishWM/librep librep], [https://github.com/SawfishWM/rep-gtk rep-gtk], [https://github.com/SawfishWM/sawfish-pager sawfish-pager] and [https://github.com/SawfishWM/ssd sawfish-session-dialog].
  +
* '''Unofficial''' tarball of the snapshot of [http://gitorious.org/sawfish/sawfish/archive-tarball/master sawfish] and [http://gitorious.org/sawfish/librep/archive-tarball/master librep]. They may be a bit older than the official git repository.
 
 
=== Remark on versions ===
 
=== Remark on versions ===
 
If the current release of the Sawfish is, say, 1.2.3, then the git
 
If the current release of the Sawfish is, say, 1.2.3, then the git
 
source is usually given the version 1.2.4 or 1.3.0, that is of the next (planned) release.
 
source is usually given the version 1.2.4 or 1.3.0, that is of the next (planned) release.
   
Sometimes you have to install the latest librep and rep-gtk, too. ''Read the "News" well.''
+
Sometimes you have to install the latest librep and rep-gtk, too. ''Read the "NEWS" well.''
   
 
=== Preparation ===
 
=== Preparation ===
 
<pre>git clone https://github.com/SawfishWM/librep.git librep
For the first time, do
 
  +
git clone https://github.com/SawfishWM/rep-gtk.git rep-gtk
 
  +
git clone https://github.com/SawfishWM/sawfish.git sawfish
'''Normal''' access
 
  +
git clone https://github.com/SawfishWM/sawfish-pager.git sawfish-pager
 
  +
git clone https://github.com/SawfishWM/ssd.git sawfish-session-dialog.git</pre>
<pre>git clone git://git.gnome.org/librep
 
git clone git://git.gnome.org/rep-gtk
 
git clone git://git.gnome.org/sawfish
 
git clone git://git.tuxfamily.org/gitroot/sawfishpager/pager.git</pre>
 
 
For '''developers''', with write access
 
 
<pre>git clone git+ssh://USERNAME@git.gnome.org/git/librep
 
git clone git+ssh://USERNAME@git.gnome.org/git/rep-gtk
 
git clone git+ssh://USERNAME@git.gnome.org/git/sawfish
 
git clone ssh://USERNAME@git.tuxfamily.org/gitroot/sawfishpager/pager.git
 
</pre>
 
   
 
Having all three takes about 40M disk space.
 
Having all three takes about 40M disk space.
Line 88: Line 90:
 
=== Branches ===
 
=== Branches ===
 
==== Accessing a branch ====
 
==== Accessing a branch ====
 
<pre>git clone https://github.com/SawfishWM/sawfish.git sawfish
'''Normal''' access
 
 
<pre>git clone git://git.gnome.org/sawfish
 
 
cd sawfish
 
cd sawfish
 
git branch -r # lists all remote branches
 
git branch -r # lists all remote branches
 
# Suppose you like sawfish-1.5.0 series
 
# Suppose you like sawfish-1.5.0 series
 
git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH</pre>
 
git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH</pre>
 
For '''developers''' with write access
 
 
<pre>git clone git+ssh://USERNAME@git.gnome.org/git/sawfish
 
cd sawfish
 
git branch -r # lists all remote branches
 
# Suppose you like sawfish-1.5.0 series
 
git branch --track -b sawfish-1.5.0 remotes/origin/sawfish-1.5.0
 
# now you're on the sawfish 1.5x BRANCH
 
# with ability to push changes to the remote</pre>
 
   
 
=== Compilation ===
 
=== Compilation ===
To compile the source, you need '''automake''' and '''autoconf'''. automake 1.10 and autoconf >= 2.60 have been tested and are known to work.
+
To compile the source, you need '''automake''', '''autoconf''' and libtool. automake 1.10 and autoconf >= 2.60 have been tested and are known to work.
   
 
After getting the source tree, you need to run
 
After getting the source tree, you need to run
   
autogen.sh
+
./autogen.sh
   
 
==== Troubleshooting ====
 
==== Troubleshooting ====
Line 121: Line 111:
   
 
pinocchio@balocchi ~/s/sawfish> aclocal
 
pinocchio@balocchi ~/s/sawfish> aclocal
aclocal:configure.in:148: warning: macro `AM_PATH_REP' not found in library
+
aclocal:configure.in:148: warning: macro `AM_PROG_LIBTOOL' not found in library
aclocal:configure.in:229: warning: macro `AM_PATH_GTK_2_0' not found in library
 
   
With some guessing, you should be able to figure out in which package are located these macros: for example in this case they're installed in the
+
With some guessing, you should be able to figure out in which package are located these macros: for example in this case it's installed in libtool package (Debian/Ubuntu).
librep-dev and libgtk-2.0-dev packages (Debian/Ubuntu).
 
 
By installing these packages, the corresponding macros will be installed in /usr/share/aclocal, where they're looked up by aclocal, and you shouldn't get error messages anymore.
 
By installing these packages, the corresponding macros will be installed in /usr/share/aclocal, where they're looked up by aclocal, and you shouldn't get error messages anymore.
   
=== Other repositories ===
+
=== Alternative repositories ===
 
If someone provides their own git repository access, then you can use them in the following way:
 
If someone provides their own git repository access, then you can use them in the following way:
   
Line 136: Line 124:
 
# list remote branches
 
# list remote branches
 
git branch -r
 
git branch -r
git branch --track foo-tracker foobar/foo-branch
+
# create a branch in your filesystem which tracks foobar
  +
git checkout -b foo-tracker foobar/foo-branch
# once you do above, do the following to pull in the HEAD:
 
  +
  +
# Receive updates
 
git checkout foo-tracker
 
git checkout foo-tracker
 
git pull</pre>
 
git pull</pre>
   
 
=== Git ebuilds for Gentoo Linux ===
 
=== Git ebuilds for Gentoo Linux ===
  +
 
Fuchur has made ebuilds [http://mitglied.lycos.de/fuchur2004/gentoo-sawfish-git-ebuilds.tar.bz2 here].
 
Fuchur has made ebuilds [http://mitglied.lycos.de/fuchur2004/gentoo-sawfish-git-ebuilds.tar.bz2 here].
   
<!-- Currently (Jul 2009), git source doesn't rely on intltool, but if it's required, apply [http://mail.gnome.org/archives/sawfish-list/2009-May/msg00126.html this patch] too. -->
+
Fuchur also suggested a good way to try them in Gentoo [http://mail.gnome.org/archives/sawfish-list/2009-February/msg00062.html here]. It was written for svn, but the required change is obvious.
 
Fuchur also suggested a good way to try them (in svn) in Gentoo [http://mail.gnome.org/archives/sawfish-list/2009-February/msg00062.html here].
 
   
 
=== Old issues ===
 
=== Old issues ===
 
For old sources, you have to run, instead of <code>autogen.sh</code>, <code>aclocal</code> and <code>autoconf</code> before the usual <code>./configure</code>)
 
For old sources, you have to run, instead of <code>autogen.sh</code>, <code>aclocal</code> and <code>autoconf</code> before the usual <code>./configure</code>)
 
==== SVN ====
 
The subversion repository is not updated any more.
 
   
 
== Download Statistics ==
 
== Download Statistics ==
* http://stats.download.tuxfamily.org/sawfish for Sawfish, librep, and rep-gtk.
+
* http://stats.download.tuxfamily.org/sawfish for Sawfish (and librep/rep-gtk up to 2011-02-27)
 
* http://stats.download.tuxfamily.org/librep for librep and rep-gtk (since 2011-02-27)
 
* http://stats.download.tuxfamily.org/sawfishpager for sawfish-pager.
 
* http://stats.download.tuxfamily.org/sawfishpager for sawfish-pager.
 
[[Category:Documentation]]
 
[[Category:Documentation]]

Latest revision as of 08:09, 1 June 2015

Documentation quick access

See our Tuxfamily page for downloads.

You also need

  • gtk+ >= 2.24
  • pango (optional, but recommended for UTF-8 support)
  • gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
  • GNU autotools to compile.

Precompiled packages[]

Notice: this list may not be up-to-date. Sorry.

Several Linux distributions include precompiled packages for sawfish.

Debian[]

See sawfish. Also look for pager and other extras.

3rd party builds[]

Additionally you can find pre-built packages for Debian/Unstable (AMD64 and Source) in Christopher Bratusek's repo:

deb http://apt.nanolx.org/ photonic main
deb-src http://apt.nanolx.org/ photonic main

For getting the public key, issue:

 wget http://apt.nanolx.org/photonic.asc
 apt-key add photonic.asc
 

Ubuntu[]

See Ubuntu. It uses Debian derived packages. See also the debian section above for deb-src.

Gentoo[]

Sawfish-1.8.x & librep's ebuilds are included in official portage tree.

Fedora[]

Sawfish is included to Fedora 15 and newer. Use "yum install sawfish" command.

Other Distros[]

Other Distributions known to ship Sawfish in their repos (sometimes in Contrib or User repos):

  • GNU/Linux
    • Arch Linux
    • ALT Linux
    • openSuSE
    • Mandriva
    • Frugalware
    • T2 Linux
  • BSD
    • NetBSD
    • OpenBSD
    • FreeBSD

Compilation from source[]

It's easy to compile from the source on your own, once get accustomed. See Compilation from source for the basic instruction.

In order to get the latest sawfish release with all the newest add-ons and help developers beta-test at the same time you can see Compilation from GIT. As an alternative Snapshot releases are being rolled-out.

Even when you compile from the source, use the package manager and don't do make install from the shell. It's likely to get into trouble at upgrading, often from inteference from the old files.

In Debian, deb-src is provided. See above. In Red-Hat based distros, fetch the source and use the *.spec provided. It's not officially maintained, so you may have to modify it manually.

GIT[]

The latest development sources are stored in git repository. (With no guarantees, or even they may not compile. Sawfish is quite stable, so it is rare, though.)

Remark on versions[]

If the current release of the Sawfish is, say, 1.2.3, then the git source is usually given the version 1.2.4 or 1.3.0, that is of the next (planned) release.

Sometimes you have to install the latest librep and rep-gtk, too. Read the "NEWS" well.

Preparation[]

git clone https://github.com/SawfishWM/librep.git librep
git clone https://github.com/SawfishWM/rep-gtk.git rep-gtk
git clone https://github.com/SawfishWM/sawfish.git sawfish
git clone https://github.com/SawfishWM/sawfish-pager.git sawfish-pager
git clone https://github.com/SawfishWM/ssd.git sawfish-session-dialog.git

Having all three takes about 40M disk space. Once you "cloned" and have the local repositories, you can update them with:

git pull

in each directory. (Far faster than clone.)

Branches[]

Accessing a branch[]

git clone https://github.com/SawfishWM/sawfish.git sawfish
cd sawfish
git branch -r # lists all remote branches
# Suppose you like sawfish-1.5.0 series
git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH

Compilation[]

To compile the source, you need automake, autoconf and libtool. automake 1.10 and autoconf >= 2.60 have been tested and are known to work.

After getting the source tree, you need to run

./autogen.sh

Troubleshooting[]

The above step may fail if aclocal cannot find the autoconf macros for any of the compile-time requisites. In that case, look for them (they are the files from your -devel packages with an .m4 extension) and add their location to your aclocal call, as

aclocal -I /some/dir -I /some/other/dir

In some cases you need to install the packages where the missing macros are located. For example:

pinocchio@balocchi ~/s/sawfish> aclocal
 aclocal:configure.in:148: warning: macro `AM_PROG_LIBTOOL' not found in library

With some guessing, you should be able to figure out in which package are located these macros: for example in this case it's installed in libtool package (Debian/Ubuntu). By installing these packages, the corresponding macros will be installed in /usr/share/aclocal, where they're looked up by aclocal, and you shouldn't get error messages anymore.

Alternative repositories[]

If someone provides their own git repository access, then you can use them in the following way:

# preparation
git remote add foobar git://foo.bar/baz
git fetch foobar
# list remote branches
git branch -r 
# create a branch in your filesystem which tracks foobar
git checkout -b foo-tracker foobar/foo-branch

# Receive updates
git checkout foo-tracker
git pull

Git ebuilds for Gentoo Linux[]

Fuchur has made ebuilds here.

Fuchur also suggested a good way to try them in Gentoo here. It was written for svn, but the required change is obvious.

Old issues[]

For old sources, you have to run, instead of autogen.sh, aclocal and autoconf before the usual ./configure)

Download Statistics[]