@@ -32,15 +32,15 @@ usage() {
3232 --no-bump Don't bump pkgrel before building (default bumps pkgrel)
3333 --testing Publish towards testing
3434 --staging Publish towards staging
35+ --skip-broken Skip broken packages
3536
3637 Repository Filters (default: $REPO )
3738 --core Rebuild [core] packages
3839 --extra Rebuild [extra] packages
39- --community Rebuild [community] packages
4040 --multilib Rebuild [multilib] packages
4141
4242 Examples:
43- Rebuilds all packages in [community ] towards [community ] ignoring "archlinux-contrib"
43+ Rebuilds all packages in [extra ] towards [extra ] ignoring "archlinux-contrib"
4444 $ ${PROGNAME} -i "archlinux-contrib" "https://archlinux.org/todo/some-todo-list/"
4545
4646 Rebuilds all packages from [extra] towards [extra-testing]
@@ -63,13 +63,13 @@ NO_BUILD=0
6363PACKAGES=0
6464NO_PUBLISH=0
6565EDIT_PKGBUILD=0
66- COMMUNITY=1
6766CONTINUE=0
67+ SKIP_BROKEN=0
6868URL=" "
69- REPO=" community "
69+ REPO=" extra "
7070BUILD=" extra"
7171message=" "
72- filter=(" community " )
72+ filter=(" extra " )
7373maintainers=()
7474packages=()
7575ignore=()
@@ -117,30 +117,23 @@ while ((${#})); do
117117 --no-publish)
118118 NO_PUBLISH=1
119119 ;;
120+ --skip-broken)
121+ SKIP_BROKEN=1
122+ ;;
120123 --core)
121124 PACKAGES=1
122- COMMUNITY=0
123125 BUILD=" extra"
124126 REPO=" core"
125127 filter=(" extra" )
126128 ;;
127129 --extra)
128130 PACKAGES=1
129- COMMUNITY=0
130131 BUILD=" extra"
131132 REPO=" extra"
132133 filter=(" extra" )
133134 ;;
134- --community)
135- PACKAGES=0
136- COMMUNITY=1
137- BUILD=" extra"
138- REPO=" community"
139- filter=(" community" )
140- ;;
141135 --multilib)
142136 PACKAGES=0
143- COMMUNITY=1
144137 REPO=" multilib"
145138 BUILD=" multilib"
146139 filter=(" multilib" )
@@ -235,22 +228,10 @@ printf ' %s\n' "${packages[@]}"
235228printf " Confirm..."
236229read < & 1
237230
238- if (( COMMUNITY)) ; then
239- svn checkout -N svn+ssh://svn-community@repos.archlinux.org/srv/repos/svn-community/svn " $TMPDIR /community"
240- pushd " $TMPDIR /community" & > /dev/null
241- fi
242- if (( PACKAGES)) ; then
243- svn checkout -N svn+ssh://svn-packages@repos.archlinux.org/srv/repos/svn-packages/svn " $TMPDIR /packages"
244- pushd " $TMPDIR /packages" & > /dev/null
245- fi
246- svn update -- " ${packages[@]} "
231+ pkgctl repo clone " ${packages[@]} "
247232
248233for pkg in " ${packages[@]} " ; do
249- pushd " $pkg /trunk" & > /dev/null
250-
251- if ! (( NO_BUMP)) ; then
252- bump_pkgrel
253- fi
234+ pushd " $pkg " & > /dev/null
254235
255236 # This should help us figure out if the package is already built
256237 readarray -t pkgs < <( makepkg --packagelist)
@@ -263,7 +244,11 @@ for pkg in "${packages[@]}"; do
263244 if ! (( NO_BUILD)) ; then
264245 SKIP_BUILD=0
265246 while true ; do
266- if offload-build -r " $BUILD " ; then
247+ if pkgctl build --rebuild --staging; then
248+ break
249+ fi
250+ if (( SKIP_BROKEN)) ; then
251+ SKIP_BUILD=1
267252 break
268253 fi
269254 echo " We failed to build! You are in a subshell to fix the build. Exit the shell to build again."
@@ -280,7 +265,7 @@ for pkg in "${packages[@]}"; do
280265 fi
281266 fi
282267 if ! (( NO_PUBLISH)) ; then
283- commitpkg " $REPO " " $message "
268+ pkgctl release --db-update --staging -m " $message "
284269 fi
285270 fi
286271 popd & > /dev/null
0 commit comments