From owner-freebsd-ports@freebsd.org Mon Feb 8 09:55:58 2016 Return-Path: Delivered-To: freebsd-ports@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 77633A9FACA for ; Mon, 8 Feb 2016 09:55:58 +0000 (UTC) (envelope-from freebsdml@marino.st) Received: from shepard.synsport.net (mail.synsport.com [208.69.230.148]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 314351282 for ; Mon, 8 Feb 2016 09:55:57 +0000 (UTC) (envelope-from freebsdml@marino.st) Received: from [192.168.1.143] (254.175.76.188.dynamic.jazztel.es [188.76.175.254]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by shepard.synsport.net (Postfix) with ESMTP id 3C0F743BC7; Mon, 8 Feb 2016 03:55:56 -0600 (CST) Subject: Re: Removing documentation To: Mathias Picker , Peter Jeremy References: <56B754A8.3030605@marino.st> <20160208064305.GB63030@server.rulingia.com> <56B8454F.8060605@marino.st> <1454923852.4807.19.camel@mathiaspicker.net> Cc: Kevin Oberman , FreeBSD Mailing List From: John Marino X-Enigmail-Draft-Status: N1110 Message-ID: <56B8662A.2050502@marino.st> Date: Mon, 8 Feb 2016 10:55:54 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1454923852.4807.19.camel@mathiaspicker.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Feb 2016 09:55:58 -0000 On 2/8/2016 10:30 AM, Mathias Picker wrote: > Am Montag, den 08.02.2016, 08:35 +0100 schrieb John Marino: > While I like the ideas of synth, and hoped I could use it to just build > my 3-8 ports with modified options, on first look I found many things > suggesting that it's not yet ready: > > - shows uninteresting eye candy instead of build Every single port has it's own build log with far more detail that a source build provides (similar to poudriere) > - stops at every conf file version mismatch requiring me to start make > config by hand, and then to re-run when it discovers the next mismatch. > I mean, WTF? This is incorrect. It lists *ALL* the configuration mismatches at once. This is actually a huge "pro" for synth; no other tool detects this mismatches. It is far worse to have cached options that do not match the current port. The port can be misbuilt and it's a major pain to troubleshoot. All build tools should be doing this. Are you really proposing that a tool build a port with a bad configuration file? You should be thanking Synth for alerting to a problem you obviously didn't know you had. Also, once you fix it, then configuration problems are rare, they occur when the port changes. > - using prebuild packages requires fetching and installing them all > into the local repository? pkg can use multiple repositories with > different priorities, so this seems to clutter my system unnecessarily. Yes, that's what is happening. Prebuilt (an opt-in option) saves you from downloading the distinfo and building the package, so you get a tradeoff. > - building blender rebuilds audio/jack every time??? Yeah, it's a problem with the port. Synth has been detecting port problems that other tools have failed to. I need to look at jack and fix it. > - after building blender successfully, ignores (deletes?) the package > with the cryptic error msg: > - wants to build > 100 ports on my system, whereas portmaster -a just > build 31 ports. That's the first run. After that it's incremental. Synth is a local repository builder; it's trying to build a complete repository tailored to your system. > If I could just rebuild blender, apache, password store with my local > options and install them into a local repository, that would be nice > indeed, saving me from installing poudriere for this minor task. With the prebuilt option on, it will download all the suitable prebuilt packages and build your custom ones. During the upgrade process, pkg will cherry pick the updates. The first run is heavy, the subsequent runs are incremental. > To comment on the original bug report: removing portmaster from > documentation seems to be a bit premature. It's working fine for me, > and it seems quite a lot simpler to me than synth, which makes it > preferable in my book. Honestly you're the first one to say *that*. > Thinking about it, I'm not even sure the clean room build aproach of > synth is actually preferable to portmaster, the messy portmaster > aproach will pick up any messy thing (e.g. library) I did to my system, > which might be exactly what I want. Have to think about this some > more... How about performance? One guy reported periodically building 1800 packages on poudriere requiring 24 hours. Synth did the same exact job in 18 hours. How long would you estimate that portmaster (which does not build concurrently) would take? I'd guess 3 days? You need to understand something about the "clean room", this differs from poudriere. Poudriere builds a pristine jail. Synth uses the host system (same /bin, /sbin, usr/bin, usr/sbin, etc) with no /usr/local, stripped etc, var, etc. This was a design choice because the pristine jail was held as a negative in some use cases. So Synth does exactly what you described above. John