blob: e258cb826645253a572f15bd5a7a728008888f7e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# Log of things done for the last semi-mass rebuild
# $Id: semi_auto_rebuild.txt,v 1.1.1.1 2006/10/06 22:22:02 c4chris Exp $
# 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
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 <package>.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...
|