mingo-app / mingo

Found a bug? have a FR ?
59 stars 3 forks source link

Dependency review for version 1.12.1 #563

Closed PolarianDev closed 1 year ago

PolarianDev commented 1 year ago

I adopted mingo a few months back now because it was left orphaned and outdated. I do not use mingo, but I know other Arch Linux users do thus I continue to maintain it.

However, I have not reviewed the dependencies, and some of them seem excessive. Please could you point out missing dependencies, and dependencies in the following list which are NOT required, to improve the package;

I believe a large number of these dependencies, esspecially the xorg dependencies are excessive.

I will also ask a TU to review the package to improve it even further.

Good luck with mingo, Polarian

PolarianDev commented 1 year ago

@tothradoslav I assume that means you are not going to give me the list of dependencies mingo depends on so I can eliminate the ones which are not needed. :/

FichteFoll commented 5 months ago

After checking the dependencies of the binary via this small script

#!/usr/bin/env bash

binary=${1?binary argument missing}
libraries=$(ldd "$binary" | rg -o '.*=> (.+) \(0x.*\)' -r '$1')
pacman -F $libraries | rg -o 'is owned by (\S+)' -r '$1' | sort -u

I was able to get the following list for the mingo executable:

core/brotli
core/bzip2
core/dbus
core/expat
core/gcc-libs
core/glib2
core/glibc
core/gmp
core/gnutls
core/icu
core/libcap
core/libffi
core/libgcrypt
core/libgpg-error
core/libidn2
core/libp11-kit
core/libtasn1
core/libunistring
core/libxml2
core/lz4
core/nettle
core/nspr
core/nss
core/pcre2
core/sqlite
core/systemd-libs
core/util-linux-libs
core/xz
core/zlib
core/zstd
extra/alsa-lib
extra/at-spi2-core
extra/avahi
extra/cairo
extra/fontconfig
extra/freetype2
extra/fribidi
extra/gdk-pixbuf2
extra/graphite
extra/gtk3
extra/harfbuzz
extra/jbigkit
extra/json-glib
extra/libcloudproviders
extra/libcups
extra/libdatrie
extra/libdrm
extra/libepoxy
extra/libjpeg-turbo
extra/libpng
extra/libthai
extra/libtiff
extra/libx11
extra/libxau
extra/libxcb
extra/libxcomposite
extra/libxcursor
extra/libxdamage
extra/libxdmcp
extra/libxext
extra/libxfixes
extra/libxi
extra/libxinerama
extra/libxkbcommon
extra/libxrandr
extra/libxrender
extra/mesa
extra/mesa-amber
extra/pango
extra/pixman
extra/tracker3
extra/wayland

It contains a few more than what is currently listed, but I can't say if all of them are required or transitive dependencies at this moment.

The chrome-sandbox executable only needs glibc. The also bundled keytar.node executable uses:

core/gcc-libs
core/glib2
core/glibc
core/libffi
core/libgcrypt
core/libgpg-error
core/libsecret
core/openssl
core/pcre2
core/tpm2-tss
core/util-linux-libs
core/zlib