From owner-freebsd-ports@FreeBSD.ORG Sat Jan 28 14:37:39 2012 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE5A81065677 for ; Sat, 28 Jan 2012 14:37:39 +0000 (UTC) (envelope-from rwmaillists@googlemail.com) Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by mx1.freebsd.org (Postfix) with ESMTP id 61DE98FC14 for ; Sat, 28 Jan 2012 14:37:39 +0000 (UTC) Received: by wibhn14 with SMTP id hn14so3219487wib.13 for ; Sat, 28 Jan 2012 06:37:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=date:from:to:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type:content-transfer-encoding; bh=AxLfwmQgtZ4T9u04fqxqwDkp+13pwYAXuiIEjYfm+S4=; b=JyXJtTpbwDzDHAf+1dF2F5p86SwYCv4MA/MUw0iUWSJpCyo6bJrBmGyFv3NcnJhO0f lTGDEUx2JsO6G7oRhzY8vEa+DbW5c6ZBZMcN7bDvqgnVq5R+gSM2w/nekkp7EpPvCk9m bLijU+f9qv721wnFQkTQkwGvGz9DpEmea8eNU= Received: by 10.180.78.233 with SMTP id e9mr16716861wix.0.1327761458390; Sat, 28 Jan 2012 06:37:38 -0800 (PST) Received: from gumby.homeunix.com (87-194-105-247.bethere.co.uk. [87.194.105.247]) by mx.google.com with ESMTPS id fv6sm33471387wib.8.2012.01.28.06.37.36 (version=SSLv3 cipher=OTHER); Sat, 28 Jan 2012 06:37:37 -0800 (PST) Date: Sat, 28 Jan 2012 14:37:34 +0000 From: RW To: ports@freebsd.org Message-ID: <20120128143734.6166f5fc@gumby.homeunix.com> In-Reply-To: <20120127200325.66f36090@cox.net> References: <20111203173149.224a64e6@cox.net> <20111214004838.GK1593@dormouse.experts-exchange.com> <20120112212905.GA78819@dormouse.experts-exchange.com> <20120127200325.66f36090@cox.net> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; amd64-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Subject: Re: A new and better way to do "make readmes"? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jan 2012 14:37:39 -0000 On Fri, 27 Jan 2012 20:03:25 -0600 Conrad J. Sabatier wrote: > I've been thinking for a long time that we need a better way to do > "make readmes", one that would be properly integrated into our > ports Mk infrastructure, to take advantage of make's ability to > recognize which files are up-to-date and which really do need > rebuilding. This wont help and I think there's a better way that will make it up to 700 times faster. When a make readmes is done at the top-level, the top-level and category READMEs are created by make targets and the per port READMEs are created by a perl script in one go from the INDEX- file. I once timed this and the 64 category READMEs took 2 hours, but the ~20,000 port READMEs only took about 9 seconds. Selective updating isn't going to help because 99.9% of the time is spent in the categories and it only takes a single port update to make a category file obsolete. I think the way to speed this up is to have the script generate the category files too. There's no point in bringing in the top-level README since that's already fast. I've been toying with the idea of doing this, but have never got around to it. If anyone wants to have a go I think it would be sensible to write it in awk, since perl is no longer in the base system and the existing perl script isn't really complex enough to be worth hanging-on to.