From owner-freebsd-pkg@freebsd.org Tue Jan 8 11:24:30 2019 Return-Path: Delivered-To: freebsd-pkg@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A296D149C6BD for ; Tue, 8 Jan 2019 11:24:30 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) Received: from admin.sibptus.ru (admin.sibptus.ru [IPv6:2001:19f0:5001:21dc::10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6053E85EB0 for ; Tue, 8 Jan 2019 11:24:29 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sibptus.ru; s=20181118; h=In-Reply-To:Message-ID:Subject:To:From:Date; bh=VxS0sV/o0/RlK4FTCDdJFh4l7/Il3oXTc/PV7/TtWI0=; b=hpH1/rgIKWGMVuTJj719o3VyUU mUN8FS+PB/gFYv8mNLCjPqg2epG3QLX1REMo2bgB0uHU6JSP/sBRVESO6gQ3ql5+k7BwvkcOyME7E ONMuyTVMF/CsgIZ4aj1vRGF9RCdznDszDhdp4x4IOQpuKmGvrDfsTK8rxQmjT0mm8kCE=; Received: from vas by admin.sibptus.ru with local (Exim 4.91 (FreeBSD)) (envelope-from ) id 1ggpUh-000Duc-Dp; Tue, 08 Jan 2019 18:24:27 +0700 Date: Tue, 8 Jan 2019 18:24:27 +0700 From: Victor Sudakov To: freebsd-pkg@freebsd.org Subject: Re: A graphical dependency tree viewer? Message-ID: <20190108112427.GA53026@admin.sibptus.ru> References: <20190107100901.GA36925@admin.sibptus.ru> <4121f685-10b9-aab5-9c33-5356fb30a8d8@FreeBSD.org> <20190108071008.GA49490@admin.sibptus.ru> <54c7bdc4-9eee-5353-88a8-2f6d6831c710@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="IS0zKkzwUGydFO0o" Content-Disposition: inline In-Reply-To: <54c7bdc4-9eee-5353-88a8-2f6d6831c710@FreeBSD.org> X-PGP-Key: http://www.dreamwidth.org/pubkey?user=victor_sudakov X-PGP-Fingerprint: 10E3 1171 1273 E007 C2E9 3532 0DA4 F259 9B5E C634 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: Victor Sudakov X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2019 11:24:30 -0000 --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Matthew Seaman wrote: > >>> > >>> Is there a tool to view all the dependencies of a port/package > >>> (including indirect ones) as a tree? A .dot format would be perfect, = but > >>> an ascii-art tree would do too. > >>> > >>> It would be especially useful if this tool could extract information > >>> from /var/db/pkg/*.sqlite without requiring a ports tree. > >>> > >> > >> Does this suit your purposes? > >> > >> https://github.com/freebsd/pkg/blob/master/scripts/pkg_tree.sh > >> > >=20 > > The author of the script has the right idea, but the visual presentation > > of the graph is lacking: the vertical lines going down towards nowhere > > are confusing: https://termbin.com/vf3u > >=20 > > The tabbed view (-n) is a bit better. > >=20 > > Also, why is openjdk8-8.192.26_3 twice in the tree (see the link above), > > is this intentional? >=20 > Yeah -- the output doesn't merge common dependency subtrees, so if A=20 > depends on B depends on C and also A depends on D depends on C, then C=20 > will appear twice in the output. I see. I wonder if it would even be possible to merge common dependency subtrees in this form of ascii report.=20 However, if the script supported graphviz (.dot) output it would be perhaps feasible. The merging perhaps could even happen automatically within graphviz. Please look at the sample graphics I've prepared with graphviz: http://admin.sibptus.ru/~vas/t.png I did not do any special common dependency processing, graphviz merged the "expat" dependencies for me. Anyway, even in this form the utility could be useful to me, thank you for pointing it out to me. --=20 Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/ --IS0zKkzwUGydFO0o Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJcNIhrAAoJEA2k8lmbXsY0zvMH/0CUsUJ0kxzD3MaV/ka6nkIc vNCi9YFZiMYYJeWpZd5++5ZJBg8WKrUzHZ1wBkoibuHDsOtbWz8W+TkPOeyF/MuA oqwXdr2jbjKP1bT4pHi9IcOyavwadjnYegtdmxO5UUx7/Yxr+JXyhqZcLNFmkOb2 32freWN8B96dF4eFvw3GZmNVTUpzge4Ky6PcXC9crY6FCFSqd4txZHr0Nl4LoIht Oi/pykLRcB7y+NXzC2f/Jv/AyY9eyHq4IZxpZlanFedz7mEcvEeWZkfdP6BPfLu3 FhwEt9GgMkzDGv6yQlBIPvtuvEQu7VmjciPKUR0Ec2v1F3avfD11vvS4tCkV2I4= =Wtfn -----END PGP SIGNATURE----- --IS0zKkzwUGydFO0o--