1fc7e83faSFrançois Tigeot# really-big.conf - just about everything, just for testing. 2fc7e83faSFrançois Tigeot# This ends up having some good examples of the use of specials for 3fc7e83faSFrançois Tigeot# those hard-to-reach programs. I stopped when I got tired, but we 4fc7e83faSFrançois Tigeot# could probably get even more stuff (like libexec stuff) in here. 5fc7e83faSFrançois Tigeot# 6fc7e83faSFrançois Tigeot# This produces a 4608000 byte binary. Pretty sick and twisted, eh? 76fc6ffe8SFrançois Tigeot# 86fc6ffe8SFrançois Tigeot# $FreeBSD: head/usr.sbin/crunch/examples/really-big.conf 246256 2013-02-02 21:51:14Z pfg $ 96fc6ffe8SFrançois Tigeot# 10fc7e83faSFrançois Tigeot 11fc7e83faSFrançois Tigeot# ========================================================================= 12fc7e83faSFrançois Tigeot 13fc7e83faSFrançois Tigeotsrcdirs /usr/src/bin 14fc7e83faSFrançois Tigeot 15fc7e83faSFrançois Tigeotprogs cat chmod cp csh date dd df domainname echo ed expr hostname kill 162458c6f4SSascha Wildnerprogs ln ls mkdir mt mv ps pwd rm rmail rmdir sh sleep stty sync test 17fc7e83faSFrançois Tigeot 18fc7e83faSFrançois Tigeotln test [ 19fc7e83faSFrançois Tigeotln sh -sh 20fc7e83faSFrançois Tigeot 21fc7e83faSFrançois Tigeot 22fc7e83faSFrançois Tigeot# ========================================================================= 23fc7e83faSFrançois Tigeot 24fc7e83faSFrançois Tigeotsrcdirs /usr/src/sbin 25fc7e83faSFrançois Tigeot 26fc7e83faSFrançois Tigeotprogs badsect bim clri disklabel dmesg dump dumpfs fdisk fsck halt 276fc6ffe8SFrançois Tigeotprogs ifconfig init mknod modload modunload mount mount_isofs 286fc6ffe8SFrançois Tigeotprogs mount_lofs mount_msdosfs mountd 29fc7e83faSFrançois Tigeotprogs newfs nfsd nfsiod ping quotacheck reboot restore route routed savecore 306fc6ffe8SFrançois Tigeotprogs shutdown swapon ttyflags tunefs umount 31fc7e83faSFrançois Tigeot# shell scripts: fastboot 32fc7e83faSFrançois Tigeot 33fc7e83faSFrançois Tigeotln dump rdump 34fc7e83faSFrançois Tigeotln restore rrestore 35fc7e83faSFrançois Tigeot 36fc7e83faSFrançois Tigeot 37fc7e83faSFrançois Tigeot# ========================================================================= 38fc7e83faSFrançois Tigeot 39fc7e83faSFrançois Tigeotsrcdirs /usr/src/usr.bin 40fc7e83faSFrançois Tigeot 41*9e37b890SSascha Wildnerprogs apropos ar asa at basename biff cal calendar cap_mkdb chpass 42fc7e83faSFrançois Tigeotprogs cksum cmp col colcrt colrm column comm compress crontab ctags cut 43fc7e83faSFrançois Tigeotprogs dirname du env error expand false file find finger fmt fold fpr from 44fc7e83faSFrançois Tigeotprogs fsplit fstat ftp getconf getopt gprof head hexdump id indent ipcrm 45fc7e83faSFrançois Tigeotprogs ipcs join kdump ktrace last lastcomm leave lex lock logger locate 46fc7e83faSFrançois Tigeotprogs login logname look m4 machine mail make man mesg mkfifo 47fc7e83faSFrançois Tigeotprogs mkstr modstat more msgs netstat newsyslog nfsstat nice nm nohup 48fc7e83faSFrançois Tigeotprogs pagesize passwd paste patch pr printenv printf quota ranlib 492458c6f4SSascha Wildnerprogs renice rev rpcgen rpcinfo rup ruptime rusers rwall rwho 50fc7e83faSFrançois Tigeotprogs script sed showmount size soelim split strings strip su tail talk 51fc7e83faSFrançois Tigeotprogs tcopy tee telnet tftp time tip tn3270 touch tput tr true tset tsort 52fc7e83faSFrançois Tigeotprogs tty ul uname unexpand unifdef uniq units unvis users uudecode uuencode 531419a4e1SSascha Wildnerprogs vacation vi vis vmstat w wall wc what whatis whereis who 54fc7e83faSFrançois Tigeotprogs whois window write xargs xinstall xstr yacc yes ypcat ypmatch ypwhich 55fc7e83faSFrançois Tigeot 56fc7e83faSFrançois Tigeot# shell scripts: lorder mkdep shar which 57fc7e83faSFrançois Tigeot# problems: rdist uses libcompat.a(regex.o), which conflicts with 58fc7e83faSFrançois Tigeot# libedit(readline.o) over regerror(). 59fc7e83faSFrançois Tigeot 60fc7e83faSFrançois Tigeot# special requirements 61fc7e83faSFrançois Tigeot 62fc7e83faSFrançois Tigeotspecial locate srcdir /usr/src/usr.bin/locate/locate 63fc7e83faSFrançois Tigeotspecial tn3270 srcdir /usr/src/usr.bin/tn3270/tn3270 64fc7e83faSFrançois Tigeot 65fc7e83faSFrançois Tigeot 66fc7e83faSFrançois Tigeot# ========================================================================= 67fc7e83faSFrançois Tigeot 68fc7e83faSFrançois Tigeotsrcdirs /usr/src/usr.sbin 69fc7e83faSFrançois Tigeot 70aefcce89SSascha Wildnerprogs ac accton amd arp bad144 chown chroot config config.new cron 716fc6ffe8SFrançois Tigeotprogs dev_mkdb diskpart edquota flcopy gettable grfinfo hilinfo htable inetd 72d9d67b59SSascha Wildnerprogs iostat iteconfig kvm_mkdb mtree named portmap 73fc7e83faSFrançois Tigeotprogs pstat pwd_mkdb quot quotaon rarpd rbootd repquota rmt rpc.bootparamd 746fc6ffe8SFrançois Tigeotprogs rwhod sa spray sysctl syslogd tcpdump 756fc6ffe8SFrançois Tigeotprogs traceroute trpt update vipw vnconfig ypbind yppoll ypset 76fc7e83faSFrançois Tigeot 77fc7e83faSFrançois Tigeotspecial amd srcdir /usr/src/usr.sbin/amd/amd 78fc7e83faSFrançois Tigeotspecial amd objs vers.amd.o afs_ops.o am_ops.o clock.o util.o xutil.o efs_ops.o mapc.o info_file.o info_hes.o info_ndbm.o info_passwd.o info_nis.o info_union.o map.o srvr_afs.o srvr_nfs.o mntfs.o misc_rpc.o mount_fs.o mtab.o mtab_bsd.o nfs_ops.o nfs_prot_svc.o nfs_start.o nfs_subr.o opts.o pfs_ops.o rpc_fwd.o sched.o sfs_ops.o amq_svc.o amq_subr.o umount_fs.o host_ops.o nfsx_ops.o ufs_ops.o ifs_ops.o amd.o get_args.o restart.o wire.o 79fc7e83faSFrançois Tigeot 80fc7e83faSFrançois Tigeot 81fc7e83faSFrançois Tigeotsrcdirs /usr/src/usr.sbin/lpr # lpr subsystem 82fc7e83faSFrançois Tigeotprogs lpr lpc lpq lprm pac lptest 83fc7e83faSFrançois Tigeotspecial lpr srcdir /usr/src/usr.sbin/lpr/lpr 84fc7e83faSFrançois Tigeot 85fc7e83faSFrançois Tigeotsrcdirs /usr/src/usr.sbin/sendmail # sendmail subsystem 86fc7e83faSFrançois Tigeotprogs mailstats makemap praliases sendmail 87fc7e83faSFrançois Tigeotspecial sendmail srcdir /usr/src/usr.sbin/sendmail/src 88fc7e83faSFrançois Tigeotln sendmail newaliases 89fc7e83faSFrançois Tigeotln sendmail mailq 90fc7e83faSFrançois Tigeot 916fc6ffe8SFrançois Tigeotsrcdirs /usr/src/usr.sbin/xntpd # NTP subsystem 926fc6ffe8SFrançois Tigeot# xntpd uses a gross hack to pass some information in the global 936fc6ffe8SFrançois Tigeot# variable `progname' between the actual program (ntpdate in this 946fc6ffe8SFrançois Tigeot# case), and the NTP library. Add `progname' to the keep list. 956fc6ffe8SFrançois Tigeotprogs ntpdate 966fc6ffe8SFrançois Tigeotspecial ntpdate srcdir /usr/src/usr.sbin/xntpd/ntpdate 976fc6ffe8SFrançois Tigeotspecial ntpdate keep progname 986fc6ffe8SFrançois Tigeotlibs -L/usr/src/usr.sbin/xntpd/lib -lntp 996fc6ffe8SFrançois Tigeot 100fc7e83faSFrançois Tigeotsrcdirs /usr/src/usr.sbin/yp # yp subsystem 101fc7e83faSFrançois Tigeotprogs ypbind ypwhich ypcat ypmatch ypset yppoll 102fc7e83faSFrançois Tigeot 103fc7e83faSFrançois Tigeot 104fc7e83faSFrançois Tigeot# ========================================================================= 105fc7e83faSFrançois Tigeot 106fc7e83faSFrançois Tigeotsrcdirs /usr/src/gnu/usr.bin 107fc7e83faSFrançois Tigeot 108fc7e83faSFrançois Tigeotprogs bc cpio diff diff3 gas gawk grep gzip sdiff sort tar 109fc7e83faSFrançois Tigeot# shell scripts: send-pr 110fc7e83faSFrançois Tigeot 111fc7e83faSFrançois Tigeotsrcdirs /usr/src/gnu/usr.bin/ld # ldd and ldconfig 112fc7e83faSFrançois Tigeotprogs ld ldd ldconfig 113fc7e83faSFrançois Tigeot 114fc7e83faSFrançois Tigeot# rcs stuff loses because there are cross dependencies between librcs.a and 115fc7e83faSFrançois Tigeot# the individual programs. The solution would be to specify the objpaths 116fc7e83faSFrançois Tigeot# directly for each one, and include the full path to librcs.a each the 117fc7e83faSFrançois Tigeot# objpaths. 118fc7e83faSFrançois Tigeot 119fc7e83faSFrançois Tigeot# srcdirs /usr/src/gnu/usr.bin/rcs # rcs subsystem 120fc7e83faSFrançois Tigeot# progs ci co ident merge rcs rcsclean rcsdiff rcsmerge rlog 121fc7e83faSFrançois Tigeot# # shell script: rcsfreeze 122fc7e83faSFrançois Tigeot# special rcs srcdir /usr/src/gnu/usr.bin/rcs/rcs 123fc7e83faSFrançois Tigeot# libs /usr/src/gnu/usr.bin/rcs/lib/obj/librcs.a 124fc7e83faSFrançois Tigeot 125fc7e83faSFrançois Tigeot# gdb loses too 126fc7e83faSFrançois Tigeot# progs gdb 127fc7e83faSFrançois Tigeot# special gdb srcdir /usr/src/gnu/usr.bin/gdb/gdb 128fc7e83faSFrançois Tigeot# libs /usr/src/gnu/usr.bin/gdb/bfd/obj/libbfd.a 129fc7e83faSFrançois Tigeot# libs /usr/src/gnu/usr.bin/gdb/readline/obj/libreadline.a 130fc7e83faSFrançois Tigeot# libs /usr/src/gnu/usr.bin/gdb/libiberty/obj/libiberty.a 131fc7e83faSFrançois Tigeot 132fc7e83faSFrançois Tigeotsrcdirs /usr/src/gnu/usr.bin/gcc2 # gcc & friends 133fc7e83faSFrançois Tigeotprogs cc cpp cc1 134fc7e83faSFrançois Tigeot 1351419a4e1SSascha Wildner# cc1 has the same problem as rcs, but since there's only one program 136fc7e83faSFrançois Tigeot# I'll go ahead and solve it as an example. 137fc7e83faSFrançois Tigeot 138fc7e83faSFrançois Tigeotspecial cc1 objpaths /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-parse.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lang.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lex.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-pragma.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-decl.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-typeck.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-convert.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-aux-info.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-iterate.o /usr/src/gnu/usr.bin/gcc2/common/obj/libcc1.a 139fc7e83faSFrançois Tigeot 140fc7e83faSFrançois Tigeotln gzip gunzip 141fc7e83faSFrançois Tigeotln gzip gzcat 142fc7e83faSFrançois Tigeot 1435cef369fSJohn Marinolibs -lprivate_edit -lgnumalloc -lc -lcrypt -lprivate_ncurses -ltelnet -lutil -lkvm 144fc7e83faSFrançois Tigeotlibs -ll -ly -lm -lresolv -lrpcsvc -lcompat 145