From owner-freebsd-pkgbase@freebsd.org Sun Aug 4 14:27:10 2019 Return-Path: Delivered-To: freebsd-pkgbase@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B4498AAF04 for ; Sun, 4 Aug 2019 14:27:10 +0000 (UTC) (envelope-from m.jakob@gmx.net) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 461js82gLkz4YLk for ; Sun, 4 Aug 2019 14:27:07 +0000 (UTC) (envelope-from m.jakob@gmx.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1564928825; bh=wV/nZNkyDjCnn/2xPbfvi+Xah4+cb1Kgxp26kQk/buk=; h=X-UI-Sender-Class:From:To:Subject:Date; b=HxLKhL8KnYfjhAAGOZ+xxTf9dDE0+g0xRaIzu4lr7yXx2Xz7ffyztbpoPxoduOgF9 gznTJlPD47Zw6Kl28R4PDMEwAFs24AgBsqTPv+ztRxnjflP8Ve2g4UaTLQp+6m0GX7 wPiX+tA+TcSm/XCwhIQ3Xq8BVUY7nFCKo2anqo6M= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [89.247.34.191] ([89.247.34.191]) by web-mail.gmx.net (3c-app-gmx-bs43.server.lan [172.19.170.95]) (via HTTP); Sun, 4 Aug 2019 16:02:57 +0200 MIME-Version: 1.0 Message-ID: From: "Martin Jakob" To: freebsd-pkgbase@freebsd.org Subject: Unset dependencies in some pkgbase packages Content-Type: text/plain; charset=UTF-8 Date: Sun, 4 Aug 2019 16:02:57 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:0LlvI1rj/2bDYtWeIdrZr726vO7zztECV2VHitfK+bJ9dcda3qcgRbRLxyoO4BY60zL+z AjntWyHmd9GVlAY+yJQTqLYbClotbDQuoU6IipuCOTBdKPEFwu3+x4jNEvWWw/3e2jjaOKkuqn1U bDODqnPCfqSaDdIpi04EJWO6ZgWSNUuCD2ojwNQjT4FHs0Q2ZMwH/mfebIPTD3ajU484nO1e+0CO 7P09mF+lXvuY6qzHmN2Zio/3jpVDTQTDXP99LI86R2O8OX193oX/3/HUSg3TF7DXIclytpi2TFJY CQ= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:/gUnMjdmQYs=:BJJFMky7kvG7rDZHDxGh6/ O1EiwheLQqk1jVHHGfC6zKXivnGMTbucGf8w7y2YMdVCZ4Nmg8NAY7L+sooPrc2LI4ld+HCxN WxKMQMnDAtIlY/1NVhUsx+zRPywmJtZDpFYd3K2rxZj1cFCFlfZagBSWbA8zVzGthFnfHq4QD FWN6/V+jmLZc5FZTy5H+9QZ+UomVPOCnlMExix3B6QXJ0YB15RY0FZotGnUA6DAXq3/VkfsGE Mru58RS8rngZmc++ukbUud6sVXQVtyDpqv5Hi9FNZ4cuezJ3+JKLkC128nzqhoa7HjVnHRzfK NyVwJnAs/wlUa7s3+P8Go64ySeByzOedOHH7uJc0zzQZ06PW25R9ZehZ8I6EC0zYsVJKKiuqM PjgU5A4OId/BLbbTesFSG9CMN56PO/5IR5Adc8yhqcvzoqtfwj9fuGZpfMU9ieHg630E/85R9 PlKtQOKayqXn6ECJ2XV4hHOX7h44GehjX4booe2Znj4Nb6am30dWMf1ZVmvfi3khJPcKS/+1D tVtTcEpyJmvGqUnNUOsi7vIU3nFH3dLr9vghX3zVIvI5BBdCQydvyTecf+U/aa4qx8cU2B9LZ 7h186MHHNUlfSr3N4YkxSAPvyl+udgNMLld5aw1R8n+OYav2z7LKL8s7YYMsMU4MmwxR6Tjf5 2ZdeFYD0AL/FA+lEkpQg3/pOk Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 461js82gLkz4YLk X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=HxLKhL8K; dmarc=none; spf=pass (mx1.freebsd.org: domain of m.jakob@gmx.net designates 212.227.15.18 as permitted sender) smtp.mailfrom=m.jakob@gmx.net X-Spamd-Result: default: False [-1.92 / 15.00]; R_SPF_ALLOW(-0.20)[+ip4:212.227.15.0/25]; FREEMAIL_FROM(0.00)[gmx.net]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[gmx.net:+]; NEURAL_HAM_SHORT(-0.93)[-0.929,0]; HAS_X_PRIO_THREE(0.00)[3]; RECEIVED_SPAMHAUS_PBL(0.00)[191.34.247.89.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmx.net]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; DWL_DNSWL_NONE(0.00)[gmx.net.dwl.dnswl.org : 127.0.3.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.988,0]; R_DKIM_ALLOW(-0.20)[gmx.net:s=badeba3b8450]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[gmx.net]; IP_SCORE_FREEMAIL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[18.15.227.212.list.dnswl.org : 127.0.3.0]; IP_SCORE(0.00)[ip: (-7.16), ipnet: 212.227.0.0/16(-1.45), asn: 8560(2.30), country: DE(-0.01)]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-pkgbase@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Packaging the FreeBSD base system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Aug 2019 14:27:10 -0000 I am trying to visualize the dependencies of the pkgbase packages. To produce the dot file for use with graphviz i used a shell script grepin= g and seding the ucl files in the worldstage directory (see below). After so= me fiddling i got a dot file graphviz could work with. You can create one by your self running the script and using the resulting output in a online graphviz tool like http://www.webgraphviz.com/ or https://stamm-wilbrandt.de/GraphvizFiddle/# I will describe some ascpects of the resulting diagramm. - the biggest node is the runtime package, a lot of packages depend on it. - runtime itself depends only on the clibs package. - clibs has dependent packages: clibs-debug, clibs-development, clibs-lib32, clibs-lib32-debug, clibs-lib32-development, clibs-lib32-profile, clibs-profile - some packages depend on runtime, as mentioned, and have some dependent packages, e.g -> ssh depends on runtime -> these packages depend on the ssh packages: ssh-debug, ssh-development, ssh-lib32, ssh-lib32-debug, ssh-lib32-development, ssh-lib32-profile, ssh-profile - there are other packages which depend on runtime, but the "subpackages" do not depend on the package itself, e.g -> jail depends on runtime -> these packages depend also on runtime instead of jail: jail-debug, jail-development, jail-lib32, jail-lib32-debug, jail-lib32-development - there are a LOT of packages which are standalone in the diagramm, e.g sendmail, the dependent packages sendmail-debug, sendmail-development, sendmail-lib32, sendmail-lib32-debug, sendmail-lib32-development, sendmail-lib32-profile, sendmail-profile are standalone as well. - there is a mixture of the above, for example the runtime has dependent packages as mentioned above and these standalone packages: runtime-lib32-debug, runtime-lib32-development, runtime-lib32-profile as far as i can see, the dependencies are defined in the script /usr/src/release/packages/generate-ucl.sh. In there, some names are hardcoded, like "runtime", "runtime_*", "jail_*". Others are handled as wildcards, like "*_lib32", "*_lib32_development", "*_lib32_debug", ... which often do not depend on their "root" package. While the "named" packages have their own ucl file, these wildcard packages are using the template.ucl file, which does not contain the "deps:" attribute. Script to create the graphviz dot file: =2D--8<---8<---8<---8<---8<---8<---8<---8<---8< #!/bin/sh echo "digraph pkgdeps {" echo " graph [center=3D0 rankdir=3DTD ];" ( for PKG in /usr/obj/usr/src/amd64.amd64/worldstage/*.ucl { PKG_NAME=3D${PKG##*/} PKG_DEPS=3D$(grep -h -A 1 deps ${PKG} | tail -n 1 | sed -e 's/^[ \= t]*//' -e 's/FreeBSD-//g' -e 's/"//g' -e 's/: {//g') if [ ! ${PKG_DEPS} =3D "" ]; then echo " \"${PKG_NAME%.ucl}\" -> \"${PKG_DEPS}\";" else echo " \"${PKG_NAME%.ucl}\";" fi } ) | sort echo "}" =2D-->8--->8--->8--->8--->8--->8--->8--->8--->8 =2D- Martin