slaeshjag / dbp Goto Github PK
View Code? Open in Web Editor NEWThis is an attempt at a PND-system successor
This is an attempt at a PND-system successor
A utility that allows a user to do dbus calls to dbpd without using dbus would probably be helpful. eg. to get the path to a package with a certian ID, etc.
GUI popup messages for errors when dbp-run is called with a certain flag. This is useful when running packages outside a terminal
Probably not going to be implemented, but someone mentioned it.
When a umount or a mount is detected, process the umounts first.
The way that the PND-system allows different packages to have the same appdata directory is neat, and it should be copied.
When using a file named .DBP DBPs do not launch.
Can you please add capability so that not only .dbp is acceptable but .DBP also works.
Cheers
If umount failes after the last instance of an application exits, it should periodically try to umount the package until it succeeds.
To avoid really bloated rw appdata directories.
Arbitrary file removal over dbus towards users could be nasty.
Media with a volume label gets mounted with a temporary name before being renamed. Sometimes, dbpd picks up the temporary name.
This will require separate management of image file mounting and aufs mounting.
Since they aren't escaped properly, some directory names will fail to mount (for example those with spaces in.)
It's probably helpful if you use the error code to also show the partucular error type.
The current wakeup of mountwatch to check for threadkill is causing wakeup events that we'll be better off without. Just kill the thread without asking when it needs to die, it only does read only stuff anyway, and only dies on exit.
Hello slaeshjag. I see several years have passed since your .dbp work began.
aufs is apparently not available for my kernel 5.8. I do not know how to build it.
Since OverlayFS is available and appears functionally equivalent, perhaps this is the time to switch .dbp to using it and enabling .dbp to work on other kernels.
Thank you.
[EDIT]
Seems this isn't a big deal to switch to non-aufs after all?
libdbpbase/loop.c: if (mount("none", mount_path, DBP_UNIONFS_NAME, 0, mount_opt) < 0)
libdbpbase/dbp.h:#define DBP_UNIONFS_NAME "aufs"
[EDIT2]
a reference for doing it with unionfs
unionfs merge-mount
Currently, dbp-run does close to zero error checking. This needs to change.
Nothing is logged. It should branch off stdout, stderr to normal stdout, stderr, and also log these to file, like current pnd-system does with pndrun_*.out
Currently, both the daemon and the runner will segfault if a configuration option in the global config file is missing.
Currently, this is not implemented. Possibly, if default.desktop doesn't have a desktop entry, a list could be displayed with all valid .desktop launchers.
Allow detection of compatible/incompatible target architecture via a Arch= key in the package entry.
Escaped caracters in /proc/mounts aren't unescaped by dbpd
Check for dependencies when launching a package. Dependencies can be on both other dbp packages and on dpkg packages
Some people want to change what categories launchers ends up in. Needs an override system simlar to what's in the PND system.
It's probably a good idea since it'll eventually become a real daemon.
To be implemented as a dbus call that will return arrays containing ["pkg_id", "/path/to/package"]. This is of no use internally in the dbp-system, but could probably be useful for a package manager.
default.desktop can under [Package Entry] define a separate appdata directory name that is not the package ID. dbp-run should use this if present.
Translate strings in dbp-run
The user should get a list of missing dependencies, and options to either install them or continue anyway.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.