79 lines · 2.6 KB · Text
RawDownload
#!/usr/bin/awk -f# SPDX-License-Identifier: GPL-2.0# Before running this script please ensure that your PATH is# typical as you use for compilation/installation. I use# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may# differ on your system. BEGIN {	usage = "If some fields are empty or look unusual you may have an old version.\n"	usage = usage "Compare to the current minimal requirements in Documentation/Changes.\n"	print usage 	system("uname -a")	printf("\n") 	vernum = "[0-9]+([.]?[0-9]+)+"	libc = "libc[.]so[.][0-9]+$"	libcpp = "(libg|stdc)[+]+[.]so([.][0-9]+)+$" 	printversion("GNU C", version("gcc -dumpversion"))	printversion("GNU Make", version("make --version"))	printversion("Binutils", version("ld -v"))	printversion("Util-linux", version("mount --version"))	printversion("Mount", version("mount --version"))	printversion("Module-init-tools", version("depmod -V"))	printversion("E2fsprogs", version("tune2fs"))	printversion("Jfsutils", version("fsck.jfs -V"))	printversion("Reiserfsprogs", version("reiserfsck -V"))	printversion("Reiser4fsprogs", version("fsck.reiser4 -V"))	printversion("Xfsprogs", version("xfs_db -V"))	printversion("Pcmciautils", version("pccardctl -V"))	printversion("Pcmcia-cs", version("cardmgr -V"))	printversion("Quota-tools", version("quota -V"))	printversion("PPP", version("pppd --version"))	printversion("Isdn4k-utils", version("isdnctrl"))	printversion("Nfs-utils", version("showmount --version"))	printversion("Bison", version("bison --version"))	printversion("Flex", version("flex --version")) 	while ("ldconfig -p 2>/dev/null" | getline > 0)		if ($NF ~ libc || $NF ~ libcpp)			if (!seen[ver = version("readlink " $NF)]++)				printversion("Linux C" ($NF ~ libcpp? "++" : "") " Library", ver) 	printversion("Dynamic linker (ldd)", version("ldd --version"))	printversion("Procps", version("ps --version"))	printversion("Net-tools", version("ifconfig --version"))	printversion("Kbd", version("loadkeys -V"))	printversion("Console-tools", version("loadkeys -V"))	printversion("Oprofile", version("oprofiled --version"))	printversion("Sh-utils", version("expr --v"))	printversion("Udev", version("udevadm --version"))	printversion("Wireless-tools", version("iwconfig --version")) 	while ("sort /proc/modules" | getline > 0) {		mods = mods sep $1		sep = " "	}	printversion("Modules Loaded", mods)} function version(cmd,    ver) {	cmd = cmd " 2>&1"	while (cmd | getline > 0) {		if (match($0, vernum)) {			ver = substr($0, RSTART, RLENGTH)			break		}	}	close(cmd)	return ver} function printversion(name, value,  ofmt) {	if (value != "") {		ofmt = "%-20s\t%s\n"		printf(ofmt, name, value)	}}