Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use dbus instead of zbus for desktop notifications #423

Merged
merged 3 commits into from
Apr 6, 2024
Merged

Use dbus instead of zbus for desktop notifications #423

merged 3 commits into from
Apr 6, 2024

Conversation

osa1
Copy link
Owner

@osa1 osa1 commented Nov 12, 2023

zbus adds an entire async runtime to the binary and brings 90 dependencies (102 to 192).

The final release binary size is 8.2M (4.2M stripped) with zbus and 6.3M (2.8M stripped) with dbus. Statically linked, 8.5M (4.4M stripped) with zbus and 6.8M (3.1M stripped).

Since the dbus runtime dependency is fairly common (for example used by the google-chrome package on Ubuntu) I suspect most users will already have it installed, or at least will be able to easily install it.

Runtime dependencies before:

linux-vdso.so.1
libgcc_s.so.1
libc.so.6
/lib64/ld-linux-x86-64.so.2

After:

linux-vdso.so.1
libdbus-1.so.3
libgcc_s.so.1
libc.so.6
/lib64/ld-linux-x86-64.so.2
libsystemd.so.0
liblzma.so.5
libzstd.so.1
liblz4.so.1
libcap.so.2
libgcrypt.so.20
libgpg-error.so.0

zbus adds an entire async runtime to the binary and brings 90
dependencies (102 to 192).

The final release binary size is 8.2M (4.2M stripped) with zbus and 6.3M
(2.8M stripped) with dbus. Statically linked, 8.5M (4.4M stripped) with
zbus and 6.8M (3.1M stripped).

Since the dbus runtime dependency is fairly common (for example used by
the google-chrome package on Ubuntu) I suspect most users will already
have it installed, or at least will be able to easily install it.

Runtime dependencies before:

    linux-vdso.so.1
    libgcc_s.so.1
    libc.so.6
    /lib64/ld-linux-x86-64.so.2

After:

    linux-vdso.so.1
    libdbus-1.so.3
    libgcc_s.so.1
    libc.so.6
    /lib64/ld-linux-x86-64.so.2
    libsystemd.so.0
    liblzma.so.5
    libzstd.so.1
    liblz4.so.1
    libcap.so.2
    libgcrypt.so.20
    libgpg-error.so.0
@osa1
Copy link
Owner Author

osa1 commented Nov 12, 2023

@ralphptorres could you check if this builds and runs with your changes in #421? I suspect the part depends=(... dbus) should be enough but I'm not sure. I don't use Arch so I can't try myself.

@ralphptorres
Copy link
Contributor

Can confirm that it builds and runs fine. Also found out that dbus and the other runtime deps above are already included in base (or its deps like systemd), which every Arch install has. So I guess we can just remove dbus as a dependency?

Also, do you prefer this feature flag over the zbus one? If so, we can update the PKGBUILD in #421.

@ralphptorres
Copy link
Contributor

Decided to include dbus as dependency despite my previous argument.

@osa1 osa1 merged commit 1637216 into master Apr 6, 2024
14 checks passed
@osa1 osa1 deleted the use_dbus branch April 6, 2024 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants