From owner-freebsd-ports@FreeBSD.ORG Wed May 18 06:55:07 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AFC6316A4D0; Wed, 18 May 2005 06:55:07 +0000 (GMT) Received: from lakermmtao11.cox.net (lakermmtao11.cox.net [68.230.240.28]) by mx1.FreeBSD.org (Postfix) with ESMTP id 030E843DB8; Wed, 18 May 2005 06:55:07 +0000 (GMT) (envelope-from mezz7@cox.net) Received: from mezz.mezzweb.com ([68.103.32.140]) by lakermmtao11.cox.net (InterMail vM.6.01.04.00 201-2131-118-20041027) with ESMTP id <20050518065506.DEBW28600.lakermmtao11.cox.net@mezz.mezzweb.com>; Wed, 18 May 2005 02:55:06 -0400 Date: Wed, 18 May 2005 01:56:13 -0500 To: freebsd-ports@freebsd.org From: "Jeremy Messenger" Content-Type: text/plain; format=flowed; delsp=yes; charset=us-ascii MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: User-Agent: Opera M2/8.0 (Linux, build 1095) Subject: auto-plist , almost same idea as with plist in Tools. X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 May 2005 06:55:07 -0000 Hello folks, I wrote it back in 2003 (hide in my machine :-)), but recently I have decided to let others know and did a near rewrite, then ahze has helped me to improvement on it a lot. marcus has helped me some too. I use it very often when I work with ports and it's always useful for me, so I think it's time to release it in public. What the hell is it? Let me copy and paste part from the auto-plist(8) that I wrote it tonight. =================================== The auto-plist script automates the procedure of generating and editing port's plist. It also will informing you what you need to edit plist and Makefile if there is something that can't be done by automatically. Take MAN, INFO, GCONF_SCHEMAS, and etc as for example. The goal of auto-plist is to not edit anything outside plist such as Makefile, distinfo, and other than plist file but to collect the information for plist. You can't run auto-plist outside the port directory, because it is heavy depend on Makefile such as pick up the UNIQUENAME, MTREE_FILE, NO_MTREE, PLIST_SUB, and other variables. Current, auto-plist has the following features: o Remove mtree from plist. o Support NO_MTREE define. o Convert FOOBAR to %%FOOBAR%%, current it will do on DATADIR, DOCSDIR, EXAMPLESDIR, SITE_PERL, PERL_VER, PERL_ARCH, PYTHON_INCLUDEDIR, PYTHON_SITELIBDIR, PYTHON_LIBDIR, and PYTHON_VERSION. o Create a build log. o Remove share/nls/(POSIX & en_US.US-ASCII), gconf, info/dir, and libdata/pkgconfig. o Convert missing locale directory that isn't in mtree support. ie: @unexec rmdir %D/share/locale/* 2> /dev/null || true o The 'FYI:' message for info, man, schemas and omf exist in plist. o Check if .desktop has MimeType, then add '@(un)exec...update- desktop-database..' in the plist. Also, add the 'FYI:' message to let us to know that it has MimeType. =================================== http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/portstools/auto-plist/ There is a small known issue like if PLIST_SUB has something weird then the result auto-plist will not work very well. You can check in editors/abiword for example. The editors/abiword has '"ABIVERSION=2.2"' in it that make auto-plist not work. I did a fix in abiword-devel by remove the quote like this below to make auto-plist works. -PLIST_SUB+= "ABIVERSION=${ABIVERSION}" +PLIST_SUB+= ABIVERSION=${ABIVERSION} If anyone find any bug, have any suggest, patch or whatever related with auto-plist, please report or let me know at mezz@FreeBSD.org. Thanks. BTW: Thanks to marcus for host it in MarcusCom CVS. BTW2: Keep in mind, it's near auto but there is very small part you still have to edit it by manual. Some don't have or do have to edit, depend on port. Cheers, Mezz -- mezz7@cox.net - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org