Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mv's gtk2 needlessly strict
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Thu Jun 15, 2023 9:34 pm    Post subject: Reply with quote

On the topic of ebuilds, it seems like mv's gtk2 ebuild is needlessly strict.
Code:
COMMON_DEPEND="
   >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}]

There is no need for introspection to be enabled.
Also, if anyone wants to use it with my atk, you will need this patch:
Code:
diff --git a/modules/other/gail/tests/testcomponent.c b/modules/other/gail/tests/testcomponent.c
index 7600c10..fc62254 100644
--- a/modules/other/gail/tests/testcomponent.c
+++ b/modules/other/gail/tests/testcomponent.c
@@ -1,4 +1,5 @@
 #include <atk/atk.h>
+#include <glib.h>

 static void _check_position (AtkObject *obj);

diff --git a/modules/other/gail/tests/testobject.c b/modules/other/gail/tests/testobject.c
index 38b104b..a4c817c 100644
--- a/modules/other/gail/tests/testobject.c
+++ b/modules/other/gail/tests/testobject.c
@@ -198,21 +198,6 @@ static void _print_accessible (AtkObject *obj)

 static void _check_relation (AtkObject *obj)
 {
-  AtkRelationSet* relation_set = atk_object_ref_relation_set (obj);
-  gint n_relations, i;
-
-  g_return_if_fail (relation_set);
-
-  n_relations = atk_relation_set_get_n_relations (relation_set);
-  for (i = 0; i < n_relations; i++)
-    {
-      AtkRelation* relation = atk_relation_set_get_relation (relation_set, i);
-
-      g_print ("Index: %d Relation type: %d Number: %d\n", i,
-                atk_relation_get_relation_type (relation),
-                atk_relation_get_target (relation)->len);
-    }
-  g_object_unref (relation_set);
 }

 static void _check_children (AtkObject *obj)

I don't know if this is the case for the ::gentoo ebuild too, as I don't plan to install all the bloat required to test it.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Fri Jun 16, 2023 5:10 pm    Post subject: mv's gtk2 needlessly strict Reply with quote

mv's gtk2 ebuild is needlessly strict.
it requires atk with USE="introspection", however gtk2 builds fine without USE="introspection".
Here is where I first wrote about this.
Admin edit: Merged the linked post, which is now the first post of this thread. --pjp
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1948

PostPosted: Fri Jun 16, 2023 6:08 pm    Post subject: Reply with quote

I assume you've filed a bug with his overlay and given him a patch then?
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sat Jun 17, 2023 12:05 am    Post subject: Reply with quote

The patch is trivial:
Code:
diff --git a/gtk+-2.24.33-r3.ebuild b/gtk+-2.24.33-r3.ebuild
index a57cab8..9a00b81 100644
--- a/gtk+-2.24.33-r3.ebuild
+++ b/gtk+-2.24.33-r3.ebuild
@@ -24,7 +24,7 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390
 RESTRICT="test"

 COMMON_DEPEND="
-       >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}]
+       >=dev-libs/atk-2.10.0[${MULTILIB_USEDEP}]
        >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
        >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
        virtual/libintl[${MULTILIB_USEDEP}]

Where should I file the bug?
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22618

PostPosted: Sat Jun 17, 2023 12:44 am    Post subject: Reply with quote

You should file the report wherever mv accepts issue reports for that overlay. What testing did you do to confirm that the patched version works properly in all configurations where the original works?
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1948

PostPosted: Sat Jun 17, 2023 4:25 am    Post subject: Reply with quote

Not convinced this is right either - building fine doesn't mean it works correctly at runtime. Introspection is one of those things where AFAIK it's transitive (so if gtk+ has it on, you should have it on for all of its deps which support it too).

Note that previously, it didn't require atk[introspection], but rather it required atk always, and atk[introspection] if USE=introspection is on for gtk+.

You can report issues with the overlay and submit patches at https://github.com/vaeth/mv-overlay.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sat Jun 17, 2023 6:56 am    Post subject: Reply with quote

sam_ wrote:
Not convinced this is right either - building fine doesn't mean it works correctly at runtime. Introspection is one of those things where AFAIK it's transitive (so if gtk+ has it on, you should have it on for all of its deps which support it too).

That's why it is on if gtk+[introspection] is on. Unless I have a convincing proof that it will not break anything depending on gtk+[introspection] (neither now nor in future), I will not change this.
Quote:
but rather it required atk always, and atk[introspection] if USE=introspection is on for gtk+.

That's still the case, and I do not see a reason to change this. Not requiring introspection on gtk+ will "solve" the problem, but if something needs gtk+[introspection], I guess it might implicitly (at runtime) depend on atk[introspection], either.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6145
Location: Dallas area

PostPosted: Sat Jun 17, 2023 10:57 am    Post subject: Reply with quote

isn't "introspection?" a conditional?
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9262

PostPosted: Sat Jun 17, 2023 11:02 am    Post subject: Reply with quote

Right. That's exactly what that meant:
mv wrote:
Not requiring introspection on gtk+ will "solve" the problem, but if something needs gtk+[introspection], I guess it might implicitly (at runtime) depend on atk[introspection], either.
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sat Jun 17, 2023 12:11 pm    Post subject: Reply with quote

I looked into this more, and it seems like the problem is that gtk2 requires atk to have the introspection USE flag, even if it's not enabled.
mv's gtk2 does not require USE="introspection" on atk, but it requires the USE flag to exist.
I have not tested it with gtk built with introspection.
I wanted to see if leafpad, a gtk2 app, can build with my gtk.
When I tried to emerge it, I got this:
Code:
$ doas emerge -1av leafpad

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 0.71 s.


!!! All ebuilds that could satisfy ">=dev-libs/atk-2.10.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/atk-2.46.0::gentoo (masked by: package.mask)
/etc/portage/package.mask:
# use libressl
#dev-libs/libevent::gentoo
#dev-libs/libevent
#dev-lang/python
#dev-lang/ruby
#dev-lang/rust
#dev-lang/rust-bin
#dev-perl/Net-SSLeay
#dev-libs/openssl
# go back to a static /dev
#sys-fs/udev
#virtual/udev
# purge systemd
#sys-apps/openrc::gentoo
# librewolf without dbus
#app-accessibility/at-spi2-core
#>=dev-libs/atk-2.46

- dev-libs/atk-2.38.0::gentoo (masked by: package.mask)

(dependency required by "x11-libs/gtk+-2.24.33-r3::mv" [ebuild])
(dependency required by "app-editors/leafpad-0.8.18.1-r1::gentoo" [ebuild])
(dependency required by "leafpad" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Then I forced the emerge to see what everything was about. It needed a small patch to work with my atk:
Code:
diff --git a/modules/other/gail/tests/testcomponent.c b/modules/other/gail/tests/testcomponent.c
index 7600c10..fc62254 100644
--- a/modules/other/gail/tests/testcomponent.c
+++ b/modules/other/gail/tests/testcomponent.c
@@ -1,4 +1,5 @@
 #include <atk/atk.h>
+#include <glib.h>

 static void _check_position (AtkObject *obj);

diff --git a/modules/other/gail/tests/testobject.c b/modules/other/gail/tests/testobject.c
index 38b104b..a4c817c 100644
--- a/modules/other/gail/tests/testobject.c
+++ b/modules/other/gail/tests/testobject.c
@@ -198,21 +198,6 @@ static void _print_accessible (AtkObject *obj)

 static void _check_relation (AtkObject *obj)
 {
-  AtkRelationSet* relation_set = atk_object_ref_relation_set (obj);
-  gint n_relations, i;
-
-  g_return_if_fail (relation_set);
-
-  n_relations = atk_relation_set_get_n_relations (relation_set);
-  for (i = 0; i < n_relations; i++)
-    {
-      AtkRelation* relation = atk_relation_set_get_relation (relation_set, i);
-
-      g_print ("Index: %d Relation type: %d Number: %d\n", i,
-                atk_relation_get_relation_type (relation),
-                atk_relation_get_target (relation)->len);
-    }
-  g_object_unref (relation_set);
 }

 static void _check_children (AtkObject *obj)

Still, there are some other problems with the atk dependency.
One has to add >=dev-libs/atk-2.46 to package.mask it they plan to use atk from ::gentoo, else the build will fail as atk-2.46 is a dummy package.
Looking at gtk3, the ebuild doesn't even pull atk in as a dependency. This shouldn't be a problem with USE="atk-bridge", but the build will fail without USE="atk-bridge" if atk is not installed for the same reason as gtk2.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sat Jun 17, 2023 2:43 pm    Post subject: Reply with quote

stefan11111 wrote:
mv's gtk2 does not require USE="introspection" on atk, but it requires the USE flag to exist.

Well, it is meant to be used with the gentoo repository. But one can easily add (+). However, it seems that this makes no sense:
Quote:
atk-2.46 is a dummy package.

I did not realize this, and I am surprised that apparently meanwhile at-spi2-core contains the full atk library. In fact, I have installed at-api2-core for other reasons.
Maybe it should be dropped from the mv overlay. I have neither the time nor the natural setup to reasonably maintain it anymore.
Quote:
but the build will fail without USE="atk-bridge" if atk is not installed for the same reason as gtk2.

Installing atk does not help for gtk+:3[-atk-bridge]: It turns out that there is really a build-time deps on atk (the header files atk/atk.h from at-spi2-core are needed), but with -atk-bridge I cannot see any runtime binding, so I guess it is fine to have it in this case as build-time deps only.

For gtk+:2, I added now the same at-spi2-core dependency as in the gentoo repository - in this case, it is also a runtime deps: As mentioned, I lack time and setup to test anything else, and in contrast to gtk+:3, I do not have a small patch I can build on to get rid of the atk runtime deps easily. Requiring a modified at-spi2-core does not appear reasonable to me (although I added the (+) in the USE-deps if somebody wants to use a non-gentoo ebuild for it).

Edit: I was wrong: Also for gtk+:3 there is a runtime binding. Probably, gtk+ will be dropped from the mv overlay, as USE=-atk-bridge thus makes no sense anymore without a huge patch. If somebody sends me a working small patch (which is expected to work for future versions without requiring huge adaptions), I might reconsider, but otherwise the whole thing becomes unfeasible: I simply do not want to spend many hours for a setup which I do not use myself.
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sat Jun 17, 2023 3:22 pm    Post subject: Reply with quote

@mv,
NOO!!!
Isn't the whole point of your patched gtk to not need at-spi2-core, which pulls in dbus?
The fix I was thinking about was to just add that (+) and limit atk to <dev-libs/atk-2.46.0.
Code:
$ doas emerge -1av gtk+

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 2.13 s.

[ebuild  N     ] acct-group/messagebus-0-r1::gentoo  0 KiB
[ebuild  N     ] acct-user/messagebus-0-r1::gentoo  0 KiB
[ebuild  NS    ] app-text/docbook-xml-dtd-4.4-r3:4.4::gentoo [4.1.2-r7:4.1.2::gentoo, 4.2-r3:4.2::gentoo, 4.3-r2:4.3::gentoo, 4.5-r2:4.5::gentoo] 0 KiB
[ebuild  N     ] sys-apps/dbus-1.15.6::gentoo  USE="X -debug -doc -elogind (-selinux) -static-libs -systemd -test -valgrind" ABI_X86="(64) -32 (-x32)" 1,374 KiB
[ebuild  N     ] app-accessibility/at-spi2-core-2.48.3:2::gentoo  USE="X -dbus-broker -gtk-doc -introspection -systemd -test" ABI_X86="(64) -32 (-x32)" 542 KiB
[ebuild   R    ] x11-libs/gtk+-3.24.38:3::mv  USE="X -adwaita-icon-theme (-aqua) -atk-bridge -broadway -cloudproviders -colord -cups -examples -gtk-doc -introspection -sysprof -test -vim-syntax -wayland -xinerama" ABI_X86="(64) -32 (-x32)" 0 KiB
[blocks B      ] <dev-libs/atk-2.46.0 ("<dev-libs/atk-2.46.0" is soft blocking app-accessibility/at-spi2-core-2.48.3)

Total: 6 packages (4 new, 1 in new slot, 1 reinstall), Size of downloads: 1,916 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-libs/atk-2.38.0:0/0::stefan_overlay, installed) pulled in by
    dev-libs/atk required by @selected

  (app-accessibility/at-spi2-core-2.48.3:2/2::gentoo, ebuild scheduled for merge) pulled in by
    >=app-accessibility/at-spi2-core-2.46.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (>=app-accessibility/at-spi2-core-2.46.0[abi_x86_64(-)]) required by (x11-libs/gtk+-3.24.38:3/3::mv, ebuild scheduled for merge) USE="X -adwaita-icon-theme (-aqua) -atk-bridge -broadway -cloudproviders -colord -cups -examples -gtk-doc -introspection -sysprof -test -vim-syntax -wayland -xinerama" ABI_X86="(64) -32 (-x32)"
    >=app-accessibility/at-spi2-core-2.46.0:2 required by (www-client/librewolf-114.0.1_p2:0/114::librewolf, installed) USE="X clang eme-free gmp-autoupdate hardened jumbo-build lto openh264 pgo pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-webp -dbus -debug -geckodriver -hwaccel -jack -libproxy -screencast (-selinux) -sndio (-system-python-libs) -telemetry -valgrind -wayland -wifi" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fur -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sc -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW"


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages

In my case at least, it won't bother me too much, because at-spi2-core is already in my package.provided because of librewolf.

Also atk is more that a build time thing. I would know since I tried to trim down atk to it's most minimal working version.
If /usr/lib64/libatk-1.0.so is missing, gtk apps will not start.
If the functions that get called by gtk apps are missing, gtk apps will not start because of undefined symbols.
If the functions that get called by gtk apps are improperly modified, you will get segfaults, freezes, and crashes.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22618

PostPosted: Sat Jun 17, 2023 3:50 pm    Post subject: Reply with quote

At what point have you spent more of your time trying to minimize this than you will save by not building and using atk? I understand wanting to avoid software bloat, but is atk really heavy enough that it is worth the time you are spending on this - both yours, and the people you keep pulling in to explain the situation to you?
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sat Jun 17, 2023 4:12 pm    Post subject: Reply with quote

Hu wrote:
At what point have you spent more of your time trying to minimize this than you will save by not building and using atk? I understand wanting to avoid software bloat, but is atk really heavy enough that it is worth the time you are spending on this - both yours, and the people you keep pulling in to explain the situation to you?

In regards to my time, such things can also be learning experiences and fun ways to kill some time.
My minimal atk is complete. I will add to it only if something breaks or if someone points out something important.
However, this thread isn't about minimizing atk. It's about a dependency in mv's overlay.
It may affect someone else in the future too, not only me. Relying on package.mask and package.provided shouldn't be the only way of making things work.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sat Jun 17, 2023 8:50 pm    Post subject: Reply with quote

Code:
Martin Väth

So that's where mv comes from.
Until now I thought it came from the mv command.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20484

PostPosted: Sun Jun 18, 2023 3:21 am    Post subject: Reply with quote

Merged the first post as it seemed off topic in the other thread and would otherwise belong in Unsupported Software.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sun Jun 18, 2023 5:45 am    Post subject: Reply with quote

Hu wrote:
At what point have you spent more of your time trying to minimize this than you will save by not building and using atk? I understand wanting to avoid software bloat,

The point is not avoiding bloat but avoiding dbus. The latter has two reasons
  1. Avoiding dbus removes an attack vector.
  2. Without dbus, gtk+ can be used on non-linux systems, for instance FreeBSD.
The latter is the reason why I got the first patch for gtk:3 for free. I adapted that patch from autotools to the meson build system eventually, but was already wondering why it was not updated by the FreeBSD people. Now I understand the reason: They have given it up which presumably now I will also do.

stefan11111 wrote:
The fix I was thinking about was to just add that (+) and limit atk to <dev-libs/atk-2.46.0

Currently, on my system it was actually pulling in atk-2.46.0 so that I did not even realize that this is a dummy package. Making a dependency on <dev-libs/atk-2.46.0 would install code which I do not need and want on my system: This is unmaintained code and thus also a security risk to install.
I could perhaps do something like '|| ( <atk-2.46.0 at-spi2-core )' for gtk:2 (or rather use a USE-flags, as it is not runtime-switchable), but this won't work for gtk:3 anyway without heavily extending (and then maintaining) the current patch. Especially, meanwhile I need dbus and at-spi2-core on my system anyway for other reasons, so I am not even able to test this alternative setup easily, anyway, and sooner or later the whole thing becomes useless as it turned already probably since months or years with gtk:3. Feel free to maintain it in your overlay, but I don't have the time and setup (and need for my own system) to maintain it anymore.
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sun Jun 18, 2023 10:58 am    Post subject: Reply with quote

mv wrote:
Feel free to maintain it in your overlay, but I don't have the time and setup (and need for my own system) to maintain it anymore.

Will you remove gtk+ from your overlay?
As of now, there is also perfect gentleman's gtk with the same patch. It looks like he also replaced atk with at-spi2-core 3 weeks ago for gtk2. Gtk3 also lacks the dependency.
If perfect gentleman also gives up, I'll try maintaining it. For now, dev-libs/atk is staying in my world file.
Makes me wonder though, do people really don't mind dbus?
I learned about your gtk and perfect gentleman's from here.
I also got the idea of trimming atk from that thread.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54577
Location: 56N 3W

PostPosted: Sun Jun 18, 2023 11:57 am    Post subject: Reply with quote

stefan11111,

Quote:
Makes me wonder though, do people really don't mind dbus?

Most people don't even know that dbus is installed, so they don't think about it. They just want a tool to do a job.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sun Jun 18, 2023 12:07 pm    Post subject: Reply with quote

NeddySeagoon wrote:
stefan11111,

Quote:
Makes me wonder though, do people really don't mind dbus?

Most people don't even know that dbus is installed, so they don't think about it. They just want a tool to do a job.

So can be said about systemd, though dbus isn't nearly as bloated or as big of a security hole.
Afaik dbus is actually useful on wayland, but it's just bloat on xorg.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sun Jun 18, 2023 12:12 pm    Post subject: Reply with quote

stefan11111 wrote:
Makes me wonder though, do people really don't mind dbus?

Whether you like it or not, there is practically no way around it, anymore.
For instance sddm, kitty, google-chrome, discord, connman, networkmanager, and most of wayland requires dbus.
Back to top
View user's profile Send private message
stefan11111
l33t
l33t


Joined: 29 Jan 2023
Posts: 934
Location: Romania

PostPosted: Sun Jun 18, 2023 12:22 pm    Post subject: Reply with quote

mv wrote:

Whether you like it or not, there is practically no way around it, anymore.

That a challenge?
I never liked software telling me what to do, especially redhat's software.
Code:
$ eix -I dbus
No matches found

$ eix -I udev
No matches found

$ cat /etc/portage/profile/package.provided
# librewolf without dbus
app-accessibility/at-spi2-core-2.46.0
#sys-apps/dbus-1.15.4-r1
#dev-util/patchelf-0.18.0
#dev-libs/dbus-glib-0.112
dev-util/gdbus-codegen-2.74.6
# go back to a static /dev
x11-base/xorg-drivers-21.1-r2
#virtual/dev-manager-0-r2
# purge systemd
virtual/tmpfiles-0-r3
#sys-fs/udev-init-scripts-35
# steam without bloat
#gnome-extra/zenity-3.92.0
#sys-libs/pam-1.5.2-r3
# romeve icon themes
virtual/freedesktop-icon-theme-0-r4
x11-themes/hicolor-icon-theme-0.17
dev-util/gtk-update-icon-cache-3.24.31
# remove Xorg bloat
x11-apps/rgb-1.0.3
#x11-misc/compose-tables-1.8.4

$ cat /etc/portage/package.mask
# use libressl
#dev-libs/libevent::gentoo
dev-lang/python::gentoo
dev-lang/python::pg_overlay
dev-lang/ruby::gentoo
dev-lang/rust::gentoo
dev-lang/rust-bin
dev-perl/Net-SSLeay::gentoo
dev-libs/openssl::gentoo
#dev-libs/libevent
#dev-lang/python
#dev-lang/ruby
#dev-lang/rust
#dev-lang/rust-bin
#dev-perl/Net-SSLeay
#dev-libs/openssl
# go back to a static /dev
sys-fs/eudev
#sys-fs/udev
#virtual/udev
sys-auth/polkit
sys-auth/consolekit
sys-auth/rtkit
media-sound/pulseaudio
sys-apps/systemd
# purge systemd
#sys-apps/openrc::gentoo
sys-apps/systemd-utils
# librewolf without dbus
#app-accessibility/at-spi2-core
#>=dev-libs/atk-2.46
dev-libs/atk::gentoo
x11-libs/gtk+::gentoo
#x11-libs/gtk+::mv
# other bloat
sys-libs/pam
sys-auth/pambase

INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev /usr/share/icons /usr/share/applications /usr/share/gtk-3.0/emoji"

Still, it's a shame that you drop gtk, but I don't have any claim over anyone's time. Thank you for maintaining it so far.
_________________
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3419

PostPosted: Sun Jun 18, 2023 12:56 pm    Post subject: Reply with quote

Well, the main discussion seems to have concluded already, so
stefan11111 wrote:
Makes me wonder though, do people really don't mind dbus?

Make a poll :lol:
I personally don't pay it much attention; it mostly stays out of my way, so it's not a big issue, but at the same time it is a layer of complexity and overhead which does not seem to actually improve things over other mechanisms.
It's just that instead of message flow like: A -> socket -> B
we get something like: A -> socket -> dbus -> socket -> B.

Answers like "but without dbus you'd need to know server's socket path" which I got a long time ago after asking about the pros are not an argument. With dbus you need to know server's dbus name, how is that different? Oh, and you still need to know dbus's socket path.
Talking to multiple clients at the same time? Yeah, multiple clients talk to dbus over a single socket, just like they would to the server directly.
Multiple servers responding to a single client call? I can vaguely imagine this being useful in a deeply integrated desktop environment, but in this case, you probably also need some application-specific logic at the event forwarder, making generic solutions useless anyway...
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sun Jun 18, 2023 1:53 pm    Post subject: Reply with quote

stefan11111 wrote:
mv wrote:

Whether you like it or not, there is practically no way around it, anymore.

That a challenge?

None of the software I mentioned can be used without dbus. It is without discussion that I need every single of these (well, perhaps one of the two network clients could be dropped if this would solve the problem, but that's it).
Quote:
I never liked software telling me what to do, especially redhat's software.

I think more pragmatic. It is not about liking; it is a question whether I need some software or not. Moreover, as long as it does not open any attack vector, I do not care much.
Quote:
Still, it's a shame that you drop gtk

Done now: It makes no sense to provide a gtk+:3 patch which does not change the dependencies (and an ebuild with currently broken dependencies). And people using only gtk+:2 but not gtk+:3 are probably rare these days as well. In fact, I am thinking about to remove all gtk+:2 only stuff. I am not a big fan of the gtk+ development, but practically all software switched.
Moreover, only the newest gtk+ is maintained and receives security updates, so from the security perspective it is probably also better to switch - the sooner, the safer.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6145
Location: Dallas area

PostPosted: Sun Jun 18, 2023 2:22 pm    Post subject: Reply with quote

I was one of the early people messing with gtk+:3 and the at bridge

At the time, I was using minimal X (openbox, tint) and didn't need dbus (which at-spi* bridge pulls in) thus the patches, etc.

I've since walked away from X, in favor of wayland and as mentioned it's pretty much impossible to use without dbus, thus I haven't used a patched gtk+:3 in quite a while. I've long walked away from gtk2 as it's unmaintained, and won't work with most newer software, especially wayland stuff.

I understand the minimalist approach to desktops, etc, but I don't care so much anymore. And I still don't use one of the major DE's.
Plus things are different, this isn't 1990's or early 2000's, like it or not things move on, some software is still usable, others need updating/replacing.

I do like to avoid much of the silliness around trying to make things like openrc look like systemd, simply because someone has a limited viewpoint, but I'm not against progress as a general rule. I use an ancient eudev (because it works), but I like compilers, libraries, etc to be more or less modern. I run a newish kernel.
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum