| #!/usr/local/plan9/bin/rc |
| |
| nl=' |
| ' |
| |
| fn comma { |
| if(! ~ $#* 0 1){ |
| echo -n $1 |
| shift |
| sep=' ' |
| len=0 |
| for(i){ |
| echo -n $sep$i |
| sep=', ' |
| l=`{echo -n $sep$i|9 wc -c} |
| len=`{echo $l+$len | hoc} |
| if(test $len -gt 60){ |
| sep=','^$nl^' ' |
| len=0 |
| } |
| } |
| echo |
| } |
| } |
| |
| if(~ $#* 1 && ~ $1 all) |
| *=`{9 ls -p ../pkg | grep -v CVS} |
| |
| if(~ $#TREE9 0) |
| TREE9=$PLAN9 |
| |
| date=`{u date +%Y%m%d} |
| march=`{uname -m} |
| arch=all |
| switch($march){ |
| case i*86 |
| march=i386 |
| } |
| |
| for(i)@{ |
| if(! test -f ../pkg/$i){ |
| echo no package ../pkg/$i |
| exit 1 |
| } |
| package=plan9port-$i |
| grepfor=$i |
| . ../pkg/$i |
| deb=$package^_$date^_$arch.deb |
| rm -rf $i $deb |
| mkdir $i $i/DEBIAN |
| whatis grepfor |
| awk -v'grepfor='$grepfor -v 'pkg='$i -v 'plan9='$TREE9 ' |
| BEGIN { print "grep for " grepfor >"/dev/stderr" } |
| $2==grepfor { |
| dir=$1 |
| sub("/[^/]+$", "/", dir) |
| if(dir != lastdir){ |
| printf("mkdir -p ''%s''\n", pkg "/usr/local/plan9/" dir); |
| lastdir = dir |
| } |
| if($1 !~ /\/$/) |
| printf("cp ''%s'' ''%s''\n", plan9 "/" $1, pkg "/usr/local/plan9/" $1) |
| }' $TREE9/dist/filelist | rc |
| size=`{du -sk $i | awk '{print $1}'} |
| { |
| echo Package: $package |
| echo Version: $date |
| echo Architecture: $arch |
| comma Depends: $depends |
| comma Suggests: $suggests |
| comma Conflicts: $conflicts |
| echo Source: plan9port-src |
| echo Installed-Size: $size |
| echo Maintainer: 'Russ Cox <rsc@swtch.com>' |
| echo Description: $desc |
| } >$i/DEBIAN/control |
| if(test -d $i/usr){ |
| @{ |
| cd $i |
| find usr -type f -print0 | xargs -0 -n 100 u md5sum |
| } >$i/DEBIAN/md5sums |
| } |
| if not |
| echo '>>>' $package is a virtual package. |
| dpkg -b $i pool/$deb |
| rm -rf $i |
| } |
| |