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

_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to