You are not logged in.
A recent change to gnome-control-center to require malcontent (for parental controls) means that a standard installation of Gnome now brings in flatpak as a required dependency. I'm not sure the best way to engage with the packagers / maintainers of these packages; but, I'd like to understand more about this change and if it's possible to make at least something in this tree optional.
Offline
Libraries that are directly linked in the main binary of a package can't be optional.
Online
Thanks for the reply here and the conversation on IRC. It sounds like the options here are:
Revert the change (unlikely since there's not necessarily a compelling reason that Arch shouldn't package gnome-control-center without parental controls support)
File a bug with Malcontent to change their implementation for Flatpak to not create a direct library dependency (not likely)
File a bug with Gnome Control Center to work with malcontent dynamically such that it doesn't need to be compiled with malcontent support (note sure it's feasible)
I've no idea how likely either of the latter two are to get anywhere. I'm just floored if anyone thinks making flatpak a required dependency of standard Gnome is a good idea.
Last edited by nalthien (2022-05-04 23:43:16)
Offline
I'm just floored if anyone thinks making flatpak a required dependency of standard Gnome is a good idea.
You obviously don't know the Gnome devs very well then...
Offline
gnome-control-center links to libmalcontent-0.so provided by the malcontent package but that library does not link to libflatpak.so? libmalcontent-ui-0.so from the same package does link to libflatpak.so? If that is correct then you could ask for a split package.
Offline
gnome-control-center links to libmalcontent-0.so provided by the malcontent package but that library does not link to libflatpak.so? libmalcontent-ui-0.so from the same package does link to libflatpak.so? If that is correct then you could ask for a split package.
That seems to be the approach Debian has taken. I'm happy to request things in that direction; but, I honestly wouldn't know where to begin.
Offline
I found this post after being unpleasantly surprised at flatpack requirements as well. FWIW I posted at malcontent's Gitlab (Issue #50) to see if they would be interested to remove it as a hard dep.
Offline
@nalthien Please try the following
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
pkgbase=malcontent
pkgname=('malcontent' 'malcontent-ui')
pkgver=0.10.3
pkgrel=2
pkgdesc="Parental control support for applications"
url="https://gitlab.freedesktop.org/pwithnall/malcontent"
license=(LGPL2.1)
arch=(x86_64)
depends=(accountsservice dbus glib2 gtk3 polkit appstream-glib)
makedepends=(git meson gobject-introspection gtk-doc libglib-testing yelp-tools flatpak)
_commit=9dd47e5abcbddb8b08c29be0304ead70cee1c5bc # tags/0.10.3^0
source=("git+https://gitlab.freedesktop.org/pwithnall/malcontent.git#commit=$_commit")
sha256sums=('SKIP')
pkgver() {
cd $pkgname
git describe --tags | sed 's/-/+/g'
}
prepare() {
cd $pkgname
# Fix build with Meson 0.61
# https://bugs.archlinux.org/task/73879
git cherry-pick -n f433aaf8c8f82f0aeaedee664f08bc6fcad47b0d
}
build() {
arch-meson $pkgname build
meson compile -C build
}
check() {
meson test -C build --print-errorlogs
}
package_malcontent() {
provides=(libmalcontent-${pkgver%%.*}.so)
meson install -C build --destdir "$pkgdir"
install -d -o root -g 102 -m 750 "$pkgdir/usr/share/polkit-1/rules.d"
mkdir libmalcontent-ui-install
mv "$pkgdir"/usr/bin/malcontent-control libmalcontent-ui-install
mv "$pkgdir"/usr/include/malcontent-ui-0 libmalcontent-ui-install
mv "$pkgdir"/usr/lib/libmalcontent-ui* libmalcontent-ui-install
mv "$pkgdir"/usr/lib/pkgconfig/malcontent-ui-0.pc libmalcontent-ui-install
mv "$pkgdir"/usr/share/applications/org.freedesktop.MalcontentControl.desktop libmalcontent-ui-install
mv "$pkgdir"/usr/share/gir-1.0/MalcontentUi-0.gir libmalcontent-ui-install
mv "$pkgdir"/usr/share/icons/hicolor/scalable/apps/org.freedesktop.MalcontentControl.svg libmalcontent-ui-install
mv "$pkgdir"/usr/share/icons/hicolor/symbolic/apps/org.freedesktop.MalcontentControl-symbolic.svg libmalcontent-ui-install
mv "$pkgdir"/usr/share/metainfo/org.freedesktop.MalcontentControl.appdata.xml libmalcontent-ui-install
mv "$pkgdir"/usr/share/polkit-1/actions/org.freedesktop.MalcontentControl.policy libmalcontent-ui-install
}
package_malcontent-ui() {
pkgdesc+=" - User Interface"
depends=(malcontent flatpak)
provides=(libmalcontent-ui-${pkgver%%.*}.so)
install -d "$pkgdir"/usr/{bin,include,lib/pkgconfig,share/{applications,gir-1.0,icons/hicolor/{scalable,symbolic}/apps,metainfo,polkit-1/actions}}
mv libmalcontent-ui-install/malcontent-control "$pkgdir"/usr/bin/
mv libmalcontent-ui-install/malcontent-ui-0 "$pkgdir"/usr/include/
mv libmalcontent-ui-install/malcontent-ui-0.pc "$pkgdir"/usr/lib/pkgconfig/
mv libmalcontent-ui-install/org.freedesktop.MalcontentControl.desktop "$pkgdir"/usr/share/applications/
mv libmalcontent-ui-install/MalcontentUi-0.gir "$pkgdir"/usr/share/gir-1.0/
mv libmalcontent-ui-install/org.freedesktop.MalcontentControl.svg "$pkgdir"/usr/share/icons/hicolor/scalable/apps/
mv libmalcontent-ui-install/org.freedesktop.MalcontentControl-symbolic.svg "$pkgdir"/usr/share/icons/hicolor/symbolic/apps/
mv libmalcontent-ui-install/org.freedesktop.MalcontentControl.appdata.xml "$pkgdir"/usr/share/metainfo/
mv libmalcontent-ui-install/org.freedesktop.MalcontentControl.policy "$pkgdir"/usr/share/polkit-1/actions/
mv libmalcontent-ui-install/* "$pkgdir"/usr/lib/
}
Last edited by loqs (2022-05-05 04:37:31)
Offline
hehe it was fast
https://aur.archlinux.org/packages/gnom … -noflatpak
Archi3
Offline
hehe it was fast
https://aur.archlinux.org/packages/gnom … -noflatpak
After installing that, It looks like all that's needed to remove all the flatpak stuff that was previously added is:
pacman -Rs malcontent
userdel -r flatpak
Am i missing anything else?
Offline
Yes, I am also concerned about the "flatpak" dependency. I don't even need the "malcontent", but it's required by "gnome-control-center" and is not even optional. That's nonsense!
Offline
According to the Gnome team, flatpak is not required: https://discourse.gnome.org/t/gnome-con … ional/9776
So this is a bug in Arch packaging.
Offline
Don't bump, edit your posts to mend them if nobody has replied.
Also that's no news. Did you read this thread at all before posting?
Both, the config change (post #1) and the library situation (#5) are mentioned and post #8 provides a split package for mal… content
And https://bugs.archlinux.org/task/74638 -> https://gitlab.freedesktop.org/pwithnal … te_1367059 actually suggests that a change in gnome made mal… ware a requirement to maintain feature parity.
Offline
Is not it nonsense? Require something for something else what two or three people will use? Just asking, next time half of KDE will be needed because of some 5kb library? In ten years Linux will be full of bloat as windows became over the years. Yes we have i3 and CLI programs.
Archi3
Offline
That's besides the point - and also answered (kinda) in post #4
Offline
Both, the config change (post #1) and the library situation (#5) are mentioned and post #8 provides a split package for mal… content
I suppose the question is: does something like this situation create an onus to split the malcontent package in the official repositories. In theory, something like the PKGBUILD posted in #5 above would be possible; but, I know it's not typical for Arch to do any type of package customization so I'm not particularly hopeful. If I felt more confident in my understanding of PKGBUILDs and the AUR, I'd take it upon myself to maintain a split version of malcontent / libmalcontent there; but, I'm a total novice in that area.
Unlike others, I don't have a problem with Gnome including parental controls--that's totally irrelevant to this topic anyway.
Offline
it's not typical for Arch to do any type of package customization
That's orthogonal to the question of splitting. There're several split packages in the repos.
you could ask for a split package
The package maintainer will let you know how they feel about the onus.
In the particular case and on the one hand, I'm personally all for avoiding flatpak at all costs.
But on the other hand, this is trying to fight the very nature of gnome and I guess it's only a matter of time until more parts of gnome will depend on flatpak.
A beast will always be a beast. It's its nature and it won't change.
One either likes that, or one doesn't.
*shrug*
Offline
The package has been split https://archlinux.org/packages/testing/ … alcontent/ so all that remains is adjusting the dependency for gnome-control-center?
Offline