1 1.2.2.2 bouyer # $NetBSD: metalog.subr,v 1.2.2.2 2011/02/17 11:57:17 bouyer Exp $ 2 1.2.2.2 bouyer 3 1.2.2.2 bouyer # 4 1.2.2.2 bouyer # xrcs add 5 1.2.2.2 bouyer # xrcs update 6 1.2.2.2 bouyer # xrcs remove 7 1.2.2.2 bouyer # 8 1.2.2.2 bouyer # RCS wrapper for non-interactive scripts. 9 1.2.2.2 bouyer # Excerpted from /etc/security. 10 1.2.2.2 bouyer # 11 1.2.2.2 bouyer 12 1.2.2.2 bouyer xrcs_descr= 13 1.2.2.2 bouyer xrcs_msg= 14 1.2.2.2 bouyer xrcs_cur= 15 1.2.2.2 bouyer xrcs_new= 16 1.2.2.2 bouyer 17 1.2.2.2 bouyer xrcs_latest() 18 1.2.2.2 bouyer { 19 1.2.2.2 bouyer rcslog -rlatest ${xrcs_cur} | \ 20 1.2.2.2 bouyer sed -n '/^revision/ { s/^revision //; p; }' 21 1.2.2.2 bouyer } 22 1.2.2.2 bouyer 23 1.2.2.2 bouyer xrcs_retag() 24 1.2.2.2 bouyer { 25 1.2.2.2 bouyer previous=$( xrcs_latest 2>/dev/null ) 26 1.2.2.2 bouyer if [ -n "$previous" ]; then 27 1.2.2.2 bouyer rcs -q -Nprevious: ${xrcs_cur} 28 1.2.2.2 bouyer fi 29 1.2.2.2 bouyer } 30 1.2.2.2 bouyer 31 1.2.2.2 bouyer xrcs_unlock() 32 1.2.2.2 bouyer { 33 1.2.2.2 bouyer rcs -q -u -U -M ${xrcs_cur} 34 1.2.2.2 bouyer } 35 1.2.2.2 bouyer 36 1.2.2.2 bouyer xrcs_ci() 37 1.2.2.2 bouyer { 38 1.2.2.2 bouyer xrcs_retag 39 1.2.2.2 bouyer ci -q -f -u -t-"$xrcs_descr" -m"$xrcs_msg" -Nlatest ${xrcs_cur} 40 1.2.2.2 bouyer rcs -q -kb -U ${xrcs_cur} 41 1.2.2.2 bouyer } 42 1.2.2.2 bouyer 43 1.2.2.2 bouyer xrcs_co() 44 1.2.2.2 bouyer { 45 1.2.2.2 bouyer co -q -f -u ${xrcs_cur} 46 1.2.2.2 bouyer } 47 1.2.2.2 bouyer 48 1.2.2.2 bouyer xrcs_init() 49 1.2.2.2 bouyer { 50 1.2.2.2 bouyer if [ -f ${xrcs_cur},v ]; then 51 1.2.2.2 bouyer xrcs_unlock 52 1.2.2.2 bouyer fi 53 1.2.2.2 bouyer 54 1.2.2.2 bouyer if [ -f ${xrcs_cur} ]; then 55 1.2.2.2 bouyer if [ ! -f ${xrcs_cur},v ]; then 56 1.2.2.2 bouyer xrcs_ci 57 1.2.2.2 bouyer xrcs_co 58 1.2.2.2 bouyer fi 59 1.2.2.2 bouyer fi 60 1.2.2.2 bouyer } 61 1.2.2.2 bouyer 62 1.2.2.2 bouyer xrcs_add() 63 1.2.2.2 bouyer { 64 1.2.2.2 bouyer xrcs_init 65 1.2.2.2 bouyer cp -p $1 ${xrcs_cur} 66 1.2.2.2 bouyer xrcs_ci 67 1.2.2.2 bouyer xrcs_co 68 1.2.2.2 bouyer } 69 1.2.2.2 bouyer 70 1.2.2.2 bouyer xrcs_update() 71 1.2.2.2 bouyer { 72 1.2.2.2 bouyer xrcs_init 73 1.2.2.2 bouyer xrcs_ci 74 1.2.2.2 bouyer xrcs_co 75 1.2.2.2 bouyer } 76 1.2.2.2 bouyer 77 1.2.2.2 bouyer xrcs_remove() 78 1.2.2.2 bouyer { 79 1.2.2.2 bouyer xrcs_init 80 1.2.2.2 bouyer cp /dev/null ${xrcs_cur} 81 1.2.2.2 bouyer xrcs_ci 82 1.2.2.2 bouyer rm ${xrcs_cur} 83 1.2.2.2 bouyer } 84 1.2.2.2 bouyer 85 1.2.2.2 bouyer xrcs() 86 1.2.2.2 bouyer { 87 1.2.2.2 bouyer eval xrcs_$1 88 1.2.2.2 bouyer } 89