From owner-freebsd-ports@FreeBSD.ORG Fri Apr 23 02:28:27 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07F9F106564A for ; Fri, 23 Apr 2010 02:28:27 +0000 (UTC) (envelope-from wenheping@gmail.com) Received: from mail-pw0-f54.google.com (mail-pw0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id CE1778FC13 for ; Fri, 23 Apr 2010 02:28:26 +0000 (UTC) Received: by pwi9 with SMTP id 9so6717176pwi.13 for ; Thu, 22 Apr 2010 19:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=vnD/L4rJ8/7BE5JnV3UzQRUB95IB8R7u1D45C5lveoQ=; b=qXwBIo6yQ1wzcyfugSiAWGi6eNPey6cQkMpO5TsUzTdr8cfm+JUFmqiQ7eaUSLy5VJ fbmDw/9rU6hHXVwwyiBhIpYHZ1mu0SOvg9Rv7xXwRZQYlv8ioj3ZERc6rqsrmUMWF0SB inKq/Wlbf5VV491UDjIRRUj/5uNk/4s61iqh0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=onqSdNCBHwCkDMGdbCNqfmq8NXQxH0fiRe63kIXOlpjDYKeCpNvR8IWjhX52JOyHuF 3/eg6aEP9EQZL3bNWDjHSUeCHU0sXJWq2tC77dKh8ali9eN6G56+/rVBWG0VzPK+f4Zp Q1FQLTLyIYN5J2QInk/jYR0MEwL5VDaqQq6f8= MIME-Version: 1.0 Received: by 10.142.140.13 with HTTP; Thu, 22 Apr 2010 19:28:25 -0700 (PDT) In-Reply-To: References: <4BCFEA35.8070109@bsdforen.de> <20100422065709.GA33521@e.0x20.net> <20100422172009.GA27597@comcast.net> Date: Fri, 23 Apr 2010 10:28:25 +0800 Received: by 10.142.60.21 with SMTP id i21mr5001923wfa.132.1271989705969; Thu, 22 Apr 2010 19:28:25 -0700 (PDT) Message-ID: From: wen heping To: Rob Farmer Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-ports@freebsd.org Subject: Re: Dynamic plists 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: Fri, 23 Apr 2010 02:28:27 -0000 Are you working on scilab-5.2.2 ? wen On Fri, Apr 23, 2010 at 10:23 AM, Rob Farmer wro= te: > On Thu, Apr 22, 2010 at 10:20 AM, Charlie Kester = wrote: >> On Thu 22 Apr 2010 at 08:48:55 PDT Rob Farmer wrote: >>> >>> On Wed, Apr 21, 2010 at 11:57 PM, Lars Engels >>> wrote: >>>> >>>> On Thu, Apr 22, 2010 at 08:18:29AM +0200, Dominic Fandrey wrote: >>>>> >>>>> On 22/04/2010 01:45, Rob Farmer wrote: >>>>> > I maintain math/scilab and am preparing to update it. This port has= a >>>>> > huge plist (slightly under 15000 lines), hundreds of which change >>>>> > depending on what options are selected. It is a bit of a pain to >>>>> > update. The porters handbook makes vague reference to dynamic plist= s - >>>>> > so I was wondering, would this be a good idea? And if so, what is t= he >>>>> > best way to make one? >>>>> >>>>> You normally base it on the output of >>>>> ${FIND} -s PATH -type f >>>>> ${FIND} -d PATH -type d | ${SED} 's,^,@dirrm ,' >>>>> >>>>> Of course there's normally more to it, but that's the basic principle= . >>>>> >>>> >>>> Or use auto-plist: >>>> http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/portstools/auto-plist= / >>>> >>> >>> Seems to have the same limitation of genplist - it doesn't address the >>> fact that the plist may change if OPTIONS change. >> >> I feel your pain. >> But tools like genplist and auto-plist might get you part of the way to >> your solution. =A0To get the rest of the way, you might need to write a >> custom maintenance script. >> >> Just thinking out loud here, but it seems you'll need to something >> similar to what mergemaster does: >> >> - enable all the options and use 'genplist create' to get a new plist >> - diff the previous portversion's plist and the new genplist >> - emit any lines that haven't changed >> - for lines that differ only in the presence of a PLIST_SUB variable at >> =A0the beginning of the old line, emit the old line >> - ignore any lines which exist only in the old plist >> - for lines that are new, prompt for a decision on what to do =A0(leave = as >> =A0is or preface with one of a predetermined set of PLIST_SUB variables) > > What I have been doing is running genplist with no options enabled, to > get a base plist, then turning them on one at a time and rerunning > genplist, placing the appropriate PLIST_SUB variable at the beginning > of any new lines, and then testing with random sets of options in > tinderbox. > > Basically, the point of my message was just wondering if there is a > better way to be doing things. From the responses so far, it would > appear not, so I'll stick with this. > > Thanks, > -- > Rob Farmer > >> >> This doesn't automate the whole process, but at least it reduces the >> manual inspection and intervention to the plist lines that really need >> it. >> This is only a first stab at the problem, so the steps I outlined >> probably need to be refined and debugged. >> >> Or maybe I'm just being stupid. =A0Wouldn't be the first time. =A0:) >> _______________________________________________ >> freebsd-ports@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-ports >> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >> > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >