From owner-freebsd-ports@freebsd.org Thu Dec 15 17:17:55 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 890B2C8162F; Thu, 15 Dec 2016 17:17:55 +0000 (UTC) (envelope-from iblis@hs.ntnu.edu.tw) Received: from mail.hs.ntnu.edu.tw (mail.hs.ntnu.edu.tw [140.131.149.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59B4D1295; Thu, 15 Dec 2016 17:17:54 +0000 (UTC) (envelope-from iblis@hs.ntnu.edu.tw) Received: by mail.hs.ntnu.edu.tw (Postfix, from userid 800) id 78DB01C6457; Fri, 16 Dec 2016 01:17:45 +0800 (CST) Received: from abeing (IP-215-9.cs.nctu.edu.tw [140.113.215.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: iblis@hs.ntnu.edu.tw) by mail.hs.ntnu.edu.tw (Postfix) with ESMTPSA id 3BE6D1C644A; Fri, 16 Dec 2016 01:17:45 +0800 (CST) Date: Fri, 16 Dec 2016 01:17:44 +0800 From: Iblis Lin To: ports@FreeBSD.org Cc: freebsd-ports@FreeBSD.org Subject: Re: The ports collection has some serious issues Message-ID: <20161215171743.GA20206@abeing> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.7.1 (2016-10-04) X-Bogosity: Ham, tests=bogofilter, spamicity=0.506773, version=1.2.4 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: Thu, 15 Dec 2016 17:17:55 -0000 I want to talk about another issue: the testing of ports framework We usually test our ports via poudriere or synth. We have a greate ports framework to help us build software, and we only need to write a few lines of code to leveage it. But ... where is the testing of the framework ? Those code under Mk/* is quite complex nowaday, and the requirement is keeping changing (for example, more and more new languages appear, helpers need to be added into ports framework). This will be a big barrier for maintenance. Is time to build a next generation framework? I think about this issue for a few weeks already, but still not get a good answer. I only sorted out some principles and want to hear more feedback: 1) Select a modern scripting language Lots of testing methodology implemented in those languages. Most of them are high-level. The cost of maintenance (hopefully) reduce. So, I think this is a good starting point. 2) Not to abandon tons of Makfile 3) Not to introduce any new dependency for a end user Just my imagination: In order to keep (2) and (3), I will use Python to build a system doing Makfile code generation. The ports framework managers and porters just write some Python function and testing code, then generate a proper tested and stable Makefiles for users. -- Iblis Lin 林峻頤