From owner-freebsd-ports@freebsd.org Sat Dec 17 18:33:03 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 62DA6C85139 for ; Sat, 17 Dec 2016 18:33:03 +0000 (UTC) (envelope-from abi@abinet.ru) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 4EC2F78C for ; Sat, 17 Dec 2016 18:33:03 +0000 (UTC) (envelope-from abi@abinet.ru) Received: by mailman.ysv.freebsd.org (Postfix) id 4B5A8C85138; Sat, 17 Dec 2016 18:33:03 +0000 (UTC) Delivered-To: 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 493FAC85137 for ; Sat, 17 Dec 2016 18:33:03 +0000 (UTC) (envelope-from abi@abinet.ru) Received: from mail.abinet.ru (mail.abinet.ru [136.243.72.227]) by mx1.freebsd.org (Postfix) with ESMTP id C73E178B; Sat, 17 Dec 2016 18:33:01 +0000 (UTC) (envelope-from abi@abinet.ru) Received: from [10.0.1.1] (unknown [10.0.1.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.abinet.ru (Postfix) with ESMTPSA id F1F4A1D99E; Sat, 17 Dec 2016 18:32:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=abinet.ru; s=dkim; t=1481999579; bh=rNYcVbhKCRBkXuB+AIwsb2EGTcvbakrrNf9gljjSIm8=; h=Date:From:To:Subject:References:In-Reply-To; b=FConpytL/tGAjKtKHWY6g41cA3QXTFaJK6xy0Dd2jRcO43sKUlhxEEpPnguHHpatM rKqd3h4xxAYRaK0BCDydYqQFQZUu9kZLeZ4oNtOZoko8qq1KPufzqm0JXvgcIA6hjf FGoa6G9FFGDx73xZ0qovfVPSLyyJK/qVvGNphH3M= Message-ID: <58558519.3080509@abinet.ru> Date: Sat, 17 Dec 2016 21:34:01 +0300 From: abi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:25.8) Gecko/20151117 FossaMail/25.1.9 MIME-Version: 1.0 To: marino@freebsd.org, "ports@FreeBSD.org Ports" Subject: Re: The ports collection has some serious issues References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Dec 2016 18:33:03 -0000 >> 2. It doesn't provide dialog for port options, so >> 2.1 I don't receive information if port options have changed. I don't >> know what else will be pulled to my system after port tree update. > > which of course is a false statement. > If you set port options which then change, Synth will stop and tell > you to reconfigure or remove the saved port options. Not at all. For example, let's assume I go recommended way and have options for ports with not default settings. Let's say, I have perl with default options (no OPTIONS file). Let's say port maintainer adds new option, [NSA Backdoor] Perl will be silently compiled with that option, right? This is not paranoia, here is example from real world - I rebuilded one port and noticed new option - [USE GCC] with default On. I really don't want that gnu beast in my system, so I investigated the problem and suggested patch to compile port under clang. Everyone happy. We can search PR database if you don't believe me. If I was synth user, I've ended with gcc pulled. > >> 2.2 If I make option files for all ports, synth fails to rebuild >> repository if port and it's options are out of sync. > > yes, of course. If you give it impossible instructions, it will stop > and ask you to fix them. Any reasonable person would want to be > informed when the options are incorrect. Did you also notice that > extended use of portmaster resulted in dozens of obsolete options > files that you weren't aware of? So your criticism here is that you > think Synth should just ignore these bad configurations? No, I didn't notece obsolete options. Maybe my /var/db/ports is a complete mess and I should cry in tears. but when portmaster encounters new options it invokes dialog4ports and let me fix the problem. If this leaves some staled OPTIONS file, I'd say it's portmaster bug, not design feature. We all know that portmaster is in rather poor shape. > >> 2.3 When port infrastructure switch to newer default version I must be >> aware that this change occur and set damn options for new default port. > > Another false statement. > The ports framework has a DEFAULT_VERSIONS support which you can > override via a profile mk.conf, just as poudriere does. Doing so > avoid surprises. There is also an UPDATING file in the ports tree but > that's more for portmaster and portupgrade users. First of all, synth ignores /etc/make.conf completely. Yes, we definitely need another place to keep global make options, however DEFAULT_VERSIONS suggestion is a bad advice here. Here is example: recently ports framework deprecated perl 5.20 and switched to 5.24 portmaster users should recompile all ports depended on perl (from my point of view this is done not very reliable), but when it comes to new perl, portmaster will invoke dialog4ports. synth user with non-default perl options will receive new perl with default one. I hit this very problem during my synth test when I noticed pgadmin3 liked to postgresql93-client and added DEFAULT_VERSIONS to 96. > >> So, synth is just a dumb port building tool. If you need your own port >> options you are in risk. Developer of synth said that the problem is in >> my 'portmaster thinking' I should change. > > An absurd assertion spoken loudly by someone that is ill-informed on > the topic. I see how synth can be used in pkg framework, I even agree that synth is poudriere done right and I feel I will use synth test feature for ports I maintain, what I fail to see, how I can use it to keep my laptop updated. I'm not asking for pony here, the examples I provided (if true) lead to overcomplexity maintaining packages up to date.