Commit c93b4c7e authored by Will Thompson's avatar Will Thompson

Update INSTALL.md

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 \
help2man
If you don't want to modify Bustle, by far the easiest way to install it is to
[get it from Flathub](https://gitlab.freedesktop.org/bustle/bustle).
(If you can't get the Haskell Platform via your package manager, see
<http://hackage.haskell.org/platform/>. If you can't get the Gtk+ binding for
Haskell via your package manager, you'll need to run:
<a href='https://flathub.org/apps/details/org.freedesktop.Bustle'><img width='240' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></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
[CONTRIBUTING.md](./CONTRIBUTING.md). You can also build a Git checkout using
Flatpak:
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
situation!
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
libraries:
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