aboutsummaryrefslogtreecommitdiffstats
path: root/Tools/portbuild/scripts/makeduds
blob: bca438e147918b60b17af42e09d28f35b5a42ca0 (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
#!/bin/sh

usage () {
  echo "usage: makeduds arch branch buildid"
  exit 1
}

if [ $# -ne 3 ]; then
  usage
fi

# configurable variables
pb=/var/portbuild
arch=$1
branch=$2
buildid=$3
shift 3

builddir=${pb}/${arch}/${branch}/builds/${buildid}

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

# -j# to make duds
DUDSJOBS=4

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

duds=${builddir}/duds
index=${PORTSDIR}/${INDEXFILE}

unset DISPLAY

export __MAKE_SHELL=/rescue/sh
export LOCALBASE=/nonexistentlocal
export LINUXBASE=/nonexistentlinux
export PKG_DBDIR=/nonexistentpkg
export PORT_DBDIR=/nonexistentport

cd ${PORTSDIR}
make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true > ${duds}.verbose 2> /dev/null || exit 1
sort ${duds}.verbose > ${duds}.verbose.tmp
mv -f ${duds}.verbose.tmp ${duds}.verbose
cut -f 1 -d \| ${duds}.verbose > ${duds}

cp ${duds} ${duds}.orig
grep -Ff ${duds}.orig ${index} | cut -f 1 -d \| > ${duds}.full

cat ${duds} ${duds}.full | sort | uniq -u | sed -e "s@\$@|IGNORE: dependent port@" > ${duds}.full.verbose.tmp
cat ${duds}.verbose ${duds}.full.verbose.tmp | sort > ${duds}.full.verbose
rm ${duds}.full.verbose.tmp