From owner-freebsd-ports@FreeBSD.ORG Sun Jun 8 20:25:24 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B4A46BED for ; Sun, 8 Jun 2014 20:25:24 +0000 (UTC) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "ca.infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 40D4025F8 for ; Sun, 8 Jun 2014 20:25:24 +0000 (UTC) Received: from seedling.black-earth.co.uk (seedling.black-earth.co.uk [81.2.117.99]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.8/8.14.8) with ESMTP id s58KPGka034812 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Sun, 8 Jun 2014 21:25:17 +0100 (BST) (envelope-from matthew@FreeBSD.org) Authentication-Results: lucid-nonsense.infracaninophile.co.uk; dmarc=none header.from=FreeBSD.org DKIM-Filter: OpenDKIM Filter v2.8.3 smtp.infracaninophile.co.uk s58KPGka034812 Authentication-Results: smtp.infracaninophile.co.uk/s58KPGka034812; dkim=none reason="no signature"; dkim-adsp=none Message-ID: <5394C6A2.3080802@FreeBSD.org> Date: Sun, 08 Jun 2014 21:25:06 +0100 From: Matthew Seaman User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: Re: How are ports built now References: <20140607202241.GA59544@spectrum.skysmurf.nl> <53938114.9060303@gmx.de> <5394837D.80901@gmail.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="t4DD6xU56206jKJQmP0gEekCfnwuL3auG" X-Virus-Scanned: clamav-milter 0.98.3 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-3.2 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lucid-nonsense.infracaninophile.co.uk X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jun 2014 20:25:24 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --t4DD6xU56206jKJQmP0gEekCfnwuL3auG Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 08/06/2014 17:54, Paul Schmehl wrote: > It seems like a completely unworkable solution to me. For example, say= > you have a port with 10 options. Imagine how many different binaries > you would have to have to cover every possible combination of selected > options. It would take a huge amount of storage Yes. You're absolutely right -- there is a combinatorial problem with port options. However there are three things that will help: * Sub packages. Many option settings just add some extra files to a or data package. With the plan to create sub packages -- ie. dividing up the files from a single software compilation into more than one binary package -- a significant proportion of that goes away. * The realization that we really don't need to build packages for all different possible combinations of options. Some option sets simply don't work. Others are for features that only a tiny minority of people would ever want. * The ports isn't going away. If you need a special set of options for a particular port, then you will still have the choice of building from source via the ports. Unlike many other packaging systems, the results of doing this will still be completely integrated with the packaging system, and you will be able to mix and match ports you compile yourself with binary packages from the repositories. Hopefully the necessity of adopting the third option can be minimized, although nothing is going to stop you doing that should you simply prefer to do so. Staging is one of the big pieces necessary to make this all work. It also has the interesting side effect that since everything is built as a package it makes it quite natural to build your own package sets and set up a package repository. If you've got more than one FreeBSD system to manage[*], then I can heartily recommend setting up a package building system and package repository. It's like night and day: you build off-line at your leisure in a clean environment with no fuss and no worries if things don't work entirely right first time -- you haven't affected anything of consequence, so you can just fix the problem and try again without downtime on important services. You can install exactly the software you'll be using on a test system and run it though all the QA you could want before deploying it live. The when it comes to doing the actually installation of packages on your live systems it takes only seconds of disruption, and you're done. poudriere(8) + pkg(8) really is the winning combination. Cheers, Matthew [*] Or even if you only have just the one. --=20 Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey --t4DD6xU56206jKJQmP0gEekCfnwuL3auG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.20 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQJ8BAEBCgBmBQJTlMasXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkAT5d8QAJzs/KePQftxlHd1/MxmnSRG kwen/zY1MoZyJHdZe9FcMCh3dWq78lM7+KQWJ8p46h/4AB9jPsxM2yYhNMk2AdEF BpliAC+wxR74Widq25+X8YncQGXZYeQEwmvG6P1Uf2++HmjYiATx+mLjureenrhc usbIlIubaC1HoBZh1CkSz20NcSl90TZWlmbX0GYXhu6BMm8br9SxnmKb/z81RFXa fB0PuFlN650gcapYtOaD2x0+pvpZ/VVkpVxjhYjErRkpM+tQfZMV9PUB75p0jO/n tL03oDCzzAmc50WeXbKSeP/B3Y85ilcwbZLgef3sMAQrUlMK/+IsGK1jmYaYS08t 3qYfh8kDTVnbP6Vc35mKh+9GqMDRSCWqUrZD6jLTyawNUXhCGlDH+CRhDjKwQn12 kmwwGup4SXcrEuy2o42/FQkhP5ybRYFMy3BiZif7F2RKZV3chkMmKOFiLS64Yix8 4Gte8bRb3AytC2ngZnANvyCLDSvF/vboJCgLlwt1qmhZk1JK2i0/3AO94SmvlQ3G NNkJ/LU2Kwvlax+VdeHBJBQnBfSPHjTwtPdWsr/w9v6ebUEqOxx86bRKDfSGFL8e JsIH+yDks1rXfmcL5XLLqk5LUEnh09R8vE+iFzeZZGMfHNgup2t3MCbUKA/k9vnt 3llGiBfO8C4mYtfC+4w+ =TRbL -----END PGP SIGNATURE----- --t4DD6xU56206jKJQmP0gEekCfnwuL3auG--