farseerfc / pacvis

Visualize pacman local database using Vis.js, inspired by pacgraph.
https://pacvis.farseerfc.me/
MIT License
192 stars 16 forks source link

Can't do top-down sorting on complex dependencies #1

Open gumblex opened 7 years ago

gumblex commented 7 years ago

I made a fork to use this project for visualizing AOSC's repo. I didn't changed the algorithm. On running, it runs into an endless Top-down sorting <some-package>.

There are circles in the dependencies:

x11-lib(['libdrm', 'cairo', 'harfbuzz', 'freetype', 'fontconfig', 'x11-lib']): fontconfig, libxcb, x11-proto
qemu(['spice', 'qemu']): pixman, libcacard, libjpeg-turbo, libpng, sdl, alsa-lib, nss, glib, gnutls, bluez, vde2, util-linux, curl, cyrus-sasl, mesa, pulseaudio, libcap-ng, libaio, libseccomp, libiscsi, usbredir, spice, libssh, libnfs, brltty, dtc, jemalloc, virglrenderer, vte-gtk3, sdl2, ceph
mesa(['s2tc', 'mesa']): llvm-runtime, x11-lib, libdrm, expat, systemd, elfutils, libvdpau, nettle, libva, wayland, s2tc
dbus(['util-linux', 'pyudev', 'dbus-glib', 'dbus-python', 'lvm2', 'cryptsetup', 'systemd', 'dbus']): x11-lib, expat, systemd
glib(['gamin', 'glib']): pcre, libffi, elfutils, gamin
krb5(['cyrus-sasl', 'openldap', 'krb5']): e2fsprogs, openldap, keyutils
x11-lib+32(['harfbuzz+32', 'freetype+32', 'fontconfig+32', 'x11-lib+32']): fontconfig+32, libxcb+32
automake(['autoconf', 'automake']): autoconf
pango+32(['gtk-3+32', 'librsvg+32', 'poppler+32', 'cairo+32', 'pango+32']): harfbuzz+32, cairo+32, x11-lib+32

An example package database is provided here.

bgloyer commented 5 years ago

I got this too when hooking up to Gentoo's package tree