Commit c93b4c7e authored by Will Thompson's avatar Will Thompson


parent fbbbadeb
Pipeline #21954 failed with stages
in 18 minutes and 7 seconds
Building from source
First, make sure the Haskell Platform is installed, preferably along with the
Gtk+ bindings for Haskell, and some other dependencies. On Debian-flavoured
systems, well, actually just `apt-get build-dep bustle`, but:
Installing from Flathub
sudo apt-get install \
pkg-config \
libdbus-1-dev \
libglib2.0-dev \
libpcap0.8-dev \
haskell-platform \
libghc-mtl-dev \
libghc-cairo-dev \
libghc-gtk-dev \
libghc-glade-dev \
libghc-dbus-dev \
libghc-pcap-dev \
If you don't want to modify Bustle, by far the easiest way to install it is to
[get it from Flathub](
(If you can't get the Haskell Platform via your package manager, see
<>. If you can't get the Gtk+ binding for
Haskell via your package manager, you'll need to run:
<a href=''><img width='240' alt='Download on Flathub' src=''/></a>
cabal install gtk2hs-buildtools
and ensure that ~/.cabal/bin is in your PATH before continuing.)
Building from source
Got that? Great!
I recommend using Stack; see the instructions in
[](./ You can also build a Git checkout using
export PREFIX=/opt/bustle
flatpak-builder --install --user --force-clean app flatpak/org.freedesktop.Bustle.yaml
# Build and install Bustle itself.
cabal install --prefix=$PREFIX
On exotic platforms with no Haskell toolchain
# Build and install the stand-alone logger binary, plus the icons, desktop
# file, etc. etc.
make install PREFIX=$PREFIX
If you're working on an embedded platform, you may have D-Bus but no Haskell
toolchain, and you may not want to bootstrap everything just to run Bustle on
the target device. That's fine: Bustle was originally written for exactly this
If the Haskell Platform is not available on the platform you want to do
some D-Bus profiling on, that's fine: the logger is written in C, and
you can view logs generated on your fancy embedded hardware on your more
pedestrian Linux laptop. The logger only depends on a few widely-available
First, install Bustle on your (x86_64) development system as above. You then
have two options to monitor D-Bus traffic on the target device:
sudo apt-get install libglib2.0-dev libpcap-dev
1. On the target device, run `dbus-monitor --pcap --session >session.pcap`, and
hit `Ctrl+C` when you're done. Then copy `session.pcap` to your development
system, and open it in Bustle.
2. On the target device, arrange for D-Bus to be accessible via TCP or via some
kind of socket forwarding. On your development system, run Bustle, choose
_Record → Record Address_, and enter the remote address in the same form
accepted by `dbus-monitor`.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment