Project information
Name
SeerGDB
Here you are:
io.github.epasveer.Seer.yml
app-id: io.github.epasveer.Seer
runtime: org.kde.Platform
runtime-version: '6.8'
sdk: org.kde.Sdk
command: seergdb
finish-args:
- --share=ipc
- --socket=fallback-x11
- --socket=wayland
- --device=dri
- --share=network
- --filesystem=host:ro
# - --filesystem=home:ro
# - --filesystem=/var/lib/flatpak:ro
modules:
- name: seer
buildsystem: simple
sources:
- type: git
url: https://github.com/epasveer/seer.git
#commit: a04e774023ea69d06b4054f18fedbe26286a6957
tag: v2.5
- type: file
path: io.github.epasveer.Seer.desktop
- type: file
path: io.github.epasveer.Seer.metainfo.xml
- type: file
path: io.github.epasveer.Seer.png
build-commands:
- mkdir build
- cd build && cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/app ../src
- cd build && ninja
- install -Dm755 build/seergdb /app/bin/seergdb
- install -Dm644 io.github.epasveer.Seer.desktop /app/share/applications/io.github.epasveer.Seer.desktop
- install -Dm644 io.github.epasveer.Seer.metainfo.xml /app/share/metainfo/io.github.epasveer.Seer.metainfo.xml
- install -Dm644 io.github.epasveer.Seer.png /app/share/icons/hicolor/64x64/apps/io.github.epasveer.Seer.png
- install -Dm644 io.github.epasveer.Seer.png /app/share/icons/hicolor/128x128/apps/io.github.epasveer.Seer.png
- install -Dm644 io.github.epasveer.Seer.png /app/share/icons/hicolor/256x256/apps/io.github.epasveer.Seer.png
- install -Dm644 io.github.epasveer.Seer.png /app/share/icons/hicolor/512x512/apps/io.github.epasveer.Seer.png
io.github.epasveer.Seer.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Seer
GenericName=GDB Frontend
Comment=A GUI frontend to GDB debugger
Icon=io.github.epasveer.Seer
Exec=seergdb
Terminal=false
Categories=Development;Debugger;Qt;
Keywords=debug;gdb;debugger;qt;
StartupNotify=true
X-Flatpak=io.github.epasveer.Seer
io.github.epasveer.Seer.metainfo.xml
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.github.epasveer.Seer</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>Seer</name>
<summary>A GUI frontend to GDB debugger</summary>
<description>
<p>
Seer is a graphical frontend to the GDB debugger that provides a rich development environment for debugging programs.
</p>
<p>Features:</p>
<ul>
<li>Source code browsing and breakpoint management</li>
<li>Variable inspection and modification</li>
<li>Stack frame navigation</li>
<li>Memory inspection</li>
<li>Assembly view</li>
<li>Register view</li>
</ul>
</description>
<launchable type="desktop-id">io.github.epasveer.Seer.desktop</launchable>
<screenshots>
<screenshot type="default">
<caption>Main debugging window</caption>
<image>https://raw.githubusercontent.com/epasveer/seer/main/images/mainview.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://github.com/epasveer/seer</url>
<url type="bugtracker">https://github.com/epasveer/seer/issues</url>
<developer_name>Ernie Pasveer</developer_name>
<releases>
<release version="2.5" date="2025-07-19"/>
</releases>
<content_rating type="oars-1.1"/>
</component>
It builds and runs fine.Apparently GDB binary is available in the KDE runtime.
The perms are very broad but we can limit it under /var/lib/flatpak or ~ .
Also if you dont have the rest of the files ie .desktop .xml and .png in the dir where the manifest is , then plz comment out the relevant sections of the manifest.
Should i submit it?
But I am not willing to maintain it all the time.
Also some user that knows how to use it, they should kindly test it before.
Also the perms. Maybe we can get some advice from one of our knowledgeable maintainers.
Finally and most importantly the creator of this app .Dont we need permission to publish it?
@alamahant, you should, but when someoneās tested it, indeed. Unfortunately, Iām unfamiliar with both SeerGDB and .Flatpak packaging, so I canāt confirm or maintain it.
Flatpak discloses the required permissions upon installation. Insofar as it works, Iād say thatās not a problem: it can always be retroactively hardened, and itās a development utility thatās expected to interact at a low level anyway.
I believe so. If you comment at the GitHub thread, I presume that the creator shall be pleased with the amount of work youāve accomplished.
Finally and most importantly the creator of this app .Dont we need permission to publish it?
presume that the creator shall be pleased with the amount of work youāve accomplished.
Hi. I am the creator of the seergdb app. You most certainly have my permission to package it up. And Iām very appreciative of your work here!
Iām not familiar with flatpak. However, if someone gives me an example of the command line, I can try it on one of my machines and ākick the tiresā of my own program.
Thanks again!
Ok i can confirm it works fine with executables built with flatpak versions of IDEs.For example it worked smoothly with qtcreator project binary.I am not sure if it will work with gtk binaries though because the flatpak version of Seer NEEDS to use kde runtime.I am not sure how it will behave if set to debug gtk binary.
That is good news! Thanks!
Seer is built on Qt. It shouldnāt need a KDE environment per-se. Just the Qt libraries (which ARE required by KDE but you can have a GNOME environment with Qt libraries added).
As for debugging gtk binaries, it shouldnāt have any problems with them. Whatever gdb can debug, Seer should be able to as well.
(But maybe Iām wrong because Iām not familiar with ftatpack ![]()
Seer uses Qt as evident from CMake. That is why it needs to be built with kde runtime.
Does Seer need write access to ~ ?
Also does it need network? I think so because I saw something like āconnect to gdb serverā in the UI.
I am also thinking we need:
āallow=devel
and possibly
filesystem=host:ro
and
āenv=LD_LIBRARY_PATH=/usr/lib:/lib:/usr/lib64:/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
and
filesystem=home (if it produces any output that needs to be saved)
and also I was thinking if we might invoke it thus(in case we dont put lib dirs in the manifest):
flatpak run --env=LD_LIBRARY_PATH=/usr/lib:/lib:/usr/lib64:/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} io.github.epasveer.Seer
Just thinking out loudā¦
@epasveer, not per se in Flatpak. The runtime package selection is what allows it to be so portable, but is also why the packages provided by it are inherently space-inefficient and restrictive.
If using Qt, one generally chooses the KDE runtime. If using GTK, they generally choose the GNOME runtime. All else choose the FreeDesktop runtime, and bundle what is essentially a desktop environment in the package.
Does Seer need write access to ~ ?
Yes it does to save itās state. Window sizes. Config settings. Etcā¦
Also does it need network?
Yes, when the āconnectā method is used to connect to a remote machine.
If using Qt, one chooses the KDE runtime.
Thanks. Thatās a little clearer to me now.
Ok. from my part I did my best.And it builds and runs and works.BUT it fails to see system libs.If anyone knows how to allow the flatpak to see system libs please kindly let me know what kind of perm we should include in the manifest. Otherwise Seer functionality as a flatpak might be a bit restricted and erratic.Sometimes I get error 0177 or something indicating missing libs. Even if I use filesystem=host:ro and set LD_LIBRARY_PATH to include host lib directories . Thanks alotā¦
@alamahant, is the undermentioned of use?
If not, perhaps follow:
So Iāve grabbed your example files to build the flatpak myself. Iām getting this error, which I think is pretty basic. The program it complains about is on my native box but I think itās not in my āsandboxā?
Any ideas how to fix this? It happens at the very end of building things. Thanks.
Running appstream-compose
bwrap: execvp appstream-compose: No such file or directory
Error: ERROR: appstream-compose failed: Child process exited with code 1
Answering my own comment. I installed a newer version of org.flatpak.Builder and that fixed things.
Iāve created the PR to package up Seergdb in FlatHub. Iāve likely missed some things as this is my first attempt with FlatPak/FlatHub.
A big step forward. Seer is now in FlatHubās testing repository.
$ flatpak install --user https://dl.flathub.org/build-repo/238339/io.github.epasveer.seer.flatpakref
$ flatpak run io.github.epasveer.seer -s /some/program/to/debug arg1 arg2
And now itās officially part of Flathub.