From owner-freebsd-mono@freebsd.org Fri Sep 8 23:35:40 2017 Return-Path: Delivered-To: freebsd-mono@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A0F6E11CC6 for ; Fri, 8 Sep 2017 23:35:40 +0000 (UTC) (envelope-from russ.haley@gmail.com) Received: from mail-lf0-x234.google.com (mail-lf0-x234.google.com [IPv6:2a00:1450:4010:c07::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A24F46F700 for ; Fri, 8 Sep 2017 23:35:39 +0000 (UTC) (envelope-from russ.haley@gmail.com) Received: by mail-lf0-x234.google.com with SMTP id d17so8537966lfe.2 for ; Fri, 08 Sep 2017 16:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=kiNWqxJrgM04djJ9U/eiOodXVBSpEZaDzW+Z0Ei4+Ck=; b=GSozWNKPsPzIacM6ciOAXCud78J1fLlAkmbEPUQVCJfPoAN2dFwKqBe4SXeps0XdaQ n8NOkSekt+llkdK6nB1Whe6xKAABTUDd23/+ynri5S5rWiU9lhN24KvtZOgj2uYS6Uut YPcOV8f54zQvBAjnIJzNyhtiTGYfoKTcnGZbX5iaDjRFYDJcS5WYvVGlXJ+8lv7iaUMs BnHYgYASatH+6P8BmFpb7+U12yrUD1ZQzc+vtRG3rMTMxPZJG/ruceIAQQgtgVGnLOpu SUqvgO+OOv4Q+FBum3ADMj3/pgEDcySBGG+PaCubphfyX2aFpODKSMjhEnJnDRxc9NN6 Wngg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=kiNWqxJrgM04djJ9U/eiOodXVBSpEZaDzW+Z0Ei4+Ck=; b=XJ5ebfuOimz5BEZok4rH8gJNo5w27hM+8wfK4XXbuHMSszUgZaKUm7vliYMbiqKQw8 Ne3hHWyCYimrAzD6HYNcCPzBDqotx8cZ+JwJr+j1l0IPGQe10XFORpTPATyfjkH8gdzc YG1Nn4jyxQwMlITwLT9GS566cHHZZzqSPJ/hHbuh/d4I36Ir5Bco6abWJO+YJw/LdtcI Z14Gm+jYcvLmJKwZ8fKgLdHZ9KXcdx2sbKObBygyAC4ZWoFcXqwEmWmtZI3Q7mGOfd64 Yai3rU/lK3mYLFgpAs8rgHDkyfQIXHaL5DuGJWl5y8lw7Cnp0sgChLRX57XzDhzZHhk8 LYBA== X-Gm-Message-State: AHPjjUiOZJzI+OTfTNM/soyiIg6T/YoKcjm0MKit9hjTrbCxen9x9WuQ gU8OqDx8TM0Gdvy0y8zgppF3tkzOlQ== X-Google-Smtp-Source: AOwi7QCeGUUbd8OX6GrW/5JQbaoaFENB7MMMT9qXLfBflejcIm4Oqf5lGrTB8l24aJ7nEr0z8SEut8eD5+TgXp793uA= X-Received: by 10.25.81.85 with SMTP id f82mr1645902lfb.70.1504913737128; Fri, 08 Sep 2017 16:35:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.46.81.18 with HTTP; Fri, 8 Sep 2017 16:35:36 -0700 (PDT) In-Reply-To: <20170908074135.GA76671@blogreen.org> References: <17078253.u2dgjZK1Z6@dragon.local> <1557586.GGzvBQ0jK6@dragon.local> <2223962.JDsoWRiPl4@dragon.local> <20170908074135.GA76671@blogreen.org> From: Russell Haley Date: Fri, 8 Sep 2017 16:35:36 -0700 Message-ID: Subject: Re: Update on porting mono 5 To: Russell Haley , Freebsd-mono Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Sep 2017 23:35:40 -0000 On Fri, Sep 8, 2017 at 12:41 AM, Romain Tarti=C3=A8re = wrote: > 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]: =C2=AB Always use mainstream sources whe= n > and where possible =C2=BB. > > Russell, do these details help preventing your head from exploding? Thanks for that Romain! I suppose I was more being philosophical then literal (and a little silly). If the pkg repository server where the package was built is using the exact same sources, OS version and dependencies as I would use from Ports, IS it a binary? Your (perfect) response clearly shows the answer is yes, but I was trying to have some fun with that idea. Cheers! Russ > References: > 1. https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/bo= ok.html#porting-restrictions > 2. https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/bo= ok.html#slow-sources > > -- > Romain Tarti=C3=A8re http://people.FreeBSD.org/~rom= ain/ > 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 appreciat= ed)