2 # check for packages on local system with PLD-doc/PLD-update-TODO
3 # Author: Elan Ruusamäe <glen@pld-linux.org>
7 CVSROOT=:pserver:cvs@cvs.pld-linux.org:/cvsroot
10 # generate list of package basenames from rpmdb
14 [ -s $t/rpm.db ] || rpm -qa --qf '%{SOURCERPM} %{VERSION}\n' > $t/rpm.db
16 # translate pkg names to basenames
17 [ -s $t/rpm.basenames ] || sed -re 's,^(.+)-[^-]+-[^-]+ ,\1 ,' $t/rpm.db > $t/rpm.basenames
19 [ -s $t/rpm.lst ] || sort -u $t/rpm.basenames > $t/rpm.lst
22 # fetch PLD-update-TODO
26 [ -s $t/PLD-doc/PLD-update-TODO ] || (cd $t; cvs -d $CVSROOT -Q co PLD-doc/PLD-update-TODO)
28 # reformat for easier parsing
29 # amaya(13) [OLD] 9.54 [NEW] 11.0
30 # vim [OLD] 7.3.401 [NEW] 7.3.515
31 [ -s $t/rpm.todo ] || sed -rne 's,^([^( ]+).*?\[NEW\] (.+)$,\1 \2,p' $t/PLD-doc/PLD-update-TODO > $t/rpm.todo
33 # TODO: should uniq as well:
34 # $ grep links2 PLD-doc/PLD-update-TODO
35 # links2(22) [OLD] 2.2 [NEW] 2.6
36 # links2(25) [OLD] 2.1pre28 [NEW] 2.6
45 [ -s $t/rpm.diffs ] || {
48 v1=$(awk -vpkg=$pkg '$1 == pkg {print $2}' $t/rpm.lst)
51 cmp=$(rpmvercmp $v1 $v2)