mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
Add a missed file which acts as a driver for the others.
Add documentation worked on by Steve and myself for ports freeze and package split procedure. Very minimal, very 4.5 specific, needs work.
This commit is contained in:
parent
a56a8c6935
commit
f0aedc56a5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=56724
@ -4,3 +4,15 @@ This directory contains the scripts that are used to break up the packages
|
||||
for a given release, so that they fit on a particular 4 CD set. They rely
|
||||
on src/release/scripts/print-cdrom-packages.sh to give preference for
|
||||
particular packages to be located on particular CDs.
|
||||
|
||||
The approximate procedure is:
|
||||
|
||||
1) CVSROOT/avail lockout
|
||||
2) cvs rtag RELEASE_4_5_0 ports
|
||||
|
||||
1) cd /a/steve/4.5/i386/RC3
|
||||
2) ./scripts/setup.sh (may want to redirect stdout to a file,
|
||||
as this gives copious output.)
|
||||
3) ./doit.sh
|
||||
|
||||
More documentation to come later.
|
||||
|
129
Tools/scripts/release/doit.sh
Executable file
129
Tools/scripts/release/doit.sh
Executable file
@ -0,0 +1,129 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
dir=`dirname $0`
|
||||
if [ "X$dir" = "X." ]; then
|
||||
dir=`pwd`
|
||||
fi
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Tweak these parameters to match your configuration and make sure to check
|
||||
# that the disc information in config is correct.
|
||||
#
|
||||
# You'll also want to place a recent copy of print-cdrom-packages.sh in the
|
||||
# $scripts directory.
|
||||
#
|
||||
|
||||
ports="$dir/ports"
|
||||
dists="$ports/distfiles"
|
||||
logs="$dir/gen"
|
||||
pkgs="$ports/packages/All"
|
||||
scripts="$dir/scripts"
|
||||
xdep="XFree86-3.3.6_10"
|
||||
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
test -d $logs || mkdir -p $logs
|
||||
|
||||
if [ ! -d "$ports" ]; then
|
||||
$scripts/setup.sh
|
||||
echo ""
|
||||
echo "Make sure you tweak $dir/config to suit your needs."
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ ! -f "$logs/restricted.sh" ]; then
|
||||
echo "===> restricted list generation started at $(date)"
|
||||
(cd $ports; PORTSDIR=$ports make ECHO_MSG=/usr/bin/true \
|
||||
clean-restricted-list > $logs/restricted.sh)
|
||||
echo "===> restricted list generation ended at $(date)"
|
||||
echo $(grep -c '^#' $logs/restricted.sh) "ports in $logs/restricted.sh"
|
||||
fi
|
||||
|
||||
if [ ! -f "$logs/.restricted.done" ]; then
|
||||
echo "===> cleaning restricted files"
|
||||
sh $logs/restricted.sh
|
||||
touch $logs/.restricted.done
|
||||
fi
|
||||
|
||||
if [ ! -f "$logs/cdrom.sh" ]; then
|
||||
echo "===> cdrom list generation started at $(date)"
|
||||
(cd $ports; PORTSDIR=$ports make ECHO_MSG=/usr/bin/true \
|
||||
clean-for-cdrom-list > $logs/cdrom.sh)
|
||||
echo "===> cdrom list generation ended at $(date)"
|
||||
echo $(grep -c '^#' $logs/cdrom.sh) "ports in $logs/cdrom.sh"
|
||||
fi
|
||||
|
||||
if [ ! -f "$logs/.cdrom.done" ]; then
|
||||
echo "===> cleaning non-CDROM-able files"
|
||||
sh $logs/cdrom.sh
|
||||
touch $logs/.cdrom.done
|
||||
fi
|
||||
|
||||
if [ ! -f "$logs/INDEX" ]; then
|
||||
echo "===> copying INDEX file"
|
||||
$scripts/scrubindex.pl $pkgs $ports/INDEX > $logs/INDEX
|
||||
$scripts/checkdeps.pl $pkgs $logs/INDEX | sort -u | \
|
||||
sed -e 's/^/missing dependency: /'
|
||||
fi
|
||||
|
||||
echo -n "Create a list of needed files for each disc? [y] "
|
||||
read ans
|
||||
if [ X$ans != Xn -a X$ans != XN ]; then
|
||||
>$logs/need.ALL
|
||||
for disc in `cat config | grep -v '#' | sed -e 's/[ ].*//'`; do
|
||||
echo "disc $disc" >> $logs/need.ALL
|
||||
$scripts/print-cdrom-packages.sh `echo $disc | sed -e 's/^disc//'` \
|
||||
$ports | grep -v $xdep | tee $logs/need.$disc >> $logs/need.ALL
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n "Populate the discs now? [y] "
|
||||
read ans
|
||||
if [ X$ans != Xn -a X$ans != XN ]; then
|
||||
for disc in `ls -d disc? 2>/dev/null`; do
|
||||
echo "===> deleting $disc"
|
||||
rm -rf $disc
|
||||
done
|
||||
if [ -d "scratch" ]; then
|
||||
echo "===> deleting scratch"
|
||||
rm -rf scratch
|
||||
fi
|
||||
$scripts/oneshot.pl config $logs/need.ALL $logs/INDEX $ports $pkgs/../ $dists
|
||||
for disc in `ls -d disc? 2>/dev/null`; do
|
||||
echo "===> cleaning $disc"
|
||||
if [ -d "$disc/packages/All" ]; then
|
||||
$scripts/checkdeps.pl $disc/packages/All $disc/packages/INDEX | \
|
||||
sort -u | sed -e 's/^/missing package: /'
|
||||
(
|
||||
cd $disc/packages/All; \
|
||||
$scripts/scrubindex.pl . ../INDEX > ../INDEX.new; \
|
||||
mv ../INDEX.new ../INDEX; \
|
||||
find . -name '*.tgz' | xargs /sbin/md5 > CHECKSUM.MD5; \
|
||||
)
|
||||
fi
|
||||
du -ck $disc | grep total
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n "Make sure the 'needed' packages made it on the right disc(s)? [y] "
|
||||
read ans
|
||||
if [ X$ans != Xn -a X$ans != XN ]; then
|
||||
for disc in `ls -d disc? 2>/dev/null`; do
|
||||
echo "===> checking $disc"
|
||||
> $logs/have.$disc
|
||||
if [ -d "$disc/packages/All" ]; then
|
||||
( cd $disc/packages/All && find . -name '*.tgz' | \
|
||||
sed -e 's/\.tgz//' -e 's/^\.\///' | sort) > \
|
||||
$logs/have.$disc
|
||||
fi
|
||||
diff -u $logs/have.$disc $logs/need.$disc | grep -e '^\+' | \
|
||||
grep -v -e '^\+* ' | sed -e 's/\+//' > $logs/missing.$disc
|
||||
if [ -s $logs/missing.$disc ]; then
|
||||
echo "===> missing required packages on $disc"
|
||||
cat $logs/missing.$disc
|
||||
fi
|
||||
done
|
||||
fi
|
Loading…
Reference in New Issue
Block a user