summaryrefslogtreecommitdiff
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-10-08 09:05:08 +0200
committerJim Meyering <meyering@redhat.com>2009-10-08 09:07:12 +0200
commit8e323907160db1cb3f9425204013597c81384492 (patch)
treed8eddef92f0209fec7e6f53ed05cb645cd070847 /src/Makefile.am
parentb95be30e3fc4831391355f89a959d0c503bed5fb (diff)
downloadcoreutils-8e323907160db1cb3f9425204013597c81384492.tar.xz
stat: recognize CIFS and HFS file system types
* src/stat.c (human_fstype) [CIFS, HFS]: Add new file system types. Prompted by a report from Stuart Kemp. Normalize the form of a few hexadecimal magic numbers. Alphabetize on S_MAGIC_ case names. * src/Makefile.am (fs-magic-compare, fs-def, fs-magic): New rules, to automate comparison of our list with that in the Linux statfs man page. * NEWS (Bug fixes): Mention it.
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 0aa7599b4..3bba86d9c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -330,6 +330,37 @@ wheel.h: wheel-gen.pl Makefile.am
# Tell automake to exempt then from that installcheck test.
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false test
+# Compare fs.h with the list of file system names/magic-numbers in the
+# Linux statfs man page. This target prints any new name/number pairs.
+.PHONY: fs-magic-compare
+fs-magic-compare: fs-magic fs-def
+ join -v1 -t@ fs-magic fs-def
+
+CLEANFILES += fs-magic fs-def
+fs-def: fs.h
+ grep '^# *define ' $< > $@-t && mv $@-t $@
+
+fs-magic:
+ man statfs \
+ |perl -ne '/File system types:/.../Nobody kno/ and print' \
+ |grep 0x | perl -p \
+ -e 's/MINIX_SUPER_MAGIC\b/MINIX/;' \
+ -e 's/MINIX_SUPER_MAGIC2\b/MINIX_30/;' \
+ -e 's/MINIX2_SUPER_MAGIC\b/MINIX_V2/;' \
+ -e 's/MINIX2_SUPER_MAGIC2\b/MINIX_V2_30/;' \
+ -e 's/CIFS_MAGIC_NUMBER/CIFS/;' \
+ -e 's/(_SUPER)?_MAGIC//;' \
+ -e 's/\s+0x(\S+)/" 0x" . uc $$1/e;' \
+ -e 's/^\s+//;' \
+ -e 's/^_(XIAFS)/$$1/;' \
+ -e 's/^USBDEVICE/USBDEVFS/;' \
+ -e 's/NTFS_SB/NTFS/;' \
+ -e 's/^/# define S_MAGIC_/;' \
+ -e 's,\s*/\* .*? \*/,,;' \
+ | grep -v S_MAGIC_EXT3 \
+ | LC_ALL=C sort \
+ > $@-t && mv $@-t $@
+
BUILT_SOURCES += fs.h
fs.h: stat.c extract-magic
$(AM_V_GEN)rm -f $@