summaryrefslogtreecommitdiffstats
path: root/src/retrace/abrt-retrace-reposync
blob: 642911003ff510d237f4d6590f736791e94fe6aa (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
79
80
81
82
83
84
85
86
87
#!/bin/bash

if      [ $3 ] && [ ! $4 ] \
   &&   [ $1 = "fedora" ] \
   && ( [ $3 = "i386" ] || [ $3 = "i686" ] || [ $3 = "x86_64" ] )
then
    LOG="/var/log/abrt-retrace/$1-$2-$3.log"
    LOCK="/var/lock/subsys/abrt-retrace-$1-$2-$3"
    REPODIR="/var/cache/abrt-retrace/"

    REPODIR_CUSTOM=`cat "/etc/abrt/retrace.conf" | grep "^ *RepoDir *= *" | sed "s/^ *RepoDir *= *//"`
    if [ -d $REPODIR_CUSTOM ] || mkdir -p $REPODIR_CUSTOM > /dev/null 2>&1
    then
        REPODIR="$REPODIR_CUSTOM"
    fi

    date >> "$LOG"

    if [ -f "$LOCK" ]
    then
        echo "The repository synchronization is running at the moment." >> "$LOG"
        exit 2
    fi

    if ! touch "$LOCK"
    then
        echo "Unable to set lock."
        exit 3
    fi

    cd "$REPODIR"

    if [ $3 = "i686" ]
    then
        REPOARCH="i386"
    else
        REPOARCH=$3
    fi

    # F15 pushes updates directly to fedora repo
    if [ $1 = "fedora" ] && [ $2 = "15" ]
    then
        reposync -a $3 \
          --repoid="$1-$2-$REPOARCH" \
          --repoid="$1-$2-$REPOARCH-debuginfo" \
        | grep "Downloading" \
        | sed -e "s/^\[\([^:]*\).*\] Downloading /\1 /" \
        | sed -e "s/Packages\///" \
        >> "$LOG"

        createrepo "$1-$2-$REPOARCH" > /dev/null
        createrepo "$1-$2-$REPOARCH-debuginfo" > /dev/null
    else
        reposync -a $3 \
          --repoid="$1-$2-$REPOARCH-updates" \
          --repoid="$1-$2-$REPOARCH-updates-debuginfo" \
        | grep "Downloading" \
        | sed -e "s/^\[\([^:]*\).*\] Downloading /\1 /" \
        | sed -e "s/Packages\///" \
        >> "$LOG"

        createrepo "$1-$2-$REPOARCH-updates" > /dev/null
        createrepo "$1-$2-$REPOARCH-updates-debuginfo" > /dev/null
    fi

    reposync -a $3 \
      --repoid="$1-$2-$REPOARCH-updates-testing" \
      --repoid="$1-$2-$REPOARCH-updates-testing-debuginfo" \
      | grep "Downloading" \
      | sed -e "s/^\[\([^:]*\).*\] Downloading /\1 /" \
      | sed -e "s/Packages\///" \
      >> "$LOG"

    createrepo "$1-$2-$REPOARCH-updates-testing" > /dev/null
    createrepo "$1-$2-$REPOARCH-updates-testing-debuginfo" > /dev/null

    rm -f "$LOCK"
else
    echo "Usage: $0 distribution version architecture"
    echo
    echo "where"
    echo "distributuon = [fedora]"
    echo "version = release version"
    echo "architecture = [i386|i686|x86_64]"

    exit 1
fi