summaryrefslogtreecommitdiff
path: root/pkgtools/cdpack
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2005-08-01 21:47:43 +0000
committerdmcmahill <dmcmahill>2005-08-01 21:47:43 +0000
commit82243feff7871742dd511aa75ecac8dd38d791e5 (patch)
treeb9de2c2cbb3bdf90b974a4a08508b2177a62e64a /pkgtools/cdpack
parent7b9a4f3c658d9f3396763dfe61f2ec97b0572d4c (diff)
downloadpkgsrc-82243feff7871742dd511aa75ecac8dd38d791e5.tar.gz
update to cdpack-1.6.
- add -m, -o, and -r flags to optionally specify the machine-architecture operating system, and os version to be displayed in the generated README file. From Greg Woods via private email. - White space fixes from Greg Woods. - Clean up the generated README file as well as several of the messages to reflect if the collection is a CD-ROM or DVD set. Some patches from Greg Woods, more from me. - List the tools used at runtime.
Diffstat (limited to 'pkgtools/cdpack')
-rw-r--r--pkgtools/cdpack/DESCR21
-rw-r--r--pkgtools/cdpack/Makefile27
-rwxr-xr-xpkgtools/cdpack/files/cdgen.awk26
-rw-r--r--pkgtools/cdpack/files/cdpack.123
-rwxr-xr-xpkgtools/cdpack/files/cdpack.sh202
5 files changed, 191 insertions, 108 deletions
diff --git a/pkgtools/cdpack/DESCR b/pkgtools/cdpack/DESCR
index 07ce572db7e..02be58cca57 100644
--- a/pkgtools/cdpack/DESCR
+++ b/pkgtools/cdpack/DESCR
@@ -1,11 +1,14 @@
cdpack is a small utility for creating ISO 9660 images for
-a multi-CD binary package collection. The utility creates
+a multi-CD/DVD binary package collection. The utility creates
ISO 9660 images for all the binary packages in a specified
-directory. A choice of two algorithms is available for how
-the packages are grouped. The "no duplication" algorithm
-arranges the packages so any package on CD number `n' will
-have all of its dependencies on CD numbers 1 through `n'.
-The "no inter-CD depends" algorithm will place certain
-packages on more than one CD to ensure that each CD is self
-contained (all package dependencies are satisfied within
-the single CD).
+directory.
+
+A choice of two algorithms is available for how the packages
+are grouped. The "no duplication" algorithm arranges the
+packages so any package on CD/DVD number `n' will have all of
+its dependencies on CD/DVD numbers 1 through `n'.
+
+The "no inter-CD/DVD depends" algorithm will place certain
+packages on more than one CD/DVD to ensure that each CD/DVD is
+self contained (all package dependencies are satisfied within
+the single CD/DVD).
diff --git a/pkgtools/cdpack/Makefile b/pkgtools/cdpack/Makefile
index 1958f9ef4ad..f003163b20f 100644
--- a/pkgtools/cdpack/Makefile
+++ b/pkgtools/cdpack/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.19 2005/06/17 03:50:29 jlam Exp $
+# $NetBSD: Makefile,v 1.20 2005/08/01 21:47:43 dmcmahill Exp $
#
-DISTNAME= cdpack-1.5
-PKGREVISION= 1
+DISTNAME= cdpack-1.6
CATEGORIES= pkgtools
MASTER_SITES= # empty
DISTFILES= # empty
@@ -18,17 +17,31 @@ WRKSRC= ${WRKDIR}
NO_CHECKSUM= yes
NO_CONFIGURE= yes
+USE_TOOLS+= awk:run
+USE_TOOLS+= expr:run
+USE_TOOLS+= sort:run
+USE_TOOLS+= tsort:run
+
INSTALLATION_DIRS= bin libexec man/man1
do-build:
${SED} -e 's;@prefix@;${PREFIX};g' \
- -e 's;@progver@;${PKGVERSION};g' ${FILESDIR}/cdpack.sh > \
- ${WRKDIR}/cdpack
+ -e 's;@progver@;${PKGVERSION};g' \
+ -e 's;@AWK@;${AWK};g' \
+ -e 's;@EXPR@;${EXPR};g' \
+ -e 's;@SORT@;${SORT};g' \
+ -e 's;@TSORT@;${TSORT};g' \
+ ${FILESDIR}/cdpack.sh > \
+ ${WRKSRC}/cdpack
${CHMOD} 755 ${WRKDIR}/cdpack
+ ${SED} -e 's;@AWK@;${AWK};g' ${FILESDIR}/cdpack.1 > \
+ ${WRKSRC}/cdpack.1
+ ${SED} -e 's;@AWK@;${AWK};g' ${FILESDIR}/cdgen.awk > \
+ ${WRKSRC}/cdgen.awk
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/cdpack ${PREFIX}/bin
- ${INSTALL_SCRIPT} ${FILESDIR}/cdgen.awk ${PREFIX}/libexec
- ${INSTALL_MAN} ${FILESDIR}/cdpack.1 ${PREFIX}/man/man1
+ ${INSTALL_SCRIPT} ${WRKSRC}/cdgen.awk ${PREFIX}/libexec
+ ${INSTALL_MAN} ${WRKSRC}/cdpack.1 ${PREFIX}/man/man1
.include "../../mk/bsd.pkg.mk"
diff --git a/pkgtools/cdpack/files/cdgen.awk b/pkgtools/cdpack/files/cdgen.awk
index 4e1adac828a..6f4fbbace0d 100755
--- a/pkgtools/cdpack/files/cdgen.awk
+++ b/pkgtools/cdpack/files/cdgen.awk
@@ -1,7 +1,7 @@
-#!/usr/bin/awk -f
-# $NetBSD: cdgen.awk,v 1.5 2005/01/09 15:33:09 dmcmahill Exp $
+#!@AWK@ -f
+# $NetBSD: cdgen.awk,v 1.6 2005/08/01 21:47:43 dmcmahill Exp $
#
-# Copyright (c) 2001, 2002, 2003 Dan McMahill, All rights reserved.
+# Copyright (c) 2001, 2002, 2003, 2005 Dan McMahill, All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -224,7 +224,7 @@ BEGIN {
}
else{
# the CD is full
- printf("cd number %d is full (%g Mb)\n",cdn,
+ printf("disk number %d is full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
cdpkgs[cdn] = pkgn;
# increment the CD counter
@@ -240,16 +240,16 @@ BEGIN {
# see if the extra files will fit on the last CD
if ( (cdtot[cdn] + other_size) < maxcd ){
- printf("cd number %d is partially full (%g Mb)\n",cdn,
+ printf("disk number %d is partially full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
}
else{
- printf("cd number %d is full (%g Mb)\n",cdn,
+ printf("disk number %d is full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
cdn = cdn + 1;
cdtot[cdn] = other_size;
cdpkgs[cdn] = 0;
- printf("cd number %d is partially full (%g Mb)\n",cdn,
+ printf("disk number %d is partially full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
}
@@ -318,7 +318,7 @@ BEGIN {
}
else{
# the CD is full
- printf("cd number %d is full (%g Mb)\n",cdn,
+ printf("disk number %d is full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
cdpkgs[cdn] = pkgn;
cdn++;
@@ -337,16 +337,16 @@ BEGIN {
# see if the extra files will fit on the last CD
if ( (cdtot[cdn] + other_size) < maxcd ){
- printf("cd number %d is partially full (%g Mb)\n",cdn,
+ printf("disk number %d is partially full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
}
else{
- printf("cd number %d is full (%g Mb)\n",cdn,
+ printf("disk number %d is full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
cdn = cdn + 1;
cdtot[cdn] = other_size;
cdpkgs[cdn] = 0;
- printf("cd number %d is partially full (%g Mb)\n",cdn,
+ printf("disk number %d is partially full (%g Mb)\n",cdn,
cdtot[cdn]/1024);
}
}
@@ -378,7 +378,7 @@ BEGIN {
for (cdn=1; cdn<=ncd; cdn=cdn+1){
printf("----------- CD/DVD #%d ----------\n",cdn);
printf(" %3d binary packages\n",cdpkgs[cdn]);
- outdir=cddir "/cd" cdn "/packages/All";
+ outdir=cddir "/disk" cdn "/packages/All";
cmd="test -d " outdir;
if(system(cmd) == 0){
printf("%10s: output dir \"%s\" already exists.\n",prog,outdir);
@@ -400,7 +400,7 @@ BEGIN {
}
# add it to the cd list
- printf("cd%d\n",cdn) > cdlist ;
+ printf("disk%d\n", cdn) > cdlist ;
}
diff --git a/pkgtools/cdpack/files/cdpack.1 b/pkgtools/cdpack/files/cdpack.1
index 8979a361aea..31599d318f0 100644
--- a/pkgtools/cdpack/files/cdpack.1
+++ b/pkgtools/cdpack/files/cdpack.1
@@ -1,6 +1,6 @@
-.\" $NetBSD: cdpack.1,v 1.11 2003/08/03 15:17:51 dmcmahill Exp $
+.\" $NetBSD: cdpack.1,v 1.12 2005/08/01 21:47:43 dmcmahill Exp $
.\"
-.\" Copyright (c) 2001, 2002, 2003 Dan McMahill, All rights reserved.
+.\" Copyright (c) 2001, 2002, 2003, 2005 Dan McMahill, All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@@ -42,6 +42,9 @@
.Op -dvd
.Op -h | --help
.Op -l logfile
+.Op -m machine_architecture
+.Op -o operating_system
+.Op -r os_version
.Op -dnRvV
.Op -x common_directory
.Op -X extras_directory
@@ -94,6 +97,10 @@ Displays a short usage message.
.It Fl l Ar logfile
Log the output of mkisofs -v -v to the file
.Ar logfile .
+.It Fl m Ar machine_architecture
+Specifies
+.Ar machine_architecture
+as the target architecture for the binary packages in the generated README file.
.It Fl n
Do not duplicate packages in order to prevent inter-CD/DVD dependencies.
The default without the
@@ -110,6 +117,14 @@ places packages which are lower in the dependency tree on lower
numbered CD/DVD's and packages which are higher on the higher numbered
CD/DVD's. In this fashion, a package on CD/DVD number n
will have all of its dependencies on CD/DVD numbers 1 through n
+.It Fl o Ar operating_system
+Specifies
+.Ar operating_system
+as the target operating system for the binary packages in the generated README file.
+.It Fl r Ar os_version
+Specifies
+.Ar os_version
+as the target operating system version for the binary packages in the generated README file.
.It Fl R
Generate a file,
.Ar README.txt ,
@@ -140,6 +155,10 @@ utility exits 0 on success, and >0 if an error occurs.
.Nm
uses the fillowing environment variables if set.
.Bl -tag -width "TMPDIR"
+.It Ev AWK
+awk implementation to use.
+Defaults to
+.Dq Li @AWK@ .
.It Ev TMPDIR
Directory for holding temporary files during the image creation.
Defaults to
diff --git a/pkgtools/cdpack/files/cdpack.sh b/pkgtools/cdpack/files/cdpack.sh
index c5073654ed2..3c442754d58 100755
--- a/pkgtools/cdpack/files/cdpack.sh
+++ b/pkgtools/cdpack/files/cdpack.sh
@@ -1,7 +1,7 @@
#!/bin/sh
-# $NetBSD: cdpack.sh,v 1.9 2003/08/03 15:17:51 dmcmahill Exp $
+# $NetBSD: cdpack.sh,v 1.10 2005/08/01 21:47:43 dmcmahill Exp $
#
-# Copyright (c) 2001, 2002, 2003 Dan McMahill, All rights reserved.
+# Copyright (c) 2001, 2002, 2003, 2005 Dan McMahill, All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -40,6 +40,10 @@ progver=@progver@
TMPDIR=${TMPDIR:-/tmp}
TMP=${TMPDIR}/${prog}.$$
+AWK=${AWK:-@AWK@}
+EXPR="@EXPR@"
+SORT="@SORT@"
+TSORT="@TSORT@"
depf=$TMP/depf
depf2=$TMP/depf2
@@ -59,9 +63,10 @@ touch $exclude
usage(){
echo " "
echo "$prog - generates ISO9660 images for a multi-cd binary package collection"
- echo "Usage: $prog [-ac | -ec] [-af | -ef] [-dvd] [-h|--help] [-l logfile] [-dnRvV] "
+ echo "Usage: $prog [-ac | -ec] [-af | -ef] [-dvd] [-h|--help] [-l logfile] [-dnRvV]"
+ echo " [-o opsys] [-m machine] [-r release]"
echo " [-x dir] [-X dir] packages_directory cdimage_directory"
- echo "Example: $prog /usr/pkgsrc/packages/netbsd-1.5/alpha/All /images/netbsd-1.5/alpha"
+ echo "Example: $prog /usr/pkgsrc/packages/All /images/netbsd-1.5/alpha"
echo "Please refer to the manual page for complete documentation."
echo " "
}
@@ -90,8 +95,11 @@ fullpath(){
}
ADD_README=no
+ARCH=`uname -m`
DEBUG=no
DUP=yes
+OS=`uname -s`
+RELEASE=`uname -r`
VERBOSE=no
VERSION=no
USE_XTRA=no
@@ -141,22 +149,38 @@ do
-h|--help) usage
exit 0
;;
+
# log file for the output of mkisofs -v -v
-l) mkisofslog=$2
shift 2
;;
+ # target machine architecture for these packages
+ -m) ARCH=$2
+ shift 2
+ ;;
+
# do not duplicate packages to avoid inter-CD dependencies
-n) DUP=no
shift
;;
+ # target os for these packages
+ -o) OS=$2
+ shift 2
+ ;;
+
+ # target os version for these packages
+ -r) RELEASE=$2
+ shift 2
+ ;;
+
# automatically generate a README.txt file for each CD-ROM
-R) ADD_README=yes
shift
;;
- # be verbose
+ # be verbose
-v) VERBOSE=yes
shift
;;
@@ -256,7 +280,7 @@ fi
if [ "$USE_XTRA" = "yes" ]; then
extra=`fullpath $extra`
- XTRA_SIZE=`du -sk $extra | awk '{print $1}'`
+ XTRA_SIZE=`du -sk $extra | ${AWK} '{print $1}'`
if [ "$VERBOSE" = "yes" ]; then
echo "Extra directory full path name is \"$extra\". It contains $XTRA_SIZE kB."
fi
@@ -272,7 +296,7 @@ fi
if [ "$USE_OTHERS" = "yes" ]; then
others=`fullpath $others`
- OTHER_SIZE=`du -sk $others | awk '{print $1}'`
+ OTHER_SIZE=`du -sk $others | ${AWK} '{print $1}'`
if [ "$VERBOSE" = "yes" ]; then
echo "Other files directory full path name is \"$others\". It contains $OTHER_SIZE kB."
fi
@@ -281,7 +305,7 @@ else
fi
echo " "
-echo "$prog starting: `date`"
+echo "$prog starting: `date`"
echo " "
#
@@ -296,6 +320,14 @@ npkgs=0
echo "Extracting all dependency information for the binary packages..."
for pkg in $packages/*
do
+ case $pkg in
+ # this allows foo.tgz to have a foo.txt containing some readme info
+ # about the file to exist without throwing off cdpack.
+ *.txt)
+ continue
+ ;;
+ esac
+
if [ -f $pkg ]; then
# extract the packge name
pkgname=`basename $pkg .tgz`
@@ -304,13 +336,13 @@ do
cat $pkg | (cd $TMP; tar --fast-read -xzf - +BUILD_INFO +CONTENTS)
# extract the depends
- deps=`awk '/^@pkgdep/ {printf("%s ",$2)}' $TMP/+CONTENTS`
+ deps=`${AWK} '/^@pkgdep/ {printf("%s ",$2)}' $TMP/+CONTENTS`
# extract any conflicts
- cfls=`awk '/^@pkgcfl/ {printf("%s ",$2)}' $TMP/+CONTENTS`
+ cfls=`${AWK} '/^@pkgcfl/ {printf("%s ",$2)}' $TMP/+CONTENTS`
# check to see if we're allowed to add this package to the CD set
- NO_BIN_ON_CDROM=`awk -F "=" '/NO_BIN_ON_CDROM/ {print $2}' $TMP/+BUILD_INFO`
+ NO_BIN_ON_CDROM=`${AWK} -F "=" '/NO_BIN_ON_CDROM/ {print $2}' $TMP/+BUILD_INFO`
if [ ! -z "$NO_BIN_ON_CDROM" ]; then
if [ "$ALLOW_NO_BIN_ON_CDROM" = "no" ]; then
echo "EXCLUDED $pkgname: NO_BIN_ON_CDROM=$NO_BIN_ON_CDROM" >> $restricted
@@ -322,7 +354,7 @@ do
echo "INCLUDED $pkgname: NO_BIN_ON_CDROM=$NO_BIN_ON_CDROM" >> $restricted
fi
fi
- NO_BIN_ON_FTP=`awk -F "=" '/NO_BIN_ON_FTP/ {print $2}' $TMP/+BUILD_INFO`
+ NO_BIN_ON_FTP=`${AWK} -F "=" '/NO_BIN_ON_FTP/ {print $2}' $TMP/+BUILD_INFO`
if [ ! -z "$NO_BIN_ON_FTP" ]; then
if [ "$ALLOW_NO_BIN_ON_FTP" = "no" ]; then
echo "EXCLUDED $pkgname: NO_BIN_ON_FTP=$NO_BIN_ON_FTP" >> $restricted
@@ -337,11 +369,11 @@ do
# cleanup
rm $TMP/+CONTENTS $TMP/+BUILD_INFO
-
+
# store the results
echo "$pkgname | $deps | $cfls" >> $depf
- # also process all of the listed depends with
+ # also process all of the listed depends with
# 'pkg_admin lsbest' to handle glob patterns
bestdeps=" "
listed=no
@@ -361,14 +393,14 @@ do
done
fi
if [ "$listed" = "no" ]; then
- # make sure we add ourselves to the tree if we have no depends or if the
+ # make sure we add ourselves to the tree if we have no depends or if the
# depends were not found
echo "$pkgname $pkgname" >> $deptree
fi
echo "$pkgname | $bestdeps | $cfls" >> $depf2
- npkgs=$(($npkgs + 1))
+ npkgs=`${EXPR} $npkgs + 1`
else
# Don't bomb out on 1 package
echo "$prog: warning: $pkg not readable"
@@ -383,8 +415,8 @@ echo " "
# sort the packages in dependency order
#
mv $deptree ${deptree}.bak
-sort -u ${deptree}.bak > ${deptree}
-tsort $deptree > $order
+${SORT} -u ${deptree}.bak > ${deptree}
+${TSORT} $deptree > $order
#
# Run the awk program which figures out which packages go on which CD.
@@ -399,9 +431,9 @@ tsort $deptree > $order
# cdlist = ARGV[6];
#
if [ "$VERBOSE" = "yes" ]; then
- echo "awk -f @prefix@/libexec/cdgen.awk $packages $cddir $deptree $exclude $order $cdlist dup=$DUP verbose=$VERBOSE dvd=$DVD $XTRA_SIZE $OTHER_SIZE"
+ echo "${AWK} -f @prefix@/libexec/cdgen.awk $packages $cddir $deptree $exclude $order $cdlist dup=$DUP verbose=$VERBOSE dvd=$DVD $XTRA_SIZE $OTHER_SIZE"
fi
-awk -f @prefix@/libexec/cdgen.awk $packages $cddir $deptree $exclude $order $cdlist dup=$DUP verbose=$VERBOSE dvd=$DVD $XTRA_SIZE $OTHER_SIZE
+${AWK} -f @prefix@/libexec/cdgen.awk $packages $cddir $deptree $exclude $order $cdlist dup=$DUP verbose=$VERBOSE dvd=$DVD $XTRA_SIZE $OTHER_SIZE
if [ $? -ne 0 ]; then
echo "$prog: ERROR: cdgen.awk has failed"
@@ -413,36 +445,49 @@ fi
#
if [ "$DVD" = "yes" ]; then
what="DVD"
+ space=" "
else
what="CD-ROM"
+ space=""
fi
cat <<EOF > $readme
-This $what collection contains NetBSD binary packages. For
-information on the NetBSD package collection, please visit
-http://www.NetBSD.org/Documentation/software/packages.html.
+This is @DISKNAME@ of a @NDISKS@-disk ${what} collection
+containing binary packages for version ${RELEASE} of
+the ${OS} operating system running on a ${ARCH} platform.
+
+These binary packages were created with the NetBSD packages
+colection (pkgsrc). For information on the NetBSD package
+collection, please visit the NetBSD pkgsrc homepage at
+
+ http://www.pkgsrc.org
+
+For more information about the NetBSD project, please visit the
+project's homepage at
-For more information about the NetBSD project, visit the
-project homepage at http://www.NetBSD.org
+ http://www.NetBSD.org
EOF
if [ "$DUP" = "yes" ]; then
cat <<EOF >> $readme
-The packages on this $what have been arranged to eliminate all
-inter-$what dependencies. In other words, each package on this
-$what should have all of its dependencies (if they are allowed
-to be provided on $what) present on the same $what.
+The packages on this ${what} have been arranged to eliminate all
+inter-${what} dependencies. In other words, each package on this
+${what} should have all of its dependencies (if they are allowed
+to be provided on a ${what}) present on the same ${what}.
+Installation of an individual package on this ${what} should not
+require any swapping of media. Some packages may be duplicated on
+multiple ${what}s.
EOF
else
cat <<EOF >> $readme
-The packages on this $what have been arranged such that for a
-given package on $what number n, all of the other required
-packages are on $what number 1 through n. This allows the
-user to make a single pass through the $what set when installing
-a collection of packages.
+The packages on this ${what} have been arranged by order of their
+dependencies across the entire @NDISKS@ set of ${what}s. This allows
+you to make a single pass through the ${what} set when installing
+any group of pacakges provided on the set, or when installing or
+loading the entire collection.
EOF
fi
@@ -454,14 +499,14 @@ fi
if [ "$ALLOW_NO_BIN_ON_CDROM" = "no" ]; then
cat <<EOF >> $readme
All packages with NO_BIN_ON_CDROM set have been excluded from
-this cd collection.
+this ${what} collection.
EOF
else
cat <<EOF >> $readme
-This $what collection includes packaged with NO_BIN_ON_CDROM set.
-Please do not violate license agreements by selling this $what
+This ${what} collection includes packages with NO_BIN_ON_CDROM set.
+Please do not violate license agreements by selling this ${what}
without verifying that you are allowed to. A list of these
-packages may be found in the ".restricted" file on this $what.
+packages may be found in the ".restricted" file on this ${what}.
EOF
fi
@@ -472,15 +517,15 @@ fi
if [ "$ALLOW_NO_BIN_ON_FTP" = "no" ]; then
cat <<EOF >> $readme
All packages with NO_BIN_ON_FTP set have been excluded from
-this cd collection.
+this ${what} collection.
EOF
else
cat <<EOF >> $readme
-This $what collection includes packages with NO_BIN_ON_FTP set.
-Please do not violate license agreements by placing this
-image on a public FTP site without verifying that you are
+This ${what} collection includes packages with NO_BIN_ON_FTP set.
+Please do not violate license agreements by placing this image or
+its contents on a public FTP site without verifying that you are
allowed to. A list of these packages may be found in the
- ".restricted" file on this $what.
+".restricted" file on this ${what}.
EOF
fi
@@ -489,21 +534,22 @@ fi
#
cat <<EOF >> $readme
-This README, along with the $what layout was created using the
+This file, along with the ${what} layout was created using the
cdpack program which is available as part of the NetBSD
packages collection at
-ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/pkgtools/cdpack
-.
+
+ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/pkgtools/cdpack/
EOF
-
-#
+
+#
# Generate an index file which lists the contents of each CD.
#
-echo "Creating CD Index File"
+echo "Creating Disk Index File"
-for cdname in `cat $cdlist`
+numdisks=0
+for cdname in `cat ${cdlist}`
do
#
# cdgen shouldn't have included any restricted pkgs, but
@@ -524,9 +570,10 @@ do
do
echo "`basename $pkg` $cdname" >> $indexf
done
+ numdisks=`${EXPR} ${numdisks} + 1`
done
mv $indexf ${indexf}.tmp
-sort ${indexf}.tmp > $indexf
+${SORT} ${indexf}.tmp > $indexf
#
# Populate the cd's with the index file and readme
@@ -545,18 +592,20 @@ ncds=0
for cdname in `cat $cdlist`
do
if [ -f $indexf ]; then
- (cd ${cddir}/${cdname} && cp $indexf .index )
+ (cd ${cddir}/${cdname} && cp $indexf .index)
fi
if [ -f $indexf ]; then
- (cd ${cddir}/${cdname} && cp $restricted .restricted )
+ (cd ${cddir}/${cdname} && cp $restricted .restricted)
fi
if [ "$ADD_README" = "yes" ]; then
if [ "$VERBOSE" = "yes" ]; then
echo "Copying README.txt file"
fi
- (cd ${cddir}/${cdname} && cp $readme README.txt)
+ (cd ${cddir}/${cdname} && sed -e "s/@DISKNAME@/$cdname/g" \
+ -e "s/@NDISKS@/${numdisks}/g" \
+ < $readme > README.txt)
fi
if [ $USE_XTRA = "yes" ]; then
@@ -566,7 +615,7 @@ do
done
fi
- ncds=$(($ncds + 1))
+ ncds=`${EXPR} $ncds + 1`
done
@@ -584,7 +633,7 @@ fi
#
# Create the ISO Images
#
-volid=PackagesCD
+volid=PkgsrcDisk
#mkisofs_flags="-f -l -r -J -L -volset-size $ncds -V $volid "
mkisofs_flags="-v -v -f -l -r -J -L "
@@ -611,34 +660,34 @@ if [ -f $warnings ]; then
cat $warnings
fi
-echo "-------------------------------------------------------"
-echo "* Please note: This CD set was created with *"
-echo "* *"
+echo "-----------------------------------------------------------"
+echo "* Please note: This ${what} set was created with ${space}*"
+echo "* *"
if [ "$ALLOW_NO_BIN_ON_CDROM" = "no" ]; then
- echo "* - NO_BIN_ON_CDROM packages excluded. *"
+ echo "* - NO_BIN_ON_CDROM packages excluded. *"
else
- echo "* - NO_BIN_ON_CDROM packages INCLUDED. Please *"
- echo "* verify that you will not violate any licenses *"
- echo "* with this CD set. Refer to the /.restricted *"
- echo "* file which has been placed on each CD in the *"
- echo "* set for details. *"
+ echo "* - NO_BIN_ON_CDROM packages INCLUDED. Please *"
+ echo "* verify that you will not violate any licenses *"
+ echo "* with this ${what} set. Refer to the /.restricted ${space}*"
+ echo "* file which has been placed on each ${what} in the ${space}*"
+ echo "* set for details. *"
fi
-echo "* *"
+echo "* *"
if [ "$ALLOW_NO_BIN_ON_FTP" = "no" ]; then
- echo "* - NO_BIN_ON_FTP packages excluded. *"
+ echo "* - NO_BIN_ON_FTP packages excluded. *"
else
- echo "* - NO_BIN_ON_FTP packages INCLUDED. You should *"
- echo "* not make this CD set available via FTP as it *"
- echo "* would violate the license on one or more *"
- echo "* packages. Refer to the /.restricted file *"
- echo "* which has been placed on each CD in the *"
- echo "* set for details. *"
+ echo "* - NO_BIN_ON_FTP packages INCLUDED. You should *"
+ echo "* not make this ${what} set available via FTP as it ${space}*"
+ echo "* would violate the license on one or more *"
+ echo "* packages. Refer to the /.restricted file *"
+ echo "* which has been placed on each ${what} in the ${space}*"
+ echo "* set for details. *"
fi
-echo "* *"
-echo "-------------------------------------------------------"
+echo "* *"
+echo "-----------------------------------------------------------"
echo " "
-echo "$prog finished: `date`"
+echo "$prog finished: `date`"
echo " "
if [ "x$DEBUG" = "xno" ]; then
@@ -648,4 +697,3 @@ else
fi
exit 0
-