This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
1
[alpine-devel] [PATCH] alpine-conf: modify setup-apkrepos to grab different mirror and automatically retrieve release
Retrieve MIRRORS.txt and get mirror from there, automatically choose release if possible, and if not prompt for desired release
---
setup-apkrepos.in | 63 ++++++++++++++++++++++++++++++ ----------------------
1 files changed, 36 insertions(+), 27 deletions(-)
diff --git a/setup-apkrepos.in b/setup-apkrepos.in
index 1436292..19344bd 100755
--- a/setup-apkrepos.in
+++ b/setup-apkrepos.in
@@ -5,31 +5,40 @@ PREFIX=
. $PREFIX/lib/libalpine.sh
- while true; do
- printf "Enter repository branch : \n"
- printf "1 1.10 \n"
- printf "2 2.0\n"
- printf "3 2.1\n"
- printf "4 edge\n"
- default_read REPO "3"
- if [ $REPO -gt 0 ] && [ $REPO -lt 5 ]; then
- break
- fi
- done
- if [ $REPO == 1 ]; then
- echo "v1.10 repos selected"
- echo "http://dl-3.alpinelinux.org/alpine/v1.10/packages/main" >> /etc/apk/repositories
- apk update
- elif [ $REPO == 2 ]; then
- echo "v2.0 repos selected";
- echo "http://dl-3.alpinelinux.org/alpine/v2.0/packages/main" >> /etc/apk/repositories
- apk update
- elif [ $REPO == 3 ]; then
- echo "v2.1 repos selected";
- echo "http://dl-3.alpinelinux.org/alpine/v2.1/packages/main" >> /etc/apk/repositories
- apk update
- elif [ $REPO == 4 ]; then
- echo "edge repos selected";
- echo "http://dl-3.alpinelinux.org/alpine/edge/packages/main" >> /etc/apk/repositories
- apk update
+ # TODO: change tail command to a random mirror instead of last one in MIRRORS.txt
+ MIRROR=`wget -O - http://www.alpinelinux.org/alpine/MIRRORS.txt 2>&1 | grep http | awk -F 'ETA' '{print $NF}' | tail -n 1`
+
+ # Retrieve version from alpine-release if available
+ if [ -e /etc/alpine-release ]; then
+ release=$(cut -f1 /etc/alpine-release)
+ case "$release" in
+ *_git*) repo="edge";;
+ [0-9]*.[0-9]*.[0-9]*)
+ # release in x.y.z format, cut last digit
+ repo=v${release%.[0-9]*};;
+ esac
+ echo "$repo"
+ else
+ while true; do
+ printf "Enter repository branch from list below [v2.2]: \n"
+ # Retrieve list of versions available on mirror 2.0 and above
+ wget "$MIRROR" > /dev/null 2>&1
+ availablerepos=""
+ for version in `links ./index.html -dump | grep "v[2-9]" | awk -F '/' '{print $1}'`; do
+
+ availablerepos="$availablerepos $version"
+ done
+ rm index.html
+ availablerepos="$availablerepos edge"
+ for i in `echo $availablerepos`; do
+ printf "$i\n"
+ done
+ default_read repo "v2.2"
+ if [ $repo ]; then
+ break
+ fi
+ done
fi
+
+ echo "${MIRROR}${repo}/main" >> /etc/apk/repositories
+ apk update
--
1.7.3.4
---
Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org
Help: alpine-devel+help@lists.alpinelinux.org
---
On Sat, 1 Jan 2011 19:48:05 +0000
Jeff Bilyk <jbilyk@gmail.com > wrote:
> Retrieve MIRRORS.txt and get mirror from there, automatically choose
> release if possible, and if not prompt for desired release ---
> setup-apkrepos.in | 63
> ++++++++++++++++++++++++++++++---------------------- 1 files changed,
> 36 insertions(+), 27 deletions(-)
>
Applying: alpine-conf: modify setup-apkrepos to grab different mirror and automatically retrieve release
/home/ncopa/alpine-conf/.git/rebase-apply/patch:57: trailing whitespace.
wget "$MIRROR" > /dev/null 2>&1
warning: 1 line adds whitespace errors.
I wonder if someone could doc how to set up a gitt hook in your local repo that will warn you for whitspace errors.
Applied anyways.
Thanks!
-nc
---
Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org
Help: alpine-devel+help@lists.alpinelinux.org
---