/[pkgs]/rpms/kernel/F-9/gen-patches
ViewVC logotype

Contents of /rpms/kernel/F-9/gen-patches

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations) (download)
Wed Jan 9 08:05:11 2008 UTC (22 months, 2 weeks ago) by roland
Branch: MAIN
CVS Tags: kernel-2_6_27_5-30_fc9, kernel-2_6_27_5-41_fc9, kernel-2_6_25_10-85_fc9, kernel-2_6_25_5-49_fc9, kernel-2_6_25-0_207_rc8_git6_fc9, kernel-2_6_25-0_161_rc7_fc9, kernel-2_6_27_12-78_2_9_fc9, kernel-2_6_25-0_77_rc3_git1_fc9, kernel-2_6_25-14_fc9, kernel-2_6_25-0_212_rc8_git6_fc9, kernel-2_6_24_1-31_fc9, kernel-2_6_25-0_148_rc6_git7_fc9, kernel-2_6_25_9-72_fc9, kernel-2_6_27_21-78_2_41_fc9, kernel-2_6_24-12_fc9, kernel-2_6_25_4-39_fc9, kernel-2_6_25-0_64_rc2_git5_fc9, kernel-2_6_24_1-28_fc9, kernel-2_6_25-0_78_rc3_git1_fc9, kernel-2_6_25-8_fc9, kernel-2_6_25-0_33_rc1_fc9, kernel-2_6_25-0_93_rc4_fc9, kernel-2_6_25-0_121_rc5_git4_fc9, kernel-2_6_24-0_162_rc8_fc9, kernel-2_6_25-0_107_rc5_fc9, kernel-2_6_27_8-67_fc9, kernel-2_6_24-0_151_rc7_git4_fc9, kernel-2_6_27_24-78_2_53_fc9, kernel-2_6_25_9-73_fc9, kernel-2_6_25-0_54_rc2_fc9, kernel-2_6_25_13-104_fc9, kernel-2_6_24-9_fc9, kernel-2_6_24-0_157_rc8_fc9, kernel-2_6_25-0_175_rc7_git5_fc9, kernel-2_6_25_11-99_fc9, kernel-2_6_24-0_164_rc8_git4_fc9, kernel-2_6_25-0_34_rc1_fc9, kernel-2_6_27_19-78_2_31_fc9, kernel-2_6_25-0_111_rc5_git1_fc9, kernel-2_6_25_6-55_fc9, kernel-2_6_25-0_185_rc7_git6_fc9, kernel-2_6_25-10_fc9, kernel-2_6_25_4-21_fc9, kernel-2_6_25_9-79_fc9, kernel-2_6_25-0_58_rc2_git4_fc9, kernel-2_6_25-0_130_rc6_git3_fc9, kernel-2_6_26_6-74_fc9, kernel-2_6_26_6-70_fc9, kernel-2_6_25-0_112_rc5_git2_fc9, kernel-2_6_25-1_fc9, kernel-2_6_27_7-53_fc9, kernel-2_6_27_25-78_2_56_fc9, kernel-2_6_24-0_154_rc7_git6_fc9, kernel-2_6_27_9-69_fc9, kernel-2_6_27_4-19_fc9, kernel-2_6_25-0_211_rc8_git6_fc9, kernel-2_6_25-0_127_rc6_git3_fc9, kernel-2_6_25-0_36_rc1_git2_fc9, kernel-2_6_28-2_fc9, kernel-2_6_24-0_144_rc7_git2_fc9, kernel-2_6_27_4-26_fc9, kernel-2_6_26_1-9_fc9, kernel-2_6_25-0_63_rc2_git4_fc9, kernel-2_6_25_9-81_fc9, kernel-2_6_25_10-83_fc9, kernel-2_6_25-0_57_rc2_git4_fc9, kernel-2_6_25-0_177_rc7_git6_fc9, kernel-2_6_27_15-78_2_21_fc9, kernel-2_6_25_14-107_fc9, kernel-2_6_25-0_155_rc6_git8_fc9, kernel-2_6_25-0_133_rc6_git3_fc9, kernel-2_6_25-0_65_rc2_git7_fc9, kernel-2_6_25-0_140_rc6_git5_fc9, kernel-2_6_25-0_153_rc6_git7_fc9, kernel-2_6_25_9-74_fc9, kernel-2_6_26_6-56_rc1_fc9, kernel-2_6_24-0_174_rc8_git7_fc9, kernel-2_6_25-0_104_rc5_fc9, kernel-2_6_25-0_136_rc6_git5_fc9, kernel-2_6_24-0_145_rc7_git2_fc9, kernel-2_6_26_5-32_fc9, kernel-2_6_25-0_216_rc8_git7_fc9, kernel-2_6_25-0_208_rc8_git6_fc9, kernel-2_6_26_2-14_fc9, kernel-2_6_27_12-78_2_4_rc2_fc10, kernel-2_6_25-0_87_rc3_git4_fc9, kernel-2_6_25-0_128_rc6_git3_fc9, kernel-2_6_25_10-91_fc9, kernel-2_6_27_6-43_fc9, kernel-2_6_25-0_55_rc2_git2_fc9, F-9-split, kernel-2_6_25_6-57_fc9, kernel-2_6_24_1-26_fc9, kernel-2_6_27_9-74_fc9, kernel-2_6_25_7-68_fc9, kernel-2_6_25-0_195_rc8_git1_fc9, kernel-2_6_25-0_171_rc7_git3_fc9, kernel-2_6_24-0_155_rc7_git6_fc9, kernel-2_6_26_3-27_fc9, kernel-2_6_27_22-78_2_46_rc1_fc9, kernel-2_6_25_11-93_fc9, kernel-2_6_27_4-17_fc9, kernel-2_6_25_4-29_1_virtio_gso_fc9, kernel-2_6_27_9-73_fc9, kernel-2_6_25-0_224_rc9_fc9, kernel-2_6_25-0_149_rc6_git7_fc9, kernel-2_6_25-0_101_rc4_git3_fc9, kernel-2_6_25_11-97_fc9, kernel-2_6_25-0_35_rc1_fc9, kernel-2_6_24-7_fc9, kernel-2_6_25_14-106_fc9, kernel-2_6_24-15_fc9, kernel-2_6_25-0_187_rc8_fc9, kernel-2_6_25_4-29_fc9, kernel-2_6_25_13-105_fc9, kernel-2_6_25-0_223_rc9_fc9, kernel-2_6_27_21-78_2_43_fc9, kernel-2_6_27_24-78_2_51_fc9, kernel-2_6_27_8-66_fc9, kernel-2_6_25_10-87_fc9, kernel-2_6_27_9-70_fc9, kernel-2_6_25-0_95_rc4_fc9, kernel-2_6_24-0_150_rc7_git4_fc9, kernel-2_6_24-0_140_rc7_fc9, kernel-2_6_24-0_172_rc8_git6_fc9, kernel-2_6_26_5-39_fc9, kernel-2_6_25-0_89_rc3_git5_fc9, kernel-2_6_27_5-37_fc9, kernel-2_6_25-0_154_rc6_git7_fc9, kernel-2_6_27_19-78_2_30_fc9, kernel-2_6_25-0_120_rc5_git3_fc9, kernel-2_6_25-0_210_rc8_git6_fc9, kernel-2_6_25_8-70_fc9, kernel-2_6_25_6-56_fc9, kernel-2_6_25_4-23_fc9, kernel-2_6_26_3-17_fc9, kernel-2_6_24-13_fc9, kernel-2_6_25_4-25_fc9, kernel-2_6_24-0_167_rc8_git4_fc9, kernel-2_6_25-0_81_rc3_git2_fc9, kernel-2_6_25-0_75_rc3_git1_fc9, kernel-2_6_25-0_151_rc6_git7_fc9, kernel-2_6_25-0_157_rc7_fc9, kernel-2_6_27_22-78_2_47_rc1_fc9, kernel-2_6_26_3-29_fc9, kernel-2_6_24-0_147_rc7_git2_fc9, kernel-2_6_25-0_229_rc9_fc9, kernel-2_6_27_7-50_fc9, kernel-2_6_26_6-68_fc9, kernel-2_6_25_6-60_fc9, kernel-2_6_25_4-26_fc9, kernel-2_6_26_5-47_fc9, kernel-2_6_27_14-78_2_14_fc9, kernel-2_6_27_5-36_fc9, kernel-2_6_27_4-18_fc9, kernel-2_6_25-0_80_rc3_git2_fc9, kernel-2_6_24-1_fc9, kernel-2_6_26_5-42_fc9, kernel-2_6_25-0_88_rc3_git4_fc9, kernel-2_6_24-0_141_rc7_fc9, kernel-2_6_27_8-61_fc9, kernel-2_6_25_12-100_fc9, kernel-2_6_24-17_fc9, kernel-2_6_24-14_fc9, kernel-2_6_26_5-45_fc9, kernel-2_6_25_4-42_fc9, kernel-2_6_26_5-41_fc9, kernel-2_6_27_23-78_2_49_fc9, kernel-2_6_27_25-78_2_54_fc9, kernel-2_6_25_9-76_fc9, kernel-2_6_25_6-59_fc9, kernel-2_6_25_10-86_fc9, kernel-2_6_25-0_172_rc7_git4_fc9, kernel-2_6_27_22-78_2_48_fc9, kernel-2_6_25-0_163_rc7_git1_fc9, kernel-2_6_25-0_234_rc9_git1_fc9, kernel-2_6_24-0_146_rc7_git2_fc9, kernel-2_6_24-0_142_rc7_git2_fc9, kernel-2_6_25-0_113_rc5_git2_fc9, kernel-2_6_27_15-78_2_23_fc9, kernel-2_6_25-0_204_rc8_git4_fc9, kernel-2_6_25-0_150_rc6_git7_fc9, kernel-2_6_25_4-34_fc9, kernel-2_6_25-0_90_rc3_git5_fc9, kernel-2_6_25_4-29_3_virtio_gso_fc9, kernel-2_6_26_7-86_fc9, kernel-2_6_25_3-18_fc9, kernel-2_6_25-0_132_rc6_git3_fc9, kernel-2_6_26_5-54_fc9, kernel-2_6_25-0_40_rc1_git2_fc9, kernel-2_6_26_6-61_fc9, kernel-2_6_25-0_48_rc1_git4_fc9, kernel-2_6_25-0_182_rc7_git6_fc9, kernel-2_6_26_6-75_fc9, kernel-2_6_25_4-30_fc9, kernel-2_6_27_23-78_2_50_fc9, kernel-2_6_25-0_105_rc5_fc9, kernel-2_6_27_4-24_fc9, kernel-2_6_26_6-57_rc1_fc9, kernel-2_6_25-0_59_rc2_git4_fc9, kernel-2_6_27_20-78_2_39_fc9, kernel-2_6_25_4-_bz447636_fc9, kernel-2_6_25-0_50_rc2_fc9, F-9-start, kernel-2_6_25_4-38_fc9, kernel-2_6_25_14-108_fc9, kernel-2_6_25-0_201_rc8_git4_fc9, kernel-2_6_25-3_fc9, kernel-2_6_25-0_230_rc9_fc9, kernel-2_6_25-0_215_rc8_git6_fc9, kernel-2_6_26_6-79_fc9, kernel-2_6_27_12-78_2_3_rc2_fc9, kernel-2_6_25-0_167_rc7_git2_fc9, kernel-2_6_27_12-78_2_8_fc9, kernel-2_6_25_7-64_fc9, kernel-2_6_26_6-67_fc9, kernel-2_6_25-0_61_rc2_git4_fc9, kernel-2_6_25-0_218_rc8_git7_fc9, kernel-2_6_25-6_fc9, kernel-2_6_25-0_73_rc3_git1_fc9, kernel-2_6_26_6-72_fc9, kernel-2_6_26_6-71_fc9, kernel-2_6_26_3-26_fc9, kernel-2_6_25-0_69_rc3_git1_fc9, kernel-2_6_26_5-43_fc9, kernel-2_6_25-13_fc9, kernel-2_6_27_15-78_2_22_fc9, kernel-2_6_26_1-8_fc9, kernel-2_6_25-0_118_rc5_git3_fc9, kernel-2_6_25-0_60_rc2_git4_fc9, kernel-2_6_27_5-32_fc9, kernel-2_6_25-0_209_rc8_git6_fc9, kernel-2_6_24-2_fc9, kernel-2_6_25-0_200_rc8_git3_fc9, kernel-2_6_25-0_103_rc5_fc9, kernel-2_6_25-0_47_rc1_git4_fc9, kernel-2_6_25_7-65_fc9, kernel-2_6_25_13-103_fc9, kernel-2_6_25-0_217_rc8_git7_fc9, kernel-2_6_24-8_fc9, kernel-2_6_25-0_82_rc3_git2_fc9, kernel-2_6_25-0_231_rc9_git1_fc9, kernel-2_6_25-0_139_rc6_git5_fc9, kernel-2_6_25-0_141_rc6_git5_fc9, kernel-2_6_24-23_fc9, kernel-2_6_25_4-29_2_virtio_gso_fc9, kernel-2_6_28-1_fc9, kernel-2_6_25_11-92_fc9, kernel-2_6_26_5-44_fc9, kernel-2_6_25-0_199_rc8_git3_fc9, kernel-2_6_25-0_37_rc1_git2_fc9, kernel-2_6_25-0_228_rc9_fc9, kernel-2_6_25-0_83_rc3_git2_fc9, HEAD
Branch point for: private-markmc-virtio-gso-branch, private-fedora-9-2_6_27-branch, private-chrisw-bz447636-branch
Changes since 1.4: +2 -2 lines
git magic to cope with tags
1 #!/bin/bash
2 #
3 # This script goes with the Makefile hacks for git/branch builds.
4 #
5
6 nopatches=1
7 if [ "x$1" = "x--fedora" ]; then
8 nopatches=0
9 shift
10 patchcomment="plus Fedora patches"
11 else
12 patchcomment="no Fedora patches"
13 fi
14
15 name=
16 if [ "x$1" = "x--name" ]; then
17 shift
18 name="$1"
19 shift
20 fi
21
22 if [ $# -lt 2 ]; then
23 echo >&2 "Usage: GIT_DIR=REPO $0 [--fedora] [--name NAME]\
24 TARBALL-TAG [PATCH-TAG...] BRANCH..."
25 exit 2
26 fi
27
28 base=$1
29 shift
30 base_rev=`git-rev-parse "$base"` || exit
31
32 patchbase=10
33 nextpatch=$patchbase
34 usepatch()
35 {
36 patches[$nextpatch]=$1
37 nextpatch=$(($nextpatch + 1))
38 }
39
40 lasturl=:
41 loglines="- Experimental build from git sources ($patchcomment)\\
42 "
43 log()
44 {
45 local logrev=$1
46 local logbranch=$3
47 local ref
48 ref=`git-symbolic-ref -q $logbranch` && logbranch=$ref
49 case $logbranch in
50 refs/remotes/*)
51 logbranch=${logbranch#refs/remotes/}
52 local remote=${logbranch%%/*}
53 logbranch=${logbranch#*/}
54 logbranch=${logbranch//\//-}
55 local url
56 url=`git-config "remote.${remote}.url"` || {
57 echo >&2 "Cannot find URL for remote $remote"
58 exit 2
59 }
60 if [ "$url" != "$lasturl" ]; then
61 lasturl="$url"
62 loglines="${loglines}- $url\\
63 "
64 fi
65 logtext="$(printf %12s "remote: ")$logbranch"
66 ;;
67 *)
68 lasturl=:
69 logtext="$(printf %-12s "git $2:")$logbranch"
70 ;;
71 esac
72 loglines="${loglines}- $(printf %-35s "$logtext") ${logrev}\\
73 "
74 }
75
76 patch_headers()
77 {
78 p=$patchbase
79 while [ $p -lt $nextpatch ]; do
80 echo "Patch$p: ${patches[$p]}\\"
81 p=$(($p + 1))
82 done
83 }
84
85 patch_apply()
86 {
87 p=$patchbase
88 while [ $p -lt $nextpatch ]; do
89 # echo "%patch$p -p1\\"
90 echo "ApplyPatch ${patches[$p]}\\"
91 p=$(($p + 1))
92 done
93 }
94
95 base_rev()
96 {
97 local base=$1
98 tag_rev=`git-rev-parse --revs-only --verify "$base^{}" 2> /dev/null` &&
99 [ "`git-describe --tags $tag_rev`" = "$base" ] && return 0
100 case "$1" in
101 v*-git*)
102 local id=patch-${1#v}.id
103 if [ ! -r $id ]; then
104 make download UPSTREAM_FILES=$id UPSTREAM_CHECKS=-- > /dev/null 2>&1
105 fi
106 [ -r $id ] && tag_rev=`cat $id` && return 0
107 ;;
108 v2*)
109 echo >&2 "Cannot find tag $base"
110 exit 2
111 ;;
112 esac
113 return 1
114 }
115
116 log $base_rev base $base
117 while base_rev $1; do
118 base=$1
119 base_rev=$tag_rev
120 shift
121 patchfile=patch-${base#v}.bz2
122 fgrep -q $patchfile sources || usepatch $patchfile
123 log $tag_rev tag $base
124 done
125 version=${base#v}
126
127 now="`date +'%Y-%m-%d %H:%M %Z'`"
128
129 GIT_DIFF_OPTS=-pu
130 export GIT_DIFF_OPTS
131
132 i=0
133 last_base=$base
134 last_base_rev=$base_rev
135 for branch; do
136 branch_rev=`git-rev-parse "$branch^{}"` || exit 2
137 merge_base=`git-merge-base $last_base_rev $branch_rev` || {
138 echo >&2 "No common ancestor for $last_base and $branch"
139 exit 2
140 }
141 if ((i > 0)) && [ "x$merge_base" = "x${merge_rev[$(($i - 1))]}" ]; then
142 echo >&2 "$last_base is not an ancestor of $branch"
143 exit 2
144 fi
145 merge_rev[$i]=$merge_base
146 ((i++))
147 last_base=$branch
148 last_base_rev=$branch_rev
149 done
150 merge_rev[$i]=$last_base_rev
151
152 test "x${merge_rev[0]}" = "x$base_rev" || {
153 echo >&2 "$base is not an ancestor of $branch"
154 exit 2
155 }
156
157 i=1
158 for branch; do
159
160 branch_rev=${merge_rev[$i]}
161 ((i++))
162
163 case "$branch" in
164 refs/remotes/*/master)
165 branch_name=${branch#refs/remotes/}
166 branch_name=${branch_name%/master}
167 ;;
168 refs/remotes/*)
169 branch_name=${branch#refs/remotes/}
170 branch_name=${branch_name//\//-}
171 ;;
172 */*)
173 branch_name=${branch_name//\//-}
174 ;;
175 *)
176 branch_name=$branch
177 ;;
178 esac
179
180 file=linux-${version}-${branch_name}.patch
181 git diff --no-renames --patch-with-stat \
182 -r "${base_rev}" -r "${branch_rev}" > $file || exit
183 if [ ! -s $file ]; then
184 rm -f $file
185 continue
186 fi
187
188 usepatch $file
189 log $branch_rev branch $branch
190
191 base_rev="$branch_rev"
192 done
193 name=`echo ${name:-${branch}} | sed s/-/_/g`
194
195 #upstream_branch=`date -u -d "$now" +${branch}.%Y%m%dT%H%M | sed s/-/_/g`
196 upstream_branch=$name
197 branch_rev=`git describe $base_rev | sed 's/-g[0-9a-f]*$//;s/^[^-]*//;s/-/./g'`
198
199 logdate=`date -d "$now" +'%a %b %d %Y'`
200
201 sed "/%define nopatches/c\\
202 %define nopatches ${nopatches}\\
203 %define upstream_branch ${name}\\
204 %define upstream_branch_tag ${branch_rev}
205 /^### BRANCH PATCH/a\\
206 `patch_headers`
207 ###
208 /^### BRANCH APPLY/a\\
209 `patch_apply`
210 ###
211 /^%changelog/a\\
212 * ${logdate} ${GIT_AUTHOR_NAME} <${GIT_AUTHOR_EMAIL}>\\
213 $loglines
214
215 "

admin@fedoraproject.org
ViewVC Help
Powered by ViewVC 1.1.2