source: dass-tools/usr/bin/reposync-add-repo.sh @ 1238

Last change on this file since 1238 was 1238, checked in by joergs, 4 years ago

reposync-add-repo.sh: allow URLs with http and https

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/bin/bash
2
3# because the normal mirroring tools often can't access current data
4# this scripts updates the local repositories using:
5# reposync + createrepo
6
7set -o errexit -o nounset
8
9DEST=""
10if [ -r /etc/dass-it/reposync.conf ]; then
11   source /etc/dass-it/reposync.conf
12fi
13
14usage()
15{
16  printf "
17usage: $0 REPO_FILE_URL [<DIRECTORY>]
18
19  $0 will download REPO_FILE_URL to a subdirectory of [DIRECTORY] (default: $DEST).
20  It creates the repository structure, so that
21  reposync-mirror-update.sh will be able to download the repository.
22
23"
24}
25
26check_url()
27{
28   local URL="$1"
29   [ -z "$1" ] && return 1
30   local CODE=`curl --location --write-out %{http_code} --silent --output /dev/null -- "$URL"`
31   printf "  %s: %s\n" "$URL" "$CODE"
32   test "$CODE" = "200"
33   return $?
34}
35
36REPO_FILE_URL=${1:-}
37STARTDIR=${2:-$DEST}
38
39if [[ $REPO_FILE_URL == -* ]]; then
40  usage
41  exit 0
42fi
43
44if ! [ -d "$STARTDIR" ]; then
45  echo "FAILED: $STARTDIR is not a valid directory."
46  usage
47  exit 1
48fi
49
50if ! check_url "$REPO_FILE_URL"; then
51  echo "FAILED: url \"$REPO_FILE_URL\" not accessable."
52  usage
53  exit 1
54fi
55
56REPO_FILE=`sed -r "s|http[s]?://|$STARTDIR/|" <<< "$REPO_FILE_URL"`
57mkdir -p `dirname $REPO_FILE`
58curl --silent $REPO_FILE_URL -o $REPO_FILE
59
60mirror-adapt-repository.sh "$REPO_FILE"
Note: See TracBrowser for help on using the repository browser.