4 # Just run this script in your rpm/packages/rpm-build-tools directory.
7 >&2 printf '*** '${1:+"$@\n"}
12 printf ' '${1:+"$@\n"}
15 [ -f "/etc/shrc.d/rpm-build.sh" ] || die "Install rpm-build-macros package"
16 . /etc/shrc.d/rpm-build.sh
22 src[4]=rpm-build-tools.spec
30 # Checkout on involved files and check for local modifications.
34 msg "Checking out packages/rpm-build-tools/${dst[$I]} file."
35 rs=$(cvs up ${dst[$I]})
37 "M "*) die "You have local modifications in packages/rpm-build-tools/${dst[$I]} file.\nCommit it first." ;;
42 msg "Checking out packages/${src[$I]} file."
43 rs=$(cvs up ${src[$I]})
45 "M "*) die "You have local modifications in packages/${src[$I]} file.\nCommit it first." ;;
50 # Check working revisions of src files
53 msg "Checking revisions."
55 rev[$I]=$(cvs stat ${src[$I]} \
56 | sed -ne 's/^[[:blank:]]*Working revision:[[:blank:]]*\([[:digit:]]\.[[:digit:]]\+\).*/\1/p')
62 # Check wich dst files need updating, update them and prepare msglog
66 msg "Checking wich files need update."
68 if [ "$(diff -q ../${src[$I]} ${dst[$I]})" ]; then
69 cat ../${src[$I]} > ${dst[$I]}
70 LOG="$LOG- ${dst[$I]} up to ${rev[$I]}\n"
74 [ "$LOG" ] || die "Nothing to update!"
76 minor_ver=$(sed -n 's/^\Version:.*\.\([[:digit:]]\+\)/\1/p' rpm-build-tools.spec)
77 minor_ver=$(($minor_ver + 1))
78 sed -i 's/^\(Version:.*\.\)\([[:digit:]]\+\)$/\1'$minor_ver'/' rpm-build-tools.spec
79 sed -i 's/^Release:.*$/Release: 1/' rpm-build-tools.spec
80 ver=$(sed -n 's/^\Version:[[:blank:]]\(.*\)$/\1/p' rpm-build-tools.spec)
81 LOG="- up to $ver\n$LOG"
84 # Show changes and ask user for confirmation.
87 cvs di -u | diffcol | ${PAGER:-'less -r'}
89 printf "Commit log:\n$LOG\nCommit (Yes, No)? "
93 cvs ci -m "$LOG" ${dst[0]} ${dst[1]} ${dst[2]} ${dst[3]} ;;