aports

git clone git://git.lin.moe/aports.git

 1#!/bin/sh
 2
 3set -e
 4
 5msg() {
 6    local color=${2:-green}
 7    case "$color" in
 8        red) color="31";;
 9        green) color="32";;
10        yellow) color="33";;
11        blue) color="34";;
12        *) color="32";;
13    esac
14    printf "\033[1;%sm>>>\033[1;0m %s\n" "$color" "$1" | xargs >&2
15}
16
17die() {
18    msg "$1" red
19    exit 1
20}
21
22get_release() {
23    BASEBRANCH=$(git rev-parse --abbrev-ref HEAD)
24    case $BASEBRANCH in
25        *-stable) echo v"${BASEBRANCH%-*}";;
26        master) echo edge;;
27        *) die "Branch \"$BASEBRANCH\" not supported!"
28    esac
29}
30
31
32RDEST="${RDEST:-io.lin.moe::mirrors.koi.moe/lin}"
33TDEST="pkg/lin"
34RELEASE=$(get_release)
35
36mkdir -p "${TDEST}"
37
38msg "## Retrieving packages from remote repository."
39rsync-ssl -av --delete-excluded "${RDEST}/${RELEASE}/" "${TDEST}"
40
41msg "## Invoking buildrepo."
42buildrepo -a "$(pwd)" -d "$(pwd)/${TDEST%/*}" -R -p lin
43
44msg "## Pushing packages to remote repository."
45rsync-ssl -av --delete-excluded "${TDEST}/" "${RDEST}/${RELEASE}/"