Date: Fri, 8 Sep 2017 09:41:35 +0200 From: Romain =?iso-8859-1?Q?Tarti=E8re?= <romain@FreeBSD.org> To: Russell Haley <russ.haley@gmail.com> Cc: Freebsd-mono <freebsd-mono@freebsd.org> Subject: Re: Update on porting mono 5 Message-ID: <20170908074135.GA76671@blogreen.org> In-Reply-To: <CABx9NuREWeJtXC6ykdBge%2BkYrFMaa028KtaKoCwZwjqO1VwneQ@mail.gmail.com> References: <17078253.u2dgjZK1Z6@dragon.local> <1557586.GGzvBQ0jK6@dragon.local> <CABx9NuR6knOHfGEwZLvDZcTMn8e0TR5uscjh52DY1yq1-ujybQ@mail.gmail.com> <2223962.JDsoWRiPl4@dragon.local> <CABx9NuREWeJtXC6ykdBge%2BkYrFMaa028KtaKoCwZwjqO1VwneQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--CE+1k2dSO48ffgeK Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 07, 2017 at 05:36:17PM -0700, Russell Haley wrote: > A subtle but important distinction. Also, are all items available in > pkg built from source? If yes, does that mean pkg is a source or > binary download? (kaboom! My head explodes). Unfortunately, some packages are not build from source. Let's recap, FreeBSD has a ports tree and also packages: - When installing through the ports tree, you build the software from source. Any missing build or run dependency is also build from source. The "ports tree" is basically a set of rules to build each piece of software, and is made available by the FreeBSD project on the internet; - When you install using packages, you install binaries. Only missing run-time dependencies are installed using packages (no build-dependencies since you build nothing, so you end-up with less software installed). The packages you install have been build using the ports tree (with ports-mgmt/poudriere for example) on some machine of the FreeBSD project, and made available to the wild. So, when using pkg(8), you only handle binary packages, never source code. But the opposite is not true: the ports tree attempts to cope with redistribution restrictions [1], so some ports will just download and install binary blobs (e.g. proprietary drivers). By extension, some ports decided to trim-down build dependencies by simply downloading a binary (it works well for things like Java and .Net because they are not native binaries). To check this, have a look at the many Java project (e.g. net/activemq downloads a tarball containing 107 .jar files and has NO_BUILD set, so the port just put the files at the right place, but does nothing more). Even some upstream projects trend to do so, for example, when compiling monodevelop from upstream's source, the build procedure use nugets to download dependencies as binary blobs. I understand that it eases-up the life of the project's developers, but is not in-line with the philosophy of the ports tree. Ports are supposed to build from source, quoting the porter handbook [2]: =AB Always use mainstream sources when and where possible =BB. Russell, do these details help preventing your head from exploding? References: 1. https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book= =2Ehtml#porting-restrictions 2. https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book= =2Ehtml#slow-sources --=20 Romain Tarti=E8re <romain@FreeBSD.org> http://people.FreeBSD.org/~romain/ pgp: 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F (ID: 0x5112336F) (plain text =3Dnon-HTML=3D PGP/GPG encrypted/signed e-mail much appreciated) --CE+1k2dSO48ffgeK Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGzBAEBCAAdFiEEgjSaeOfAuAcLWYD/uk0dlVESM28FAlmySawACgkQuk0dlVES M2+XWgv/frHAIQ8qamst4fOyV4vBEGBgUO2EuBGZuuXww3n2IRuOwU2Em9q5jqsQ Oid5ASPq14t6+lvz8YYCva2QU438MHo8DgW/HY0EYqgdM505kAMWxktWvksKO/JW 6JGrv74pgYQJSCoYj1uPLcLYIbFTXEMikTMXPiQobFxxeVxTEFSxY1FsF8h6Qk1Z 78wnYKDp+Ftlwu50HpIyb2Zt5KlUBWTdnJoRz2UEnClIfc9VfiZ9vIj8C96sgiPf JSKqqiU8HODO2KmdwQ9+4S+YEaP4haMDbgFdUDF9Q4S4e8iWElglC94mAjqJcNLu iONGma7Lqdj2Y2UgZS+KJe7flf157lPnT1XsU+kKLtAGVz1FJGmvCbKQqJblLnKA +t41LfjjfFPRnOhNn99+GKdexdOrIJDC4RZYCPYoQeY+g6UlDnFBfCm6J+c/zZug /VgJimfE5Da6lKCLFuopsEqvixqthu374HaF8QkEktRFJxVS+CzX5oUts7q1rFUm P6r+hA+L =zWx9 -----END PGP SIGNATURE----- --CE+1k2dSO48ffgeK--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170908074135.GA76671>