Skip site navigation (1)Skip section navigation (2)
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>