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