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