From owner-ports-jp@jp.freebsd.org  Tue Aug 17 11:11:56 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id LAA56251;
	Tue, 17 Aug 1999 11:11:56 +0900 (JST)
	(envelope-from owner-ports-jp@jp.FreeBSD.org)
Received: from diana.infonets.hiroshima-u.ac.jp (diana.infonets.hiroshima-u.ac.jp [133.41.33.53])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id LAA56245
	for <ports-jp@jp.freebsd.org>; Tue, 17 Aug 1999 11:11:55 +0900 (JST)
	(envelope-from taoka@infonets.hiroshima-u.ac.jp)
Received: from peg.infonets.hiroshima-u.ac.jp (peg.infonets.hiroshima-u.ac.jp [133.41.33.64])
	by diana.infonets.hiroshima-u.ac.jp (8.9.3/3.7W) with ESMTP id LAA10484
	for <ports-jp@jp.freebsd.org>; Tue, 17 Aug 1999 11:11:55 +0900 (JST)
Received: from localhost (localhost [127.0.0.1]) by peg.infonets.hiroshima-u.ac.jp (8.9.3/3.6W) with ESMTP
	id LAA02587 for <ports-jp@jp.freebsd.org>; Tue, 17 Aug 1999 11:11:55 +0900 (JST)
To: ports-jp@jp.freebsd.org
From: TAOKA Satoshi <taoka@infonets.hiroshima-u.ac.jp>
In-Reply-To: Your message of "16 Aug 1999 23:48:02 +0900"
	<19990816144802.16120.sada@rr.iij4u.or.jp>
References: <19990816144802.16120.sada@rr.iij4u.or.jp>
X-Mailer: Mew version 1.93 on XEmacs 20.4 (Emerald)
X-Prom-Mew: Prom-Mew 1.93 (procmail reader for Mew)
X-URL: http://www.infonets.hiroshima-u.ac.jp/~taoka/
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19990817111154H.taoka@infonets.hiroshima-u.ac.jp>
Date: Tue, 17 Aug 1999 11:11:54 +0900
X-Dispatcher: imput version 980905(IM100)
Lines: 129
Reply-To: ports-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: ports-jp 7188
Subject: [ports-jp 7188] Re: Script: pkg_fetch
Errors-To: owner-ports-jp@jp.freebsd.org
Sender: owner-ports-jp@jp.freebsd.org
X-Originator: taoka@infonets.hiroshima-u.ac.jp


> $B0MB8$9$k(B packages $B$r=8$a$F$/$k(B script $B$G$9!#(B

$B;d$N$bAw$j$^$9!#$3$A$i$O!"%G%#%l%/%H%j$+$i$N%3%T!<$G$9$,!":4ED$5$s$N$h$&(B
$B$K(Bfetch$B$r;H$&$h$&$K2~NI$9$k$3$H$G!"%M%C%H%o!<%/>e$N$b;}$C$F$3$l$k$G$7$g(B
$B$&!#(B

$BK\Ev$O!"$3$l$O!"(BCD-R$B$r:n$k$N$KE,Ev$K:n$C$?$b$N$G$9!#%5%$%:$r;XDj$7$F!"MF(B
$BNL$r@)8B$9$k$3$H$,$G$-$^$9!#(B

$B$?$@$7!"$^$@!"(B1$BEY$7$+;H$C$F$J$/!J(BFreeBSD 3.2-R$B$r>F$/$?$a!K!"5!G=$b$[$H$s(B
$B$I$J$$$b$N$G$9!#$^$@!"2~NI$NM>CO$O$?$/$5$s$"$j$^$9!#(B

[$BA0Ds>r7o(B]

/hoge/INDEX $B"+(B $B%Q%C%1!<%8$KBP1~$7$?(BINDEX
/hoge/All/*.tgz $B"+%Q%C%1!<%8$rCV$/(B

$B$?$@$7!"(BINDEX$B$O>e$+$i=gHV$K=hM}$9$k$3$H$K$J$k$N$GM=$a<jF0$GJT=8$7$^$9!#(B
-o num $B$G!V>e$+$i2?HVL\$+$i!W$H$$$&;XDj$b$G$-$^$9!#(B

[$B<B9T(B]

cd /work/cdrom
mk_cdrom.pl size(KB) /hoge

$B$G!"(Bsize$B!J(Bdu -k$B$NCM!KJ,$@$1(B/hoge/All$BCf$N(Bpackage$B$r%+%l%s%H%G%#%l%/%H%j$K(B
$B%3%T!<$7$^$9!#$^$?!"?7$7$$(BINDEX$B$b$3$N>l=j$K:n$j$^$9!#(B

[$BLdBjE@(B]

$B$$$C$Q$$$"$j$^$9$,!"$H$j$"$($:Bg$-$J$b$N$@$1!#(B

$B!~(B FreeBSD$B$N(Bpackage$B$G$O!V(Bpackages/japanese$B!W$K!V(Bpackages/All$B!W$N3:Ev%Q%C(B
$B%1!<%8$X$N(Bsymlink$B$,F~$j$^$9!#$G!"I,MW$J$b$N$@$1$K$9$k$J$I$N=hM}$O$7$^$;(B
$B$s!#(B

$B$d$C$Q$j!"$b$&$A$g$C$H2~B$$7$J$$$H;H$$J*$J$i$J$$$G$9$M!#$I$J$?$+!"$b$C$H(B
$B$^$7$J$b$N$K$7$^$;$s$+!)(B



#!/usr/bin/perl --
# -*-Perl-*-
'di';
'ig00';
# mk_cdrom.pl	-- Satoshi Taoka
#
# $Log$
$RCSHEADER = '$Header$';	#'
'$Revision$'  =~ /^\$\w+:\s+([.1234567890]+)\s+\$$/;	#'
$VERSION = $1;

require 'getopts.pl';
Getopts('ho:');

die "Usage: $0 [-o 'offset'] size(KB) target-directory [dist-directory]
" if ($opt_h);

$size = $ARGV[0];
$dir = $ARGV[1];
opendir(DIR, $dir) || die "can't opendir $dir: $!";
closedir DIR;
open(IINDEX, "cat $dir/INDEX |") ||
  die "Not found INDEX in $dir $! \n";
@input = <IINDEX>;

$offset = 0;
$success = 0;
$tail = `wc -l $dir/INDEX` - $opt_o;
system("mkdir -p .workdir");
foreach (@input){
  $offset++;
  next if $offset <= $opt_o;
  chop;
  $thisline = $_;
  ($package, $port, $prefix, $comment, $descr,
   $maintainer, $categories, $build_depends, $run_depends, $WWW) = split('\|');
#  print $run_depends, "\n";
  $tarball = $dir . "/All/" . "$package" . ".tgz";
#  print $tarball, "\n";
  @targets = split(/ /, $run_depends);
  push(@targets, $package);
  foreach $file (@targets){
    $lfile = $file . ".tgz";
    $tfile = $dir . "/All/" . $lfile;
#    print $tfile, "\n";
    system "cp $tfile .workdir" unless -e $lfile;
  }
  $du = `du -sk | cut -f 1`;
  if ($size > $du) {
    system "mv -f .workdir/* ."  unless  `ls -l .workdir | wc -l` < 1;
    $success++;
    print $success, "\n";
  }
  else{
    system "rm -rf .workdir";
    system "cat $dir/INDEX | tail -n $tail | head -n $success > INDEX";
    die "No space!!! \n";
  }
}
system "cat $dir/INDEX | tail -n $tail | head -n $success > INDEX";
system "rmdir .workdir";

########################################################

	# These next few lines are legal in both Perl and Nroff.

.00;		# finish .ig
 
'di		\" finish diversion--previous line must be blank
.nr nl 0-1	\" fake up transition to first page again
.nr % 0		\" start at page 1
'; __END__	#### From here on it's a standard manual page ####
.TH MK_CDROM 1 "Wed May 19 1999" "Information Nets Lab.,Faculty of Engineering,Hiroshima Univ.,Japan."
.SH NAME
mk_cdrom \- 
.SH SYNOPSIS
.B mk_cdrom [options] [files]
.SH DESCRIPTION
.SH OPTIONS
.SH ENVIRONMENT
.SH EXAMPLES
.SH FILES
.SH AUTHOR
Satoshi Taoka <taoka@infonets.hiroshima-u.ac.jp>
.SH SEE ALSO
.SH DIAGNOSTICS
.SH BUGS
