-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Wesley J. Landaker wrote on Mon, Mar 17, 2003 at 12:01:44PM -0700 : > > I've been doing this kind of thing a lot by hand. It would be awesome if > it was supported by urpmi tools.
Agreed. Kind of similar, I have a script that I use to maintain some personal CVS rpms that I use (such as mutt). Here's the script that I use to do it. #!/bin/bash # Set environment variables here. Their function should be obvious. CVSLOCATION="-d :pserver:[EMAIL PROTECTED]:/cvsroot/slicker" PROG="slicker" VER="0.1" SPECFILE="$HOME/RPM/SPECS/$PROG.spec" UPLOADUSER=todd UPLOADHOST=www.mrball.net UPLOADDIR=/var/www/vhosts/downloads.mrball.net increment_spec_version() { # Set extension. Would normally be mdk, but set it to your initials # so that it's clear that it's not an official Mandrake RPM. EXT=tal VERSION=$(awk '$0 ~ /%define release/ {print $3}' ${SPECFILE}) TARG=$(echo $VERSION | sed 's/0\.cvs\.//' | sed "s/${EXT}//") LASTTARG=$(( $TARG - 1 )) TARG=$(( $TARG + 1 )) LASTVER="0.cvs.${LASTTARG}${EXT}" NEWVER="0.cvs.${TARG}${EXT}" echo "Using $NEWVER as current release version." perl -pi -e "s/%define release $VERSION/%define release $NEWVER/" \ $SPECFILE unset EXT } add_spec_changelog() { LINE1="* $(date +"%a %b %d %Y") Todd Lyons <[EMAIL PROTECTED]> $VER-$NEWVER" LINE2="- Updated cvs snapshot" perl -we "open (SPEC, \"${SPECFILE}\"); while (<SPEC>) { print $1; /%changelog/ && print \"$LINE1\n$LINE2\n\n\"; } close SPEC;" > $SPECFILE.$NEWVER mv -f $SPECFILE $SPECFILE.$VERSION mv -f $SPECFILE.$NEWVER $SPECFILE [ -e $SPECFILE.$LASTVER ] && rm -f $SPECFILE.$LASTVER } echo echo "Password is blank" echo unset GOTTEN cd ~/src [ ! -d $PROG ] \ && [ -d $PROG-$VER ] \ && mv $PROG-$VER $PROG \ && GOTTEN=yes [ ! -d ${PROG} ] \ && mkdir $PROG cvs $CVSLOCATION login if [ -z $GOTTEN ]; then cvs -z3 $CVSLOCATION co $PROG else cvs -z3 $CVSLOCATION update $PROG fi cvs $CVSLOCATION logout cd $PROG make distclean cd .. mv $PROG $PROG-$VER tar -jcvf $PROG-$VER.tar.bz2 $PROG-$VER mv -f $PROG-$VER.tar.bz2 ~/RPM/SOURCES echo echo -n "Build new $PROG? (y/n) " read answer case "$answer" in y*|Y*) increment_spec_version add_spec_changelog rpm -ba $SPECFILE ;; *) exit 0 ;; esac # echo "Exiting before upload" && exit 0 unset answer echo echo -n "Upload to server? (y/n) " read answer case "$answer" in y*|Y*) NEWRPM=$(ls ~/RPM/RPMS/i586/$PROG-$VER* | tail -n 1) NEWSRPM=$(ls ~/RPM/SRPMS/$PROG-$VER* | tail -n 1) scp $NEWRPM \ [EMAIL PROTECTED]:$UPLOADDIR/Mandrake/9.0/RPMS scp $NEWSRPM \ [EMAIL PROTECTED]:$UPLOADDIR/Mandrake/9.0/SRPMS ;; *) exit 0 ;; esac - -- ...and I will strike down upon thee with great vengeance and furious anger, those who attempt to poison and destroy my binaries, and you will know my name is root, when I lay my vengeance upon thee. Mandrake Cooker Devel Version, Kernel 2.4.21-0.13mdk -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE+diJQlp7v05cW2woRAk7zAKCvyp9GxZ2vBIYojBdxrXZF67P5xQCdGMeB woYjQ23H5hRcNG24j3Fam3Q= =7Nae -----END PGP SIGNATURE-----