# Log of things done for the last semi-mass rebuild # $Id: semi_auto_rebuild.txt,v 1.3 2008/02/11 18:32:53 mschwendt Exp $ # Author: Christian Iseli # Grab list of noarch packages repoquery -a --repoid=extras-development \ --qf='%{buildtime} %{name} %{arch} %{version}-%{release} %{sourcerpm}' \ | sort | grep ' noarch ' > pkg_noarch.txt # Grab list of source packages in the repo, with their build time repoquery -a --repoid=buildcheck-extras-development-source \ --qf='%{buildtime} %{name} %{version}-%{release}' \*.src \ | sort -nr > lst.txt # Turn the time in a readable form perl -ane '$F[0] = localtime($F[0]); print join(" ", @F), "\n"' \ lst.txt > lst2.txt # Apply script to determine which ones need a rebuild ./check_rebuild2 lst2.txt > lst3.txt # Remove the noarch packages from the list ./rm_noarch lst3.txt >lst4.txt # Produce a list of package names to include in a mail perl -ane 'print "$F[5]\n"' lst4.txt|sort >~/to_rebuild.txt # Add package owner email field in the list of packages to rebuild ./add_owner lst4.txt >lst5.txt # Edit list to hand-remove packages that other people said they'd handle # themselves vi lst5.txt # Mark out packages that do not have a simple numeric release field ./check_release lst5.txt > lst_noauto.txt # Extract the list of simple packages diff lst5.txt lst_noauto.txt |grep '^<'|sed 's/^..//' >lst_auto.txt # Make sure we have the latest version of all packages in our CVS checkout pushd /export/scratch/extras/ cvs update popd # Do the automated mass rebuild for the simple packages export RPM_PACKAGER="You " for f in `awk '{print $6}' lst_auto.txt`; do echo $f ./bumpspecfile.py /export/scratch/extras/$f/devel/$f.spec pushd /export/scratch/extras/$f/devel cvs commit -m 'automated bump and rebuild' && make tag && make build popd done # Now do the rest of the packages (repeat for each package...) for f in `head -1 lst_noauto.txt | awk '{print $6}'`; do echo $f ./bumpspecfile.py /export/scratch/extras/$f/devel/$f.spec pushd /export/scratch/extras/$f/devel cvs diff done vi .spec cvs diff cvs commit -m 'automated bump and rebuild' && make tag && make build popd vi lst_noauto.txt # To remove the first line # Done...