Roland Mainz
2013-09-17 03:41:37 UTC
Hi!
----
Attached (as "astksh20130913_getconf_xattr001.diff.txt") is a small
patch which adds XATTR_*/SATTR_* support to AST getconf(1) and updates
cd --man's help output for -@ to describe the options.
* Notes:
- The patch adds $ getconf ACL_ENABLED path # to getconf(1), too...
mostly for completeness
- XATTR support in getconf(1) is split into user-defineable attributes
(XATTR_*) and system attributes (SATTR_*, they are usually private to
the filesystem).
Use $ getconf XATTR_ENABLED /path/to/file.txt # to test whether the
filesystem for "/path/to/file.txt" supports extended attributes and $
getconf XATTR_EXISTS /path/to/file.txt # to test whether
"/path/to/file.txt" has any user-defineable extended attributes.
Comments/rants/etc. welcome... :-)
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
-------------- next part --------------
diff -r -u original/src/cmd/ksh93/data/builtins.c build_xattr/src/cmd/ksh93/data/builtins.c
--- src/cmd/ksh93/data/builtins.c 2013-09-13 19:38:09.000000000 +0200
+++ src/cmd/ksh93/data/builtins.c 2013-09-17 05:24:24.536058799 +0200
@@ -490,9 +490,15 @@
"[P?The present working directory is first converted to an absolute pathname "
"that does not contain symbolic link components and symbolic name "
"components are expanded in the resulting directory name.]"
-"[@?Change into the hidden attribute directory of \adirectory\a which may also be "
- "a file. \bCDPATH\b is ignored. Hidden attribute directories are file "
- "system and operating system specific.]"
+"[@?Change into the hidden attribute directory of \adirectory\a (which may be "
+ "be any kind of file system object, including a file or a FIFO). "
+ "\bCDPATH\b is ignored. Hidden attribute directories are "
+ "file system and operating system specific. Use \bgetconf\b(1) "
+ "\bXATTR_ENABLED\b, \bXATTR_EXISTS\b, \bSATTR_ENABLED\b or "
+ "\bSATTR_EXISTS\b to tests whether user- (\bXATTR_*\b) or system- "
+ "(\bSATTR_*\b) attributes are \benabled\b for a file system or "
+ "whether such attributes \bexist\b for a specific file system "
+ "object.]"
"\n"
"\n[directory]\n"
"old new\n"
diff -r -u original/src/lib/libast/comp/conf.tab build_xattr/src/lib/libast/comp/conf.tab
--- src/lib/libast/comp/conf.tab 2012-10-17 20:54:20.000000000 +0200
+++ src/lib/libast/comp/conf.tab 2013-09-17 04:21:51.631373996 +0200
@@ -40,6 +40,7 @@
ABI_AIO_XFER_MAX C QQ 1 L
ABI_ASYNCHRONOUS_IO C QQ 1 L
ABI_ASYNC_IO C QQ 1 L
+ACL_ENABLED POSIX PC 1 FMU
ADVISORY_INFO POSIX SC 1 FUW
AIO_LISTIO_MAX POSIX SC 1 LMU 2
AIO_MAX POSIX SC 1 LMU 1
@@ -443,6 +444,8 @@
RESOURCE_LIMITS POSIX SC 1 FU
RE_DUP_MAX POSIX SC 2 LMN 255
RTSIG_MAX POSIX SC 1 LMU 8
+SATTR_ENABLED POSIX PC 1 FMU
+SATTR_EXISTS POSIX PC 1 FMU
SAVED_IDS POSIX SC 1 FUW cc{
#if _lib_setuid && !_lib_setreuid
int main()
@@ -591,6 +594,8 @@
WINT_MIN C XX 1 L wchar.h
WINT_MAX C XX 1 L wchar.h
WORD_BIT XOPEN XX 1 L (8*sizeof(int))
+XATTR_ENABLED POSIX PC 1 FMU
+XATTR_EXISTS POSIX PC 1 FMU
XCU_VERSION XOPEN SC 1 CDFSU
XPG2 XOPEN XX 1 FU
XPG3 XOPEN XX 1 FU
----
Attached (as "astksh20130913_getconf_xattr001.diff.txt") is a small
patch which adds XATTR_*/SATTR_* support to AST getconf(1) and updates
cd --man's help output for -@ to describe the options.
* Notes:
- The patch adds $ getconf ACL_ENABLED path # to getconf(1), too...
mostly for completeness
- XATTR support in getconf(1) is split into user-defineable attributes
(XATTR_*) and system attributes (SATTR_*, they are usually private to
the filesystem).
Use $ getconf XATTR_ENABLED /path/to/file.txt # to test whether the
filesystem for "/path/to/file.txt" supports extended attributes and $
getconf XATTR_EXISTS /path/to/file.txt # to test whether
"/path/to/file.txt" has any user-defineable extended attributes.
Comments/rants/etc. welcome... :-)
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
-------------- next part --------------
diff -r -u original/src/cmd/ksh93/data/builtins.c build_xattr/src/cmd/ksh93/data/builtins.c
--- src/cmd/ksh93/data/builtins.c 2013-09-13 19:38:09.000000000 +0200
+++ src/cmd/ksh93/data/builtins.c 2013-09-17 05:24:24.536058799 +0200
@@ -490,9 +490,15 @@
"[P?The present working directory is first converted to an absolute pathname "
"that does not contain symbolic link components and symbolic name "
"components are expanded in the resulting directory name.]"
-"[@?Change into the hidden attribute directory of \adirectory\a which may also be "
- "a file. \bCDPATH\b is ignored. Hidden attribute directories are file "
- "system and operating system specific.]"
+"[@?Change into the hidden attribute directory of \adirectory\a (which may be "
+ "be any kind of file system object, including a file or a FIFO). "
+ "\bCDPATH\b is ignored. Hidden attribute directories are "
+ "file system and operating system specific. Use \bgetconf\b(1) "
+ "\bXATTR_ENABLED\b, \bXATTR_EXISTS\b, \bSATTR_ENABLED\b or "
+ "\bSATTR_EXISTS\b to tests whether user- (\bXATTR_*\b) or system- "
+ "(\bSATTR_*\b) attributes are \benabled\b for a file system or "
+ "whether such attributes \bexist\b for a specific file system "
+ "object.]"
"\n"
"\n[directory]\n"
"old new\n"
diff -r -u original/src/lib/libast/comp/conf.tab build_xattr/src/lib/libast/comp/conf.tab
--- src/lib/libast/comp/conf.tab 2012-10-17 20:54:20.000000000 +0200
+++ src/lib/libast/comp/conf.tab 2013-09-17 04:21:51.631373996 +0200
@@ -40,6 +40,7 @@
ABI_AIO_XFER_MAX C QQ 1 L
ABI_ASYNCHRONOUS_IO C QQ 1 L
ABI_ASYNC_IO C QQ 1 L
+ACL_ENABLED POSIX PC 1 FMU
ADVISORY_INFO POSIX SC 1 FUW
AIO_LISTIO_MAX POSIX SC 1 LMU 2
AIO_MAX POSIX SC 1 LMU 1
@@ -443,6 +444,8 @@
RESOURCE_LIMITS POSIX SC 1 FU
RE_DUP_MAX POSIX SC 2 LMN 255
RTSIG_MAX POSIX SC 1 LMU 8
+SATTR_ENABLED POSIX PC 1 FMU
+SATTR_EXISTS POSIX PC 1 FMU
SAVED_IDS POSIX SC 1 FUW cc{
#if _lib_setuid && !_lib_setreuid
int main()
@@ -591,6 +594,8 @@
WINT_MIN C XX 1 L wchar.h
WINT_MAX C XX 1 L wchar.h
WORD_BIT XOPEN XX 1 L (8*sizeof(int))
+XATTR_ENABLED POSIX PC 1 FMU
+XATTR_EXISTS POSIX PC 1 FMU
XCU_VERSION XOPEN SC 1 CDFSU
XPG2 XOPEN XX 1 FU
XPG3 XOPEN XX 1 FU