Date: Thu, 14 Mar 2019 16:50:10 +0900 (JST) From: Hiroki Sato <hrs@FreeBSD.org> To: meta@FreeBSD.org Cc: ports@FreeBSD.org Subject: Re: loose dependency Message-ID: <20190314.165010.1777227588049179733.hrs@allbsd.org> In-Reply-To: <20190314061242.ixvtakqiel4aa4r3@icepick.vmeta.jp> References: <20190314031726.aaspgwdcuithhgnc@icepick.vmeta.jp> <20190314.134014.2127053084940820202.hrs@allbsd.org> <20190314061242.ixvtakqiel4aa4r3@icepick.vmeta.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart(Thu_Mar_14_16_50_10_2019_969)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Koichiro Iwao <meta@FreeBSD.org> wrote in <20190314061242.ixvtakqiel4aa4r3@icepick.vmeta.jp>: me> On Thu, Mar 14, 2019 at 01:40:14PM +0900, Hiroki Sato wrote: me> > There is no easy solution to solve it completely because currently me> > package dependency is solved in a strict manner including package me> > names and version numbers, not only existence of specific files. me> > Creating multiple ports which depend on each software or using me> > FLAVORS to make it easier is a way to provide packages with every me> > possible combinations of dependency and let one to choose. me> me> Specifically talking, net/tigervnc is the case. Actually, the dependency me> is build dependency not runtime. ImageMagick is used to create multiple me> sizes of icons such as 24x24, 32x32, 48x48 during the build. Whichever me> versions of ImageMagick in the current ports tree can be used for the me> purpose. Once the port is built, ImageMagick is not required at all and me> can be uninstalled if no other packages depends on it. In this case BUILD_DEPENDS with bin/convert just works. It does not record package-level dependency and it does not matter that where bin/convert came from while you have to put a specific version of ImageMagick on the BUILD_DEPENDS line. An installed bin/convert will used if it exists already, and the specified version will be installed if not. One problem is that "a specific version" on the BUILD_DEPENDS line can be different from other ports. In that case, which version will be installed during the build can depend on the order of builds including other ports. We define Mk/bsd.default-versions.mk to make it consistent especially for runtime dependency. It should work for build-time dependency though I am not sure if it is worth doing. -- Hiroki ----Security_Multipart(Thu_Mar_14_16_50_10_2019_969)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iEYEABECAAYFAlyKB7IACgkQTyzT2CeTzy2UtwCfcYCNgCM9oqPKEtY/5KZ5UXu0 p08AoIGb3FyjUo0HpdTqUMm31Lgh2qRx =xA6W -----END PGP SIGNATURE----- ----Security_Multipart(Thu_Mar_14_16_50_10_2019_969)----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190314.165010.1777227588049179733.hrs>