summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/attachments/20110815/29c3ee82/attachment.sh
blob: ce81c670f17b533d2fa3a945903e93027c3fc5a1 (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
#!/bin/bash

if [ -z "$1" ]; then
  echo "You must supply a package." >&2
  exit 1
fi

PKG=$1
SOURCE_TREE=cauldron
DEST_TREE=updates/1

ROOT="svn+ssh://svn.mageia.org/svn/packages"
BIN_ROOT="svn+ssh://svn.mageia.org/svn/binrepos"

SOURCE="${ROOT}/${SOURCE_TREE}/$PKG"
DEST="${ROOT}/${DEST_TREE}/$PKG"

BIN_SOURCE="${BIN_ROOT}/${SOURCE_TREE}/$PKG"
BIN_DEST="${BIN_ROOT}/${DEST_TREE}/$PKG"


# Check to see if DEST exists...
OP=$(svn ls $DEST/current 2>/dev/null)
BIN_OP=$(svn ls $BIN_DEST/current 2>/dev/null)
if [ -n "$OP" -o -n "$BIN_OP" ]; then
  echo "The destination tree $DEST already exists" >&2
  exit 1
fi

# Check to make sure SOURCE does!
OP=$(svn ls $SOURCE/current 2>/dev/null)
BIN_OP=$(svn ls $BIN_SOURCE/current 2>/dev/null)
if [ -z "$OP" -o -z "$BIN_OP" ]; then
  echo "The source tree $SOURCE does not exist" >&2
  exit 1
fi



TMP_NAME=$(mktemp /tmp/`basename $0`.XXXXXX)
rm -rf $TMP_NAME
mkdir $TMP_NAME
pushd $TMP_NAME

svn="svn"

$svn mkdir -m "SILENT: Prepare backport of $PKG from $SOURCE_TREE" $DEST
$svn cp -m "SILENT: Backport of $PKG from $SOURCE_TREE" $SOURCE/current $DEST/

$svn mkdir -m "SILENT: Prepare backport of $PKG from $SOURCE_TREE (binrepos)" $BIN_DEST

$svn co $BIN_DEST
pushd $PKG
$svn export $BIN_SOURCE/current
$svn add current
$svn commit -m "SILENT: Backport of $PKG from $SOURCE_TREE (binrepos)"
popd
rm -rf $PKG

popd
rm -rf $TMP_NAME