listsrcdirs revision 1.15
11.2Spooka#!/bin/sh 21.2Spooka# 31.15Spooka# $NetBSD: listsrcdirs,v 1.15 2014/07/08 14:30:21 pooka Exp $ 41.1Spooka# 51.1Spooka 61.1Spooka# 71.2Spooka# This script echoes the NetBSD source directories required to build rump 81.1Spooka# kernels with TOOLS_BUILDRUMP=yes (used for example by buildrump.sh). 91.1Spooka# Feed the output to whichever method you use to obtain NetBSD sources, e.g. 101.1Spooka# 111.2Spooka# ./listsrcdirs | xargs cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot -z3 co -P 121.2Spooka# 131.1Spooka 141.15Spooka# default echomode (for compat) 151.15Spookaem=sys 161.15Spooka 171.15Spooka# mini-getopt (so that we don't have to with getopt vs. getopts 181.15Spookaunset cvsmode 191.15Spookaif [ "${1}" = "-c" ]; then 201.15Spooka cvsmode=true 211.15Spooka shift 221.15Spookafi 231.15Spooka[ ! -z "${1}" ] && em=$1 241.15Spooka# "both" is undocumented, can be used for checking dupes: 251.15Spooka# sh listsrcdirs both | sort | uniq -d 261.15Spookaif [ "${em}" != "sys" -a "${em}" != "usr" -a "${em}" != "both" ]; then 271.15Spooka echo 'mode must be sys or usr' 281.15Spooka exit 1 291.15Spookafi 301.15Spooka 311.15Spookalsrc () 321.2Spooka{ 331.2Spooka 341.15Spooka what=$1 351.15Spooka pfx=$2 361.15Spooka shift 2 371.15Spooka if [ "${em}" = "both" -o "${what}" = "${em}" ]; then 381.15Spooka for arg in $* ; do echo src${pfx}${arg} ; done 391.15Spooka fi 401.2Spooka} 411.2Spooka 421.11SpookaARCHS="amd64 i386 x86 arm evbarm sparc sparc64 powerpc evbppc mips evbmips" 431.10SpookaARCHS_EXTRA="arm/arm32 Makefile" 441.10Spooka 451.15Spooka# sources necessary for building rump kernel components 461.15Spookalsrc sys / build.sh Makefile Makefile.inc 471.15Spookalsrc sys / tools common include share/mk 481.15Spookalsrc sys /etc/ Makefile.params master.passwd group 491.15Spookalsrc sys /lib/lib c util rump 501.15Spookalsrc sys /lib/librump user client hijack dev net vfs 511.15Spookalsrc sys /external/bsd/ flex mdocml byacc 521.15Spookalsrc sys /external/cddl/ osnet 531.15Spookalsrc sys /external/historical/ nawk 541.15Spookalsrc sys /bin/ cat 551.15Spookalsrc sys /usr.bin/ make xinstall config mktemp sed tsort 561.15Spookalsrc sys /usr.bin/ lorder join cksum m4 mkdep Makefile.inc 571.15Spookalsrc sys /usr.bin/ rpcgen rump_server rump_allserver rump_wmd 581.15Spookalsrc sys /usr.bin/ stat shmif_dumpbus 591.15Spookalsrc sys /usr.sbin/ mtree 601.15Spooka 611.15Spooka# assorted userspace sources, mostly for configuration & diagnostics 621.15Spookalsrc usr /lib/lib crypt ipsec m npf pci prop 631.15Spookalsrc usr /lib/lib pthread rmt y z 641.15Spookalsrc usr /libexec/ ld.elf_so 651.15Spookalsrc usr /bin/ chmod cp dd df ed ln ls mkdir mv pax 661.15Spookalsrc usr /bin/ rm rmdir 671.15Spookalsrc usr /sbin/ cgdconfig chown 681.15Spookalsrc usr /sbin/ disklabel dump fsck fsck_ext2fs fsck_ffs 691.15Spookalsrc usr /sbin/ fsck_lfs fsck_msdos fsck_v7fs 701.15Spookalsrc usr /sbin/ ifconfig mknod 711.15Spookalsrc usr /sbin/ modstat mount mount_ffs mount_tmpfs newfs 721.15Spookalsrc usr /sbin/ newfs_v7fs newfs_msdos newfs_ext2fs 731.15Spookalsrc usr /sbin/ newfs_lfs newfs_sysvbfs newfs_udf 741.15Spookalsrc usr /sbin/ ping ping6 raidctl reboot 751.15Spookalsrc usr /sbin/ rndctl route setkey sysctl umount 761.15Spookalsrc usr /usr.bin/ kdump ktrace 771.15Spookalsrc usr /usr.sbin/ arp dumpfs makefs ndp npf pcictl vnconfig 781.15Spookalsrc usr /usr.sbin/ wlanctl 791.15Spookalsrc usr /external/bsd/ libpcap tcpdump wpa 801.15Spookalsrc usr /crypto/ Makefile.openssl 811.15Spookalsrc usr /crypto/dist/ ipsec-tools 821.15Spookalsrc usr /crypto/external/bsd/ openssl 831.15Spooka 841.3Spooka 851.3Spooka# If -c is given, use CVS syntax to exclude large subdirectories 861.3Spooka# of sys. Otherwise just do it wholesale. 871.15Spookaif ${cvsmode:-false}; then 881.15Spooka [ "${em}" = "sys" ] && echo \!src/sys/arch src/sys 891.3Spooka 901.3Spooka # pick a few useful archs, namely those mentioned in buildrump.sh 911.10Spooka for arch in ${ARCHS}; do 921.15Spooka lsrc sys /sys/arch/${arch}/ include ${arch} Makefile 931.10Spooka done 941.10Spooka for extra in ${ARCHS_EXTRA}; do 951.15Spooka lsrc sys /sys/arch/ ${extra} 961.3Spooka done 971.3Spookaelse 981.15Spooka lsrc sys / sys 991.3Spookafi 100