Home | History | Annotate | Line # | Download | only in rump
listsrcdirs revision 1.15
      1 #!/bin/sh
      2 #
      3 #	$NetBSD: listsrcdirs,v 1.15 2014/07/08 14:30:21 pooka Exp $
      4 #
      5 
      6 #
      7 # This script echoes the NetBSD source directories required to build rump
      8 # kernels with TOOLS_BUILDRUMP=yes (used for example by buildrump.sh).
      9 # Feed the output to whichever method you use to obtain NetBSD sources, e.g.
     10 #
     11 # ./listsrcdirs | xargs cvs -d anoncvs (at] anoncvs.netbsd.org:/cvsroot -z3 co -P
     12 #
     13 
     14 # default echomode (for compat)
     15 em=sys
     16 
     17 # mini-getopt (so that we don't have to with getopt vs. getopts
     18 unset cvsmode
     19 if [ "${1}" = "-c" ]; then
     20 	cvsmode=true
     21 	shift
     22 fi
     23 [ ! -z "${1}" ] && em=$1
     24 # "both" is undocumented, can be used for checking dupes:
     25 # sh listsrcdirs both | sort | uniq -d
     26 if [ "${em}" != "sys" -a "${em}" != "usr" -a "${em}" != "both" ]; then
     27 	echo 'mode must be sys or usr'
     28 	exit 1
     29 fi
     30 
     31 lsrc ()
     32 {
     33 
     34 	what=$1
     35 	pfx=$2
     36 	shift 2
     37 	if [ "${em}" = "both" -o "${what}" = "${em}" ]; then
     38 		for arg in $* ; do echo src${pfx}${arg} ; done
     39 	fi
     40 }
     41 
     42 ARCHS="amd64 i386 x86 arm evbarm sparc sparc64 powerpc evbppc mips evbmips"
     43 ARCHS_EXTRA="arm/arm32 Makefile"
     44 
     45 # sources necessary for building rump kernel components
     46 lsrc sys /			build.sh Makefile Makefile.inc
     47 lsrc sys /			tools common include share/mk
     48 lsrc sys /etc/			Makefile.params master.passwd group
     49 lsrc sys /lib/lib		c util rump
     50 lsrc sys /lib/librump		user client hijack dev net vfs
     51 lsrc sys /external/bsd/		flex mdocml byacc
     52 lsrc sys /external/cddl/	osnet
     53 lsrc sys /external/historical/	nawk
     54 lsrc sys /bin/			cat
     55 lsrc sys /usr.bin/		make xinstall config mktemp sed tsort
     56 lsrc sys /usr.bin/		lorder join cksum m4 mkdep Makefile.inc
     57 lsrc sys /usr.bin/		rpcgen rump_server rump_allserver rump_wmd
     58 lsrc sys /usr.bin/		stat shmif_dumpbus
     59 lsrc sys /usr.sbin/		mtree
     60 
     61 # assorted userspace sources, mostly for configuration & diagnostics
     62 lsrc usr /lib/lib		crypt ipsec m npf pci prop
     63 lsrc usr /lib/lib		pthread rmt y z
     64 lsrc usr /libexec/		ld.elf_so
     65 lsrc usr /bin/			chmod cp dd df ed ln ls mkdir mv pax
     66 lsrc usr /bin/			rm rmdir
     67 lsrc usr /sbin/			cgdconfig chown
     68 lsrc usr /sbin/			disklabel dump fsck fsck_ext2fs fsck_ffs
     69 lsrc usr /sbin/			fsck_lfs fsck_msdos fsck_v7fs
     70 lsrc usr /sbin/			ifconfig mknod
     71 lsrc usr /sbin/			modstat mount mount_ffs mount_tmpfs newfs
     72 lsrc usr /sbin/			newfs_v7fs newfs_msdos newfs_ext2fs
     73 lsrc usr /sbin/			newfs_lfs newfs_sysvbfs newfs_udf
     74 lsrc usr /sbin/			ping ping6 raidctl reboot
     75 lsrc usr /sbin/			rndctl route setkey sysctl umount
     76 lsrc usr /usr.bin/		kdump ktrace
     77 lsrc usr /usr.sbin/		arp dumpfs makefs ndp npf pcictl vnconfig
     78 lsrc usr /usr.sbin/		wlanctl
     79 lsrc usr /external/bsd/		libpcap tcpdump wpa
     80 lsrc usr /crypto/		Makefile.openssl
     81 lsrc usr /crypto/dist/		ipsec-tools
     82 lsrc usr /crypto/external/bsd/	openssl
     83 
     84 
     85 # If -c is given, use CVS syntax to exclude large subdirectories
     86 # of sys.  Otherwise just do it wholesale.
     87 if ${cvsmode:-false}; then
     88 	[ "${em}" = "sys" ] && echo \!src/sys/arch src/sys
     89 
     90 	# pick a few useful archs, namely those mentioned in buildrump.sh
     91 	for arch in ${ARCHS}; do
     92 		lsrc sys /sys/arch/${arch}/ include ${arch} Makefile
     93 	done
     94 	for extra in ${ARCHS_EXTRA}; do
     95 		lsrc sys /sys/arch/ ${extra}
     96 	done
     97 else
     98 	lsrc sys / sys
     99 fi
    100