Skip to content

Commit 655a2fa

Browse files
authored
Merge pull request #74 from Antiz96/various_improvements_rebuild_todo
rebuild-todo: Various improvements
2 parents e5eeff6 + 8dc888c commit 655a2fa

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

package/rebuild-todo

+36-3
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ filter=("extra")
7070
maintainers=()
7171
packages=()
7272
ignore=()
73-
73+
skipped_packages=()
74+
rebuilt_packages=()
75+
released_packages=()
7476

7577
if ! ((${#})); then
7678
usage
@@ -147,7 +149,17 @@ done
147149
TMPDIR=$(mktemp -d /var/tmp/contrib-rebuild.XXXX) || exit 1
148150
trap "rm -rf ${TMPDIR}" EXIT
149151

152+
remove_from_rebuilt_packages_list() {
153+
local element=$1
154+
for i in "${!rebuilt_packages[@]}"; do
155+
if [[ "${rebuilt_packages[i]}" == "$element" ]]; then
156+
unset 'rebuilt_packages[i]'
157+
fi
158+
done
159+
}
160+
150161
if [[ "$URL" != "" ]]; then
162+
echo -e "Parsing packages list...\n"
151163
while read -r json; do
152164
readarray -t packages < <(jq --slurpfile repo <(printf '"%s" ' "${filter[@]}") \
153165
--slurpfile maint <(printf '"%s" ' "${maintainers[@]}") \
@@ -194,7 +206,7 @@ if ! ((${#packages[@]})); then
194206
fi
195207
echo "Rebuilding packages:"
196208
printf ' %s\n' "${packages[@]}"
197-
printf "Confirm..."
209+
printf "Press enter to confirm "
198210
read <&1
199211

200212
pkgctl repo clone "${packages[@]}"
@@ -214,7 +226,10 @@ for pkg in "${packages[@]}"; do
214226
SKIP_BUILD=0
215227
while true; do
216228
if pkgctl build --rebuild $REPO; then
229+
rebuilt_packages+=("$pkg")
217230
break
231+
else
232+
skipped_packages+=("$pkg")
218233
fi
219234
if ((SKIP_BROKEN)); then
220235
SKIP_BUILD=1
@@ -234,8 +249,26 @@ for pkg in "${packages[@]}"; do
234249
fi
235250
fi
236251
if ! ((NO_PUBLISH)); then
237-
pkgctl release --db-update $REPO -m "$message"
252+
if pkgctl release --db-update $REPO -m "$message"; then
253+
remove_from_rebuilt_packages_list "$pkg"
254+
released_packages+=("$pkg")
255+
fi
238256
fi
239257
fi
240258
popd &>/dev/null
241259
done
260+
261+
if ((${#skipped_packages[@]})); then
262+
echo -e "\nSkipped packages (failed to build):"
263+
printf ' %s\n' "${skipped_packages[@]}"
264+
fi
265+
266+
if ((${#rebuilt_packages[@]})); then
267+
echo -e "\nRebuilt packages (but not released):"
268+
printf ' %s\n' "${rebuilt_packages[@]}"
269+
fi
270+
271+
if ((${#released_packages[@]})); then
272+
echo -e "\nReleased packages:"
273+
printf ' %s\n' "${released_packages[@]}"
274+
fi

0 commit comments

Comments
 (0)