Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Oct 2006 00:27:01 -0400
From:      Christopher Boumenot <boumenot@gmail.com>
To:        freebsd-ports@freebsd.org
Subject:   port_history - track port commit message comments
Message-ID:  <ehs1qk$6pa$1@sea.gmane.org>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ehs1qk$6pa$1>