mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-24 00:45:52 +00:00
A few new features:
(1) The script now assumes make(1) knows how to handle long dependency chains properly. quickports is a list of ports that take a long time to build by thesmelves (not ports that have long dependency chains). The script adds several extra dependency levels to the generate Makefile for those ports to make their dependency chains longer. (2) Use -R flag to cvs. Comment out the cvsup part. (3) Preserve error messages for ports that didn't build the first time around but did build on the retry. (4) Record the package's timestamps in the log directory by doing an "ls -asFlrt" in the packages/All directory. (5) Add a little sleep after two background jobs so outputs won't be garbled.
This commit is contained in:
parent
604ed8e591
commit
f8e206ffe7
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=37384
@ -8,8 +8,8 @@ pb=/var/portbuild
|
||||
# packages for dependencies only
|
||||
dummyports="x11/XFree86"
|
||||
|
||||
# packages with very long dependency lists -- try to start building these first
|
||||
quickports="x11/kde2 x11/gnome"
|
||||
# packages that take very long to build -- try to start building these first
|
||||
quickports="lang/ghc games/civ2demo games/rt2-demo x11/XFree86-4 editors/openoffice"
|
||||
|
||||
status=${pb}/status
|
||||
|
||||
@ -248,15 +248,15 @@ fi
|
||||
|
||||
cd ${pb}/usr/ports
|
||||
if [ "$nocvsup" = 0 ]; then
|
||||
echo "================================================"
|
||||
echo "running cvsup"
|
||||
echo "================================================"
|
||||
su ${user} -c 'cvsup -g -L 0 /etc/supfile.cvsup'
|
||||
date > ${pb}/cvsdone
|
||||
# echo "================================================"
|
||||
# echo "running cvsup"
|
||||
# echo "================================================"
|
||||
# su ${user} -c 'cvsup -g -L 0 /etc/supfile.cvsup'
|
||||
echo "================================================"
|
||||
echo "running cvs update on /usr/ports"
|
||||
echo "================================================"
|
||||
su ${user} -c 'cvs -q update -d -P'
|
||||
su ${user} -c 'cvs -qR update -d -P'
|
||||
date > ${pb}/cvsdone
|
||||
echo "================================================"
|
||||
echo "running make checksubdirs"
|
||||
echo "================================================"
|
||||
@ -265,7 +265,7 @@ if [ "$nocvsup" = 0 ]; then
|
||||
echo "running cvs update on /usr/opt/doc"
|
||||
echo "================================================"
|
||||
cd ${pb}/usr/opt/doc
|
||||
su ${user} -c 'cvs -q update -d -P'
|
||||
su ${user} -c 'cvs -qR update -d -P'
|
||||
fi
|
||||
|
||||
if [ "$nocvs" = 0 ]; then
|
||||
@ -273,7 +273,7 @@ if [ "$nocvs" = 0 ]; then
|
||||
echo "running cvs update on /${branch}/src"
|
||||
echo "================================================"
|
||||
cd ${pb}/${branch}/src
|
||||
su ${user} -c 'cvs -q update -d -P'
|
||||
su ${user} -c 'cvs -qR update -d -P'
|
||||
fi
|
||||
|
||||
# this one not in background to check return status
|
||||
@ -322,10 +322,14 @@ if [ "$nodummy" = 0 ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
quickpkgs=""
|
||||
# hack to extend length of dependency chain to build quickports first
|
||||
for i in ${quickports}; do
|
||||
if [ -d $i ]; then
|
||||
quickpkgs="${quickpkgs} $(cd $i; make package-name).tgz"
|
||||
quickpkg="$(cd $i; make package-name).tgz"
|
||||
echo "all: dummy1-$quickpkg" >> ../../${branch}/Makefile
|
||||
echo "dummy1-$quickpkg: dummy2-$quickpkg" >> ../../${branch}/Makefile
|
||||
echo "dummy2-$quickpkg: dummy3-$quickpkg" >> ../../${branch}/Makefile
|
||||
echo "dummy3-$quickpkg: $quickpkg" >> ../../${branch}/Makefile
|
||||
else
|
||||
echo "quick port directory \"$i\" does not exist -- skipping"
|
||||
fi
|
||||
@ -355,6 +359,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
mkdir -p ${pb}/archive/errorlogs/e.${branch}.${date}
|
||||
ln -sf ${pb}/archive/errorlogs/e.${branch}.${date} ${pb}/${branch}/errors
|
||||
ln -sf e.${branch}.${date} ${pb}/archive/errorlogs/e.${branch}.${shortdate}
|
||||
mkdir -p ${pb}/${branch}/errors/old-errors
|
||||
rm -rf ${pb}/archive/errorlogs/a.${branch}.${date} ${pb}/archive/errorlogs/a.${branch}.${shortdate}
|
||||
mkdir -p ${pb}/archive/errorlogs/a.${branch}.${date}
|
||||
ln -sf ${pb}/archive/errorlogs/a.${branch}.${date} ${pb}/${branch}/logs
|
||||
@ -381,7 +386,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
echo "================================================"
|
||||
echo "started at $(date)"
|
||||
phase1start=$(date +%s)
|
||||
make -k -j$count ${quickpkgs} all > ../../make.0 2>&1 </dev/null
|
||||
make -k -j$count all > ../../make.0 2>&1 </dev/null
|
||||
echo "ended at $(date)"
|
||||
phase1end=$(date +%s)
|
||||
echo "phase 1 took $(date -u -j -r $(($phase1end - $phase1start)) | awk '{print $4}')"
|
||||
@ -393,6 +398,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
echo "The following port(s) timed out:"
|
||||
grep -E '(ptimeout|pnohang): killing' make.0 | sed -e 's/^.*ptimeout:/ptimeout:/' -e 's/^.*pnohang:/pnohang:/'
|
||||
fi
|
||||
ls -asFlrt ${pb}/${branch}/packages/All > ${pb}/${branch}/logs/ls-lrt-1
|
||||
cp -rp errors old-errors
|
||||
cd ${pb}/${branch}/old-errors
|
||||
${pb}/scripts/processlogs
|
||||
@ -417,7 +423,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
echo "================================================"
|
||||
echo "started at $(date)"
|
||||
phase2start=$(date +%s)
|
||||
make -k -j$count ${quickpkgs} all > ../../make.1 2>&1 </dev/null
|
||||
make -k -j$count all > ../../make.1 2>&1 </dev/null
|
||||
echo "ended at $(date)"
|
||||
phase2end=$(date +%s)
|
||||
echo "phase 2 took $(date -u -j -r $(($phase2end - $phase2start)) | awk '{print $4}')"
|
||||
@ -462,6 +468,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
for i in *.log; do
|
||||
if [ ! -f ../errors/$i ]; then
|
||||
new="$new $(basename $i .log)"
|
||||
cp -p ${i} ${pb}/${branch}/errors/old-errors
|
||||
fi
|
||||
done
|
||||
if [ "x$new" != "x" ]; then
|
||||
@ -469,6 +476,7 @@ if [ "$nobuild" = 0 ]; then
|
||||
fi
|
||||
archiveports ${pb} ${branch} &
|
||||
generatemd5 ${pb} ${branch} &
|
||||
sleep 5
|
||||
echo "================================================"
|
||||
echo "new failures"
|
||||
echo "================================================"
|
||||
|
Loading…
Reference in New Issue
Block a user