plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

mkfilelist (2731B)


      1 #!/usr/local/plan9/bin/rc
      2 
      3 @{cd $PLAN9; find . -type f -print; find . -type d -print | sed 's;$;/;'} | 
      4 	sort | sed 's;^./;;' | grep . |
      5 awk -vplan9'='$PLAN9 '
      6 	function cat(s) {
      7 		print line0, s
      8 		next
      9 	}
     10 	
     11 	BEGIN{
     12 		# Dependencies
     13 		# print "bin: base"
     14 		# print "devel: base bin"
     15 		# print "dist: base"
     16 		# print "faces: base"
     17 		# print "font-asian: font-core"
     18 		# print "font-bh: font-core"
     19 		# print "font-proof: font-core"	
     20 		# print "font-core: core"
     21 		# print "devel: base, lib"
     22 		# print "lp: base, faces"
     23 		# print "sky: base"
     24 		# print "sky-data: sky"
     25 		# print "src: base, devel"
     26 		# print "troff: base, postscript"
     27 		# print "unixdist: base, src"
     28 	}
     29 	
     30 	# Eliminate unmentionables.
     31 	{ line0 = $0 }
     32 	/^CVS\// { next }
     33 	/\/CVS\// { next }
     34 	/\.#/ { next }
     35 	/\.cvsignore/ { next }	
     36 	/^ChangeLog/ { next }
     37 	/^config$/ { next }
     38 	/^install.log$/ { next }
     39 	/CVS.IEXIST/ { next }
     40 	
     41 	# Print with categories.
     42 	/^(LICENSE|CHANGES|INSTALL|NOTES|TODO)/ { cat("base") }
     43 
     44 	/^acid\// { cat("devel") }
     45 
     46 	/^bin\/(9c|9l|9ar|9install)/ { cat("devel") }
     47 	/^bin\/.*\/$/ { cat("base") }
     48 	/^bin\/./ { 
     49 		file=$1
     50 		cmd = "file " plan9 "/''" $1 "'' | sed ''s/.*: //'' "
     51 		type = cmd | getline
     52 		close(cmd)
     53 		$1=file
     54 		if(type ~ /script/)
     55 			cat("base")
     56 		else
     57 			cat("bin")
     58 	}
     59 	/^bin\/$/ { cat("base") }
     60 	
     61 	/^dict\// { cat("dict") }
     62 	
     63 	/^dist\/debian\/(dists|pool)/ { next }
     64 	/^dist\// { cat("dist") }
     65 
     66 	/^face\// { cat("faces") }
     67 
     68 	/^font\/(big5|gb|jis|naga10|shinonome)/ { cat("font-asian") }
     69 	/^font\/LICENSE/ { cat("font-bh") }
     70 	/^font\/(luc|lucsans|lucm|pelm)\// { cat("font-bh") }
     71 	/^font\/(MAP|fixed|misc|sample|smiley)/ { cat("font-core") }
     72 	/^font\/(palatino|times|special)/ { cat("font-proof") }
     73 	/^font\// { cat("font-core") }
     74 	
     75 	/^include\// { cat("devel") }
     76 
     77 	/^lib\/.*\.a$/ { cat("lib") }
     78 	/^lib\/(..spell|acme.rc|bclib|fortunes|gv|grap|keyboard|lex|unicode|units|words|yacc)/ { cat("base") }
     79 	/^lib\/moveplan9/ { cat("base") }
     80 	/^lib\/hyphen.tex/ { cat("troff") }
     81 	/^lib\/linux-isnptl\.c/ { cat("src") }
     82 	/^lib\/$/ { cat("base") }
     83 
     84 	/^log\// { cat("base") }
     85 
     86 	/^lp\// { cat("lp") }
     87 	
     88 	/^man\/man3/ { cat("devel") }
     89 	/^man\// { cat("base") }
     90 	
     91 	/^ndb\// { cat("base") }
     92 	
     93 	/^news\// { cat("base") }
     94 	
     95 	/^plumb/ { cat("base") }
     96 	
     97 	/^postscript\/troff/ { cat("troff") }
     98 	/^postscript\/font\/(Lucida|lsunr|NOTICE)/ { cat("postscript-bh") }
     99 	/^postscript\// { cat("postscript") }
    100 
    101 	/^proto/ { cat("base") }
    102 
    103 	/^rcmain/ { cat("base") }
    104 
    105 	/^sky\/$/ { cat("sky") }
    106 	/^sky\/here/ { cat("sky") }
    107 	/^sky\// { cat("sky-data") }
    108 	
    109 	/^(tmac|troff)\// { cat("troff") }
    110 	
    111 	/^src\/mk/ { cat("devel") }
    112 
    113 	/^src/ { cat("src") }
    114 
    115 	/^unix\// { cat("unixdist") }
    116 	
    117 	# Print warning about unsorted files.
    118 	{ 
    119 		print "unsorted: " $0 >"/dev/stderr"
    120 	}
    121 '