blob: 0d14c72ea3acac1f128f1b02e14e9c202cff2df4 (
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
|
#!/bin/bash
# Lic: GPLv3+
# Author: Nicolas Reynolds <fauno@kiwwwi.com.ar>
# Local release of mips64el packages + clean ABS sync
# Called by HOOKLOCALRELEASE
# $1 repo
# $2+ packages
source /etc/makepkg.conf
source /etc/libretools.conf
libretoolsdir="$(dirname $0)/../"
usage() {
echo "$0 repo package1 [ package2 ... packageN ]"
echo
echo " release packages locally on ${PKGDEST}/stage3."
echo " and make a clean ABS sync "
}
##
# usage : get_full_version( $epoch, $pkgver, $pkgrel )
# return : full version spec, including epoch (if necessary), pkgver, pkgrel
##
get_full_version() {
if [[ $1 -eq 0 ]]; then
# zero epoch case, don't include it in version
echo $2-$3
else
echo $1:$2-$3
fi
}
repo=$1; shift
# Get all needed sources
source PKGBUILD
fullver=$(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})
pkgs=()
makepkg --source -f
msg "Adding packages to [stage3]..."
for name in ${pkgname[@]}; do
msg2 "${name} ${fullver}"
pkgs+=("${PKGDEST}/${name}-${fullver}-*.pkg.tar.*")
done
repo-add ${PKGDEST}/stage3.db.tar.gz ${pkgs[@]}
sudo pacman -Sy
librestage ${repo}
mkdir -p ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null
pushd ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null
tar xvf $SRCPKGDEST/${pkgbase:-${pkgname[0]}}-${fullver}${SRCEXT}
popd >/dev/null
$libretoolsdir/chcleanup || true
exit $?
|