aboutsummaryrefslogtreecommitdiffstats
path: root/Tools/portbuild/scripts/makeworld
blob: 1df424003fc169e6099d7655094e8d84cfada667 (plain) (blame)
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
88
89
90
91
#!/bin/sh

pb=/var/portbuild

if [ $# -lt 2 ]; then
        echo "usage: makeparallel arch branch [args]"
        exit 1
fi

arch=$1
branch=$2
shift 2

. ${pb}/${arch}/portbuild.conf
. ${pb}/scripts/buildenv

buildenv ${pb} ${arch} ${branch}

# These confuse make world; remove them
unset MACHINE_ARCH
unset ARCH

client=0
nocvs=0

# optional arguments
while [ $# -gt 0 ]; do
  case "x$1" in
    x-client)
      client=1
      ;;
    x-nocvs)
      nocvs=1
      ;;
    *)
      break
      ;;
  esac
  shift
done

if [ "$client" = "1" ]; then
    cd ${pb}/${arch}/src-client
    shift 1
else
    cd ${pb}/${arch}/${branch}/src
    export __MAKE_CONF=/dev/null
fi

if [ "$nocvs" = "0" ]; then
    echo "==> Updating source tree"
    cvs -Rq update -Pd 
    error=$?
    if [ "$error" != "0" ]; then
        exit 1
    fi
fi

env

echo "==> Starting make buildworld"
make buildworld $*
error=$?
if [ "$error" != "0" ]; then
    exit $?
fi

echo "==> Cleaning up chroot" 
rm -rf /var/chroot/
chflags -R noschg /var/chroot/
rm -rf /var/chroot/
mkdir /var/chroot/

echo "==> Starting make installworld"
if [ "$client" = "0" ]; then
    make installworld DESTDIR=/var/chroot
    error=$?
    if [ "$error" != "0" ]; then
        exit $?
    fi

    echo "==> Starting make distribute"
    cd etc
    make distribute DISTRIBUTION=/var/chroot/
    error=$?
    if [ "$error" != "0" ]; then
        exit $?
    fi
else
    echo "==> Not doing installworld of client source tree"
fi