From 81e4c70951f20a9945032115930c9c66aad7e18d Mon Sep 17 00:00:00 2001 From: dmcmahill Date: Sat, 2 Jun 2001 02:03:51 +0000 Subject: update to cdpack-1.1. Changes are: add a '-X directory' option which allows you to specify a directory whose contents should be included on the last CD of the set. This is useful for including, for example, a pkgsrc.tar.gz tarball which doesn't need to be duplicated on each CD. make the usage output be a little better. in particular, list the options and mention the existance of a manpage. --- pkgtools/cdpack/files/cdgen.awk | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) (limited to 'pkgtools/cdpack/files/cdgen.awk') diff --git a/pkgtools/cdpack/files/cdgen.awk b/pkgtools/cdpack/files/cdgen.awk index 9c460e80b10..a3009bd85e0 100755 --- a/pkgtools/cdpack/files/cdgen.awk +++ b/pkgtools/cdpack/files/cdgen.awk @@ -1,5 +1,5 @@ #!/usr/bin/awk -f -# $NetBSD: cdgen.awk,v 1.1.1.1 2001/04/27 18:16:42 dmcmahill Exp $ +# $NetBSD: cdgen.awk,v 1.2 2001/06/02 02:03:52 dmcmahill Exp $ # # Copyright (c) 2001 Dan McMahill, All rights reserved. # @@ -43,7 +43,7 @@ BEGIN { # ARGV[7] = verbose flag. "verbose=yes" for verbose output # ARGV[8] = xtra_size. How many kB are needed per CD for common files - if (ARGC != 9){ + if (ARGC != 10){ printf("%s: wrong number of arguments\n",ARGV[0]); usage(); exit(1); @@ -56,6 +56,7 @@ BEGIN { order = ARGV[4]; cdlist = ARGV[5]; xtra_size= ARGV[8]; + other_size= ARGV[9]; if (ARGV[6] ~ "dup=yes"){ dup=1; @@ -205,8 +206,22 @@ BEGIN { } } cdpkgs[cdn] = pkgn; - printf("cd number %d is partially full (%g Mb)\n",cdn, - cdtot[cdn]/1024); + +# 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, + cdtot[cdn]/1024); + } + else{ + printf("cd 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, + cdtot[cdn]/1024); + } + } # @@ -257,8 +272,21 @@ BEGIN { } cdpkgs[cdn] = pkgn; - printf("cd number %d is partially full (%g Mb)\n",cdn, - cdtot[cdn]/1024); + +# 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, + cdtot[cdn]/1024); + } + else{ + printf("cd 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, + cdtot[cdn]/1024); + } } # remember how many cd's there are -- cgit v1.2.3