From owner-freebsd-ports@FreeBSD.ORG Fri Oct 27 04:32:15 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org 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 53BE116A40F for ; Fri, 27 Oct 2006 04:32:15 +0000 (UTC) (envelope-from freebsd-ports@m.gmane.org) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB9A043D58 for ; Fri, 27 Oct 2006 04:32:14 +0000 (GMT) (envelope-from freebsd-ports@m.gmane.org) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1GdJMh-0003VK-3a for freebsd-ports@freebsd.org; Fri, 27 Oct 2006 06:30:43 +0200 Received: from c-66-31-231-74.hsd1.ma.comcast.net ([66.31.231.74]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 27 Oct 2006 06:30:43 +0200 Received: from boumenot by c-66-31-231-74.hsd1.ma.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 27 Oct 2006 06:30:43 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-ports@freebsd.org From: Christopher Boumenot Date: Fri, 27 Oct 2006 00:27:01 -0400 Lines: 67 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: c-66-31-231-74.hsd1.ma.comcast.net User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) Sender: news Subject: port_history - track port commit message comments 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, 27 Oct 2006 04:32:15 -0000 Every time I upgrade a port I am usually left wondering what changed. To solve that problem I started tracking freshports.org with a simple script. I would record the rss data for every port that I had installed, and send an email when I noticed a port was updated that I had installed. This eventually proved to be problematic. It is a balancing act to try and get a continuous stream of updates, and not hammer the server with unnecessary rss updates. I never found a good update interval. I also ran into problems with freshports.org going down, which caused even more missed updates. (I think freshports.org recently got an upgrade, which may have addressed the uptime issue, or maybe my script just sucked.) Because my first idea never panned out, I decided to use the cvs port mailing list to get the information I wanted. I download, parse, and insert into a database the commit messages from the list. I then wrote a script (port_history) that enumerates the ports currently installed, and then queries the database for any updates to said ports. For example, I just ran portsnap fetch, portsnap update, portupgrade -r, and noticed that win32-codecs is due for an upgrade. I run port_history win32-codecs, and I can trace the entire update history. The message looks something like this. --->multimedia/win32-codecs<--- adamw [ 2003-08-03 20:39:53 ] Update to 2.0.90. .... remko [ 2006-09-14 11:19:24 ] Mark win32-codecs as FORBIDDEN. The quicktime browser plugin could lead to Remote code execution. See http://vuxml.FreeBSD.org/24f6b1eb-43d5-11db-81e1-000e0c2e438a.html for more information. With hat: secteam acm [ 2006-10-07 01:49:33 ] - Add the REALPLAYER and QUICKTIME(off) OPTIONS. If QUICKTIME OPTION is off, this port could install without problem of vulnerabilities. - Bump PORTREVISION - Other few modifications Sponsored by: FreeBSD Bugathon This works fairly well. I run into issues with ports that have version identifiers in the commit, but portupgrade treats them differently, i.e. samba3 vs. samba. I think this can be fixed by parsing /usr/port/MOVED. (I should look at the code for portupgrade to see what it does.) My question is, does this sound useful, and can it be integrated so that the community can use it as well? Does anyone else suffer from OCD, and need to know why their port was updated? :) Thanks, Christopher