summaryrefslogtreecommitdiff
path: root/librerelease
blob: 8cfa8772af219559cfc5787cd61dd452d03eea40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash

# Librerelease
# Uploads packages into free/ repo

# Config
# SSH host, it's better if you have it configured on ~/.ssh/config
# with ControlMaster auto (and a shell opened somewhere else)
#
# Example:
# Host *
#    Protocol 2
#    ControlMaster auto
#    ControlPath /tmp/ssh-%r@%h:%p
#
# Host parabola
#    Port 22
#    HostName parabolagnulinux.org
#    User parabolavnx
#    IdentityFile ~/.ssh/id_rsa
#
# $ cd pkgbuild/dir
# $ ssh parabola -fN
# $ librerelease extra

host=parabola 
dir=parabolagnulinux.org/repo/free
batchfile=/tmp/librerelease_batchfile.$$
# End Config

repo=${1}

if [ ${#repo} -eq 0 ]; then
    echo "Usage: $0 <repo>"
    exit 1;
fi

function to_sftp() {
    echo "$@" >> $batchfile
}

if [ ! -e ./PKGBUILD ]; then
    echo "PKGBUILD not found"
    exit 1;
fi

source PKGBUILD
source /etc/makepkg.conf

if [ -e ~/.makepkg.conf ]; then source ~/.makepkg.conf; fi

PKGDEST=${PKGDEST:-.}
SRCPKGDEST=${SRCPKGDEST:-.}


# Init the batchfile
to_sftp "progress"

# Move out the old packages

for _arch in ${arch[@]}; do
    for pkg in ${pkgname[@]}; do
        pkgfile="$PKGDEST/$pkg-$pkgver-$pkgrel-$_arch$PKGEXT"
        if [ -e "$pkgfile" ]; then
# This has to be moved to repo-maintainer
            ssh parabola mv $dir/$repo/os/$_arch/$pkg-*-*-$_arch$PKGEXT $dir/old/

            to_sftp "put $pkgfile $dir/$repo/os/$_arch/"
        fi
    done
done

makepkg --source
to_sftp "put $SRCPKGDEST/$pkgname-$pkgver-$pkgrel$SRCEXT ${dir%free}/pkgbuilds/$repo"

sftp -b ${batchfile} $host

exit 0