1 |
commit: e19e6fcba7e6bba90b07a06f66bbf2c30a08008d |
2 |
Author: Maxim Koltsov <maksbotan <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Dec 31 12:34:43 2011 +0000 |
4 |
Commit: Maxim Koltsov <maksbotan <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Dec 31 12:34:43 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/maksbotan.git;a=commit;h=e19e6fcb |
7 |
|
8 |
Implement nice arguments in leech_bump.sh |
9 |
|
10 |
--- |
11 |
Documentation/leech_bump.sh | 152 ++++++++++++++++++++++++++++++++++-------- |
12 |
1 files changed, 123 insertions(+), 29 deletions(-) |
13 |
|
14 |
diff --git a/Documentation/leech_bump.sh b/Documentation/leech_bump.sh |
15 |
index f54422a..abc6fd8 100755 |
16 |
--- a/Documentation/leech_bump.sh |
17 |
+++ b/Documentation/leech_bump.sh |
18 |
@@ -18,26 +18,101 @@ changelog_helper() { |
19 |
|
20 |
if [[ ${#} -lt 2 && ${1} != "repoman" ]]; then |
21 |
eerror "Not enough arguments" |
22 |
- einfo "Usage: ${0} mode version|message" |
23 |
+ einfo "Usage: ${0} mode arguments" |
24 |
einfo "Supported modes are:" |
25 |
einfo " - bump" |
26 |
einfo " - commit" |
27 |
einfo " - repoman" |
28 |
einfo " - delete" |
29 |
einfo " - changelog" |
30 |
+ einfo "Supported arguments are:" |
31 |
+ einfo " -m --message Commit message" |
32 |
+ einfo " -c --changelog Update ChangeLog" |
33 |
+ einfo " -N --no-changelog Do not update ChangeLog" |
34 |
+ einfo " -v --version Target version for bump" |
35 |
+ einfo " -f --bump-from Source version for bump" |
36 |
exit 1 |
37 |
fi |
38 |
|
39 |
case "${1}" in |
40 |
- bump|commit|repoman|delete|eapi|changelog) ;; |
41 |
+ bump|commit|repoman|delete|changelog) ;; |
42 |
*) |
43 |
eerror "Unknown mode ${1}" |
44 |
exit 1 |
45 |
;; |
46 |
esac |
47 |
|
48 |
-mode=${1} |
49 |
-version=${2} |
50 |
+mode="${1}" |
51 |
+shift |
52 |
+ |
53 |
+while (($#)); do |
54 |
+ case "$1" in |
55 |
+ -m|--message) |
56 |
+ message="${2}" |
57 |
+ shift |
58 |
+ ;; |
59 |
+ -c|--changelog) |
60 |
+ run_changelog="1" |
61 |
+ shift |
62 |
+ ;; |
63 |
+ -N|--no-changelog) |
64 |
+ run_changelog="0" |
65 |
+ shift |
66 |
+ ;; |
67 |
+ -v|--version) |
68 |
+ version="${2}" |
69 |
+ shift |
70 |
+ ;; |
71 |
+ -f|--bump-from) |
72 |
+ bump_from="${2}" |
73 |
+ shift |
74 |
+ ;; |
75 |
+ -*) |
76 |
+ eerror "Unknown option $1" |
77 |
+ ;; |
78 |
+ *) |
79 |
+ break |
80 |
+ ;; |
81 |
+ esac |
82 |
+ shift |
83 |
+done |
84 |
+ |
85 |
+case $mode in |
86 |
+ bump) |
87 |
+ if [[ -z "${version}" ]]; then |
88 |
+ eerror "Please specify target bump version" |
89 |
+ exit |
90 |
+ fi |
91 |
+ |
92 |
+ if [[ -z "${bump_from}" ]]; then |
93 |
+ bump_from=9999 |
94 |
+ fi |
95 |
+ if [[ ${run_changelog} != "0" ]]; then |
96 |
+ run_changelog="1" |
97 |
+ fi |
98 |
+ ;; |
99 |
+ commit) |
100 |
+ if [[ -z "${message}" ]]; then |
101 |
+ eerror "Please specify commit message" |
102 |
+ exit |
103 |
+ fi |
104 |
+ ;; |
105 |
+ delete) |
106 |
+ if [[ -z "${version}" ]]; then |
107 |
+ eerror "Please specify version to remove" |
108 |
+ exit |
109 |
+ fi |
110 |
+ if [[ ${run_changelog} != "0" ]]; then |
111 |
+ run_changelog="1" |
112 |
+ fi |
113 |
+ ;; |
114 |
+ changelog) |
115 |
+ if [[ -z ${message} ]]; then |
116 |
+ eerror "Please specify ChangeLog message" |
117 |
+ exit |
118 |
+ fi |
119 |
+ ;; |
120 |
+esac |
121 |
|
122 |
#checking whether we are in portage tree or overlay |
123 |
if [[ ! -e ./profiles/repo_name ]]; then |
124 |
@@ -64,6 +139,10 @@ for atom in */*; do |
125 |
|
126 |
case ${mode} in |
127 |
bump) |
128 |
+ if [[ -z "${message}" ]]; then |
129 |
+ message="Bump ${atom} to ${version}, thanks to 0xd34df00d" |
130 |
+ fi |
131 |
+ |
132 |
einfo "Bumping ${atom} to ${version}" |
133 |
|
134 |
if [[ -e ${PN}-${version}.ebuild ]]; then |
135 |
@@ -73,33 +152,45 @@ for atom in */*; do |
136 |
continue |
137 |
fi |
138 |
|
139 |
- ebegin "Copying ${PN}-9999.ebuild to ${PN}-${version}.ebuild" |
140 |
- cp ${PN}-{9999,${version}}.ebuild |
141 |
+ if ! [[ -e "${PN}-${bump_from}.ebuild" ]]; then |
142 |
+ ewarn "${atom} lacks ${bump_from} version, skipping bump" |
143 |
+ cd - > /dev/null |
144 |
+ eoutdent |
145 |
+ continue |
146 |
+ fi |
147 |
+ |
148 |
+ ebegin "Copying ${PN}-${bump_from}.ebuild to ${PN}-${version}.ebuild" |
149 |
+ cp ${PN}-{${bump_from},${version}}.ebuild |
150 |
eend $? |
151 |
|
152 |
ebegin "Setting keywords on ${PN}-${version}.ebuild" |
153 |
- ekeyword ~amd64 ~x86 ${PN}-${version}.ebuild |
154 |
+ ekeyword ~all ${PN}-${version}.ebuild > /dev/null |
155 |
eend $? |
156 |
|
157 |
ebegin "Running repoman manifest on ${atom}" |
158 |
- repoman manifest |
159 |
+ repoman manifest > /dev/null |
160 |
eend $? |
161 |
|
162 |
ebegin "Running cvs add ${PN}-${version}.ebuild" |
163 |
- cvs add ${PN}-${version}.ebuild |
164 |
+ cvs add ${PN}-${version}.ebuild > /dev/null |
165 |
eend $? |
166 |
|
167 |
- ebegin "Generating ChangeLog for ${atom}" |
168 |
- changelog_helper --changelog "${4}" "Bump ${atom} to ${version}, thanks to 0xd34df00d" |
169 |
- eend $? |
170 |
- |
171 |
+ if [[ ${run_changelog} == "1" ]]; then |
172 |
+ ebegin "Generating ChangeLog for ${atom}" |
173 |
+ echangelog ${message} > /dev/null |
174 |
+ eend $? |
175 |
+ fi |
176 |
;; |
177 |
commit) |
178 |
- einfo "Commiting ${atom} with message \"${version}\"" |
179 |
+ einfo "Commiting ${atom} with message \"${message}\"" |
180 |
|
181 |
- ebegin "Running repoman commit -m \"${version}\"" |
182 |
- repoman commit -m "${version}" |
183 |
- eend $? |
184 |
+ ebegin "Running repoman commit -m \"${message}\"" |
185 |
+ if [[ ${run_changelog} == "0" ]]; then |
186 |
+ changelog_arg="--echangelog=n" |
187 |
+ else |
188 |
+ changelog_arg="" |
189 |
+ fi |
190 |
+ repoman commit ${changelog_arg} -m "${message}" |
191 |
|
192 |
;; |
193 |
repoman) |
194 |
@@ -108,23 +199,26 @@ for atom in */*; do |
195 |
|
196 |
;; |
197 |
delete) |
198 |
- einfo "Deleting ${PN}-${version}" |
199 |
- |
200 |
- rm ${PN}-${version}.ebuild |
201 |
- cvs rm ${PN}-${version}.ebuild |
202 |
- changelog_helper "${3}" "${4}" "Removed old ${PN}-${version}" |
203 |
+ if [[ -z "${message}" ]]; then |
204 |
+ message="Removed old ${PN}-${version}" |
205 |
+ fi |
206 |
|
207 |
- ;; |
208 |
- eapi) |
209 |
- einfo "Changing EAPI to 4 in ${atom}-${version}" |
210 |
+ ebegin "Deleting ${PN}-${version}" |
211 |
+ rm ${PN}-${version}.ebuild |
212 |
+ cvs rm ${PN}-${version}.ebuild > /dev/null |
213 |
+ eend $? |
214 |
|
215 |
- sed -i 's:EAPI="2":EAPI="4":' ${PN}-${version}.ebuild |
216 |
- changelog_helper "${3}" "${4}" "Bumped to EAPI=\"4\"" |
217 |
+ if [[ ${run_changelog} == "1" ]]; then |
218 |
+ ebegin "Generating changelog in ${atom}" |
219 |
+ echangelog ${message} > /dev/null |
220 |
+ eend $? |
221 |
+ fi |
222 |
|
223 |
;; |
224 |
changelog) |
225 |
- einfo "Running echangelog in ${atom}" |
226 |
- echangelog ${version} |
227 |
+ ebegin "Running echangelog in ${atom}" |
228 |
+ echangelog ${message} > /dev/null |
229 |
+ eend $? |
230 |
esac |