Date: Thu, 6 Jun 2024 22:47:05 +0900 From: Tomoaki AOKI <junchoon@dec.sakura.ne.jp> To: ports@freebsd.org Subject: Re: dependency hell Message-ID: <20240606224705.801cbb2ed2847b38e9138b57@dec.sakura.ne.jp> In-Reply-To: <9c709d96-98b9-490a-baab-8a076ef4fd7e@quip.cz> References: <31f85810-cb4d-46b8-8fb9-4923f6499a31@waschbuesch.de> <9c709d96-98b9-490a-baab-8a076ef4fd7e@quip.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 6 Jun 2024 15:16:33 +0200 Miroslav Lachman <000.fbsd@quip.cz> wrote: > On 06/06/2024 14:30, Martin Waschbüsch wrote: > > Hello port list, > > > > I use poudriere to create my own repositories for typical webservers we > > run (apache, mariadb, php). > > > > Some change(s) in some port(s) seem to have introduced loads of > > additional dependencies (X, wayland, gtk) mostly unwanted on the type of > > system we run. > > > > I know how to find out dependencies for installed packages, but that > > does not help here as the packages are not yet built. > > > > Is there a way (other than searching the commit logs for all packages I > > plan to build) to pinpoint the package(s) that introduced the new > > dependency? > > Not a perfect but better than nothing - https://www.freshports.org/ > You can search for some package and then view the list of dependencies > or you can go the other way - what packages require this package. > > But once you do not use default options your dependencies may be different. > > Kind regards > Miroslav Lachman Before FLAVOR feature is introduced, ports-mgmt/portupgrade did a perfect job for you, with `portupgrade -r -n port-to-check`. # Means, dry-run for upgrading all ports depending upon specified port # RECURSIVELY. But unfortunately, it doesn't (officially and perfectly) support FLAVORs. So it is now NOT as perfect as before. ports-mgmt/pkg_replace basically tracks direct dependencies/dependants only. Not sure for other tools for bare-metal environment. Instead, if you want you can run `poudriere bulk -j <jailname> -n <origin[@flavor]>` and `poudriere bulk -j <jailname> -S -n <origin[@flavor]>` then check for differences. Without -S, all UPATED ports which the specified port depends on AND all ports depending upon the specicied port REGARDLESS THEY ARE UPDATED OR NOT, both recursively. With -S, only all UPATED ports which the specified port depends on are shown as tobuild. So the difference would be what you want. And if you don't want unneeded dependency hell, as you may already undderstood, option -S would be what you want, taking the risks that forgotton to be bumped dependants are not rebuilt until it is bumped or actually updated. HTH. -- Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20240606224705.801cbb2ed2847b38e9138b57>