diff options
author | Mark Asselstine <mark.asselstine@windriver.com> | 2017-06-13 16:26:45 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-14 14:53:58 +0100 |
commit | b7ebb2cd2ffcfd01ddaa3d29a2dda021a3fb8e77 (patch) | |
tree | 41b9f3d05ce188a849988ef714315d88c65b2bd1 /meta/recipes-support/attr | |
parent | 4de6b898432fc1198a943b32d455e255bde2301b (diff) | |
download | poky-b7ebb2cd2ffcfd01ddaa3d29a2dda021a3fb8e77.tar.gz |
attr: Fix build failure when image includes man-pages pkg
If you attempt to build an image with both attr(-doc) and man-pages
packages your rootfs might fail to assemble. The error will be
something like:
Error: Transaction check error:
file /usr/share/man/man2/fgetxattr.2 from install of \
attr-doc-2.4.47-r0.core2_64 conflicts with file from \
package man-pages-4.11-r0.core2_64
(the error is usually only seen on builders which don't have manpages
installed, if you have /usr/share/man/man1/man.1.gz your build will
complete but you will have duplicate manpages, just one zipped and one
not)
Backporting changes from upstream attr removes the conflicted files in
favour of those in the man-pages package.
(From OE-Core rev: 5e6595ef42807c8d2a100da3d9862152daf68d3d)
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/attr')
3 files changed, 908 insertions, 0 deletions
diff --git a/meta/recipes-support/attr/attr_2.4.47.bb b/meta/recipes-support/attr/attr_2.4.47.bb index 556c8e43e0..2dada7a1fc 100644 --- a/meta/recipes-support/attr/attr_2.4.47.bb +++ b/meta/recipes-support/attr/attr_2.4.47.bb | |||
@@ -4,6 +4,8 @@ require attr.inc | |||
4 | # future releases of attr, remove this when updating the recipe. | 4 | # future releases of attr, remove this when updating the recipe. |
5 | SRC_URI += "file://attr-Missing-configure.ac.patch \ | 5 | SRC_URI += "file://attr-Missing-configure.ac.patch \ |
6 | file://dont-use-decl-macros.patch \ | 6 | file://dont-use-decl-macros.patch \ |
7 | file://Remove-the-section-2-man-pages.patch \ | ||
8 | file://Remove-the-attr.5-man-page-moved-to-man-pages.patch \ | ||
7 | " | 9 | " |
8 | 10 | ||
9 | SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" | 11 | SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" |
diff --git a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch new file mode 100644 index 0000000000..d5ab83d7c6 --- /dev/null +++ b/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch | |||
@@ -0,0 +1,240 @@ | |||
1 | From 6047c8522b91235ad1e835f44f5e36472d9d49b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com> | ||
3 | Date: Wed, 22 Apr 2015 11:46:59 +0200 | ||
4 | Subject: [PATCH 2/2] Remove the attr.5 man page (moved to man-pages) | ||
5 | |||
6 | Commit dce9b4448c7f2b22bd206cd068fb05cb2f3255b9 from | ||
7 | https://git.savannah.nongnu.org/git/attr.git | ||
8 | |||
9 | The attr.5 page is part of the extended attribute system call documentation, | ||
10 | which has been moved into the man-pages package. Move the attr.5 page there | ||
11 | as well. | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | |||
15 | [MA: updated to apply directly to v2.4.47] | ||
16 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> | ||
17 | --- | ||
18 | man/Makefile | 2 +- | ||
19 | man/man5/Makefile | 35 ------------- | ||
20 | man/man5/attr.5 | 153 ------------------------------------------------------ | ||
21 | 3 files changed, 1 insertion(+), 189 deletions(-) | ||
22 | delete mode 100644 man/man5/Makefile | ||
23 | delete mode 100644 man/man5/attr.5 | ||
24 | |||
25 | diff --git a/man/Makefile b/man/Makefile | ||
26 | index 755daed..9301f09 100644 | ||
27 | --- a/man/Makefile | ||
28 | +++ b/man/Makefile | ||
29 | @@ -19,7 +19,7 @@ | ||
30 | TOPDIR = .. | ||
31 | include $(TOPDIR)/include/builddefs | ||
32 | |||
33 | -SUBDIRS = man1 man3 man5 | ||
34 | +SUBDIRS = man1 man3 | ||
35 | |||
36 | default : $(SUBDIRS) | ||
37 | |||
38 | diff --git a/man/man5/Makefile b/man/man5/Makefile | ||
39 | deleted file mode 100644 | ||
40 | index 6b70d3d..0000000 | ||
41 | --- a/man/man5/Makefile | ||
42 | +++ /dev/null | ||
43 | @@ -1,35 +0,0 @@ | ||
44 | -# | ||
45 | -# Copyright (c) 2000, 2002 Silicon Graphics, Inc. All Rights Reserved. | ||
46 | -# Copyright (C) 2009 Andreas Gruenbacher <agruen@suse.de> | ||
47 | -# | ||
48 | -# This program is free software: you can redistribute it and/or modify it | ||
49 | -# under the terms of the GNU General Public License as published by | ||
50 | -# the Free Software Foundation, either version 2 of the License, or | ||
51 | -# (at your option) any later version. | ||
52 | -# | ||
53 | -# This program is distributed in the hope that it will be useful, | ||
54 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
55 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
56 | -# GNU General Public License for more details. | ||
57 | -# | ||
58 | -# You should have received a copy of the GNU General Public License | ||
59 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
60 | -# | ||
61 | - | ||
62 | -TOPDIR = ../.. | ||
63 | -include $(TOPDIR)/include/builddefs | ||
64 | - | ||
65 | -MAN_SECTION = 5 | ||
66 | - | ||
67 | -MAN_PAGES = $(shell echo *.$(MAN_SECTION)) | ||
68 | -MAN_DEST = $(PKG_MAN_DIR)/man$(MAN_SECTION) | ||
69 | -LSRCFILES = $(MAN_PAGES) | ||
70 | - | ||
71 | -default : $(MAN_PAGES) | ||
72 | - | ||
73 | -include $(BUILDRULES) | ||
74 | - | ||
75 | -install : default | ||
76 | - $(INSTALL) -m 755 -d $(MAN_DEST) | ||
77 | - $(INSTALL_MAN) | ||
78 | -install-dev install-lib: | ||
79 | diff --git a/man/man5/attr.5 b/man/man5/attr.5 | ||
80 | deleted file mode 100644 | ||
81 | index a02757d..0000000 | ||
82 | --- a/man/man5/attr.5 | ||
83 | +++ /dev/null | ||
84 | @@ -1,153 +0,0 @@ | ||
85 | -.\" Extended attributes manual page | ||
86 | -.\" | ||
87 | -.\" Copyright (C) 2000, 2002, 2007 Andreas Gruenbacher <agruen@suse.de> | ||
88 | -.\" Copyright (C) 2001, 2002, 2004, 2007 Silicon Graphics, Inc. | ||
89 | -.\" All rights reserved. | ||
90 | -.\" | ||
91 | -.\" This is free documentation; you can redistribute it and/or | ||
92 | -.\" modify it under the terms of the GNU General Public License as | ||
93 | -.\" published by the Free Software Foundation; either version 2 of | ||
94 | -.\" the License, or (at your option) any later version. | ||
95 | -.\" | ||
96 | -.\" The GNU General Public License's references to "object code" | ||
97 | -.\" and "executables" are to be interpreted as the output of any | ||
98 | -.\" document formatting or typesetting system, including | ||
99 | -.\" intermediate and printed output. | ||
100 | -.\" | ||
101 | -.\" This manual is distributed in the hope that it will be useful, | ||
102 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
103 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
104 | -.\" GNU General Public License for more details. | ||
105 | -.\" | ||
106 | -.\" You should have received a copy of the GNU General Public | ||
107 | -.\" License along with this manual. If not, see | ||
108 | -.\" <http://www.gnu.org/licenses/>. | ||
109 | -.\" | ||
110 | -.TH ATTR 5 | ||
111 | -.SH NAME | ||
112 | -attr - Extended attributes | ||
113 | -.SH DESCRIPTION | ||
114 | -Extended attributes are name:value pairs associated permanently with | ||
115 | -files and directories, similar to the environment strings associated | ||
116 | -with a process. | ||
117 | -An attribute may be defined or undefined. | ||
118 | -If it is defined, its value may be empty or non-empty. | ||
119 | -.PP | ||
120 | -Extended attributes are extensions to the normal attributes which are | ||
121 | -associated with all inodes in the system (i.e. the | ||
122 | -.BR stat (2) | ||
123 | -data). | ||
124 | -They are often used to provide additional functionality | ||
125 | -to a filesystem \- for example, additional security features such as | ||
126 | -Access Control Lists (ACLs) may be implemented using extended attributes. | ||
127 | -.PP | ||
128 | -Users with search access to a file or directory may retrieve a list of | ||
129 | -attribute names defined for that file or directory. | ||
130 | -.PP | ||
131 | -Extended attributes are accessed as atomic objects. | ||
132 | -Reading retrieves the whole value of an attribute and stores it in a buffer. | ||
133 | -Writing replaces any previous value with the new value. | ||
134 | -.PP | ||
135 | -Space consumed for extended attributes is counted towards the disk quotas | ||
136 | -of the file owner and file group. | ||
137 | -.PP | ||
138 | -Currently, support for extended attributes is implemented on Linux by the | ||
139 | -ext2, ext3, ext4, XFS, JFS and reiserfs filesystems. | ||
140 | -.SH EXTENDED ATTRIBUTE NAMESPACES | ||
141 | -Attribute names are zero-terminated strings. | ||
142 | -The attribute name is always specified in the fully qualified | ||
143 | -.IR namespace.attribute | ||
144 | -form, eg. | ||
145 | -.IR user.mime_type , | ||
146 | -.IR trusted.md5sum , | ||
147 | -.IR system.posix_acl_access , | ||
148 | -or | ||
149 | -.IR security.selinux . | ||
150 | -.PP | ||
151 | -The namespace mechanism is used to define different classes of extended | ||
152 | -attributes. | ||
153 | -These different classes exist for several reasons, e.g. the permissions | ||
154 | -and capabilities required for manipulating extended attributes of one | ||
155 | -namespace may differ to another. | ||
156 | -.PP | ||
157 | -Currently the | ||
158 | -.IR security , | ||
159 | -.IR system , | ||
160 | -.IR trusted , | ||
161 | -and | ||
162 | -.IR user | ||
163 | -extended attribute classes are defined as described below. Additional | ||
164 | -classes may be added in the future. | ||
165 | -.SS Extended security attributes | ||
166 | -The security attribute namespace is used by kernel security modules, | ||
167 | -such as Security Enhanced Linux. | ||
168 | -Read and write access permissions to security attributes depend on the | ||
169 | -policy implemented for each security attribute by the security module. | ||
170 | -When no security module is loaded, all processes have read access to | ||
171 | -extended security attributes, and write access is limited to processes | ||
172 | -that have the CAP_SYS_ADMIN capability. | ||
173 | -.SS Extended system attributes | ||
174 | -Extended system attributes are used by the kernel to store system | ||
175 | -objects such as Access Control Lists and Capabilities. Read and write | ||
176 | -access permissions to system attributes depend on the policy implemented | ||
177 | -for each system attribute implemented by filesystems in the kernel. | ||
178 | -.SS Trusted extended attributes | ||
179 | -Trusted extended attributes are visible and accessible only to processes that | ||
180 | -have the CAP_SYS_ADMIN capability (the super user usually has this | ||
181 | -capability). | ||
182 | -Attributes in this class are used to implement mechanisms in user | ||
183 | -space (i.e., outside the kernel) which keep information in extended attributes | ||
184 | -to which ordinary processes should not have access. | ||
185 | -.SS Extended user attributes | ||
186 | -Extended user attributes may be assigned to files and directories for | ||
187 | -storing arbitrary additional information such as the mime type, | ||
188 | -character set or encoding of a file. The access permissions for user | ||
189 | -attributes are defined by the file permission bits. | ||
190 | -.PP | ||
191 | -The file permission bits of regular files and directories are | ||
192 | -interpreted differently from the file permission bits of special files | ||
193 | -and symbolic links. For regular files and directories the file | ||
194 | -permission bits define access to the file's contents, while for device special | ||
195 | -files they define access to the device described by the special file. | ||
196 | -The file permissions of symbolic links are not used in access | ||
197 | -checks. These differences would allow users to consume filesystem resources in | ||
198 | -a way not controllable by disk quotas for group or world writable special files and directories. | ||
199 | -.PP | ||
200 | -For this reason, extended user attributes are only allowed for regular files and directories, and access to extended user attributes is restricted to the | ||
201 | -owner and to users with appropriate capabilities for directories with the | ||
202 | -sticky bit set (see the | ||
203 | -.BR chmod (1) | ||
204 | -manual page for an explanation of Sticky Directories). | ||
205 | -.SH FILESYSTEM DIFFERENCES | ||
206 | -The kernel and the filesystem may place limits on the maximum number | ||
207 | -and size of extended attributes that can be associated with a file. | ||
208 | -Some file systems, such as ext2/3 and reiserfs, require the filesystem | ||
209 | -to be mounted with the | ||
210 | -.B user_xattr | ||
211 | -mount option in order for extended user attributes to be used. | ||
212 | -.PP | ||
213 | -In the current ext2, ext3 and ext4 filesystem implementations, each | ||
214 | -extended attribute must fit on a single filesystem block (1024, 2048 | ||
215 | -or 4096 bytes, depending on the block size specified when the | ||
216 | -filesystem was created). | ||
217 | -.PP | ||
218 | -In the XFS and reiserfs filesystem implementations, there is no | ||
219 | -practical limit on the number or size of extended attributes | ||
220 | -associated with a file, and the algorithms used to store extended | ||
221 | -attribute information on disk are scalable. | ||
222 | -.PP | ||
223 | -In the JFS filesystem implementation, names can be up to 255 bytes and | ||
224 | -values up to 65,535 bytes. | ||
225 | -.SH ADDITIONAL NOTES | ||
226 | -Since the filesystems on which extended attributes are stored might also | ||
227 | -be used on architectures with a different byte order and machine word | ||
228 | -size, care should be taken to store attribute values in an architecture | ||
229 | -independent format. | ||
230 | -.SH AUTHORS | ||
231 | -Andreas Gruenbacher, | ||
232 | -.RI < a.gruenbacher@bestbits.at > | ||
233 | -and the SGI XFS development team, | ||
234 | -.RI < linux-xfs@oss.sgi.com >. | ||
235 | -.SH SEE ALSO | ||
236 | -getfattr(1), | ||
237 | -setfattr(1). | ||
238 | -- | ||
239 | 2.7.4 | ||
240 | |||
diff --git a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch new file mode 100644 index 0000000000..044c5a037c --- /dev/null +++ b/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch | |||
@@ -0,0 +1,666 @@ | |||
1 | From b972600a26f3a930e53e2fce2625266a5d29813e Mon Sep 17 00:00:00 2001 | ||
2 | From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com> | ||
3 | Date: Tue, 14 Apr 2015 23:53:11 +0200 | ||
4 | Subject: [PATCH 1/2] Remove the section 2 man pages | ||
5 | |||
6 | Commit 8d1263bca95722d66a6f8e83450f49d0956ea534 from upstream | ||
7 | https://git.savannah.nongnu.org/git/attr.git/ | ||
8 | |||
9 | The section 2 man pages have long since been added to the man-pages package | ||
10 | which documents all system calls; they were disabled in attr by default since | ||
11 | January 2014. Get rid of them here. | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | |||
15 | [MA: modified to apply directly to v2.4.47] | ||
16 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> | ||
17 | --- | ||
18 | man/Makefile | 2 +- | ||
19 | man/man2/Makefile | 35 ----------- | ||
20 | man/man2/getxattr.2 | 143 -------------------------------------------- | ||
21 | man/man2/listxattr.2 | 158 ------------------------------------------------- | ||
22 | man/man2/removexattr.2 | 111 ---------------------------------- | ||
23 | man/man2/setxattr.2 | 143 -------------------------------------------- | ||
24 | 6 files changed, 1 insertion(+), 591 deletions(-) | ||
25 | delete mode 100644 man/man2/Makefile | ||
26 | delete mode 100644 man/man2/getxattr.2 | ||
27 | delete mode 100644 man/man2/listxattr.2 | ||
28 | delete mode 100644 man/man2/removexattr.2 | ||
29 | delete mode 100644 man/man2/setxattr.2 | ||
30 | |||
31 | diff --git a/man/Makefile b/man/Makefile | ||
32 | index 9535426..755daed 100644 | ||
33 | --- a/man/Makefile | ||
34 | +++ b/man/Makefile | ||
35 | @@ -19,7 +19,7 @@ | ||
36 | TOPDIR = .. | ||
37 | include $(TOPDIR)/include/builddefs | ||
38 | |||
39 | -SUBDIRS = man1 man2 man3 man5 | ||
40 | +SUBDIRS = man1 man3 man5 | ||
41 | |||
42 | default : $(SUBDIRS) | ||
43 | |||
44 | diff --git a/man/man2/Makefile b/man/man2/Makefile | ||
45 | deleted file mode 100644 | ||
46 | index d77309d..0000000 | ||
47 | --- a/man/man2/Makefile | ||
48 | +++ /dev/null | ||
49 | @@ -1,35 +0,0 @@ | ||
50 | -# | ||
51 | -# Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. | ||
52 | -# Copyright (C) 2009 Andreas Gruenbacher <agruen@suse.de> | ||
53 | -# | ||
54 | -# This program is free software: you can redistribute it and/or modify it | ||
55 | -# under the terms of the GNU General Public License as published by | ||
56 | -# the Free Software Foundation, either version 2 of the License, or | ||
57 | -# (at your option) any later version. | ||
58 | -# | ||
59 | -# This program is distributed in the hope that it will be useful, | ||
60 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
61 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
62 | -# GNU General Public License for more details. | ||
63 | -# | ||
64 | -# You should have received a copy of the GNU General Public License | ||
65 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
66 | -# | ||
67 | - | ||
68 | -TOPDIR = ../.. | ||
69 | -include $(TOPDIR)/include/builddefs | ||
70 | - | ||
71 | -MAN_SECTION = 2 | ||
72 | - | ||
73 | -MAN_PAGES = $(shell echo *.$(MAN_SECTION)) | ||
74 | -MAN_DEST = $(PKG_MAN_DIR)/man$(MAN_SECTION) | ||
75 | -LSRCFILES = $(MAN_PAGES) | ||
76 | - | ||
77 | -default install : $(MAN_PAGES) | ||
78 | - | ||
79 | -include $(BUILDRULES) | ||
80 | - | ||
81 | -install-dev : default | ||
82 | - $(INSTALL) -m 755 -d $(MAN_DEST) | ||
83 | - $(INSTALL_MAN) | ||
84 | -install-lib: | ||
85 | diff --git a/man/man2/getxattr.2 b/man/man2/getxattr.2 | ||
86 | deleted file mode 100644 | ||
87 | index 405ad89..0000000 | ||
88 | --- a/man/man2/getxattr.2 | ||
89 | +++ /dev/null | ||
90 | @@ -1,143 +0,0 @@ | ||
91 | -.\" | ||
92 | -.\" Extended attributes system calls manual pages | ||
93 | -.\" | ||
94 | -.\" (C) Andreas Gruenbacher, February 2001 | ||
95 | -.\" (C) Silicon Graphics Inc, September 2001 | ||
96 | -.\" | ||
97 | -.\" This is free documentation; you can redistribute it and/or | ||
98 | -.\" modify it under the terms of the GNU General Public License as | ||
99 | -.\" published by the Free Software Foundation; either version 2 of | ||
100 | -.\" the License, or (at your option) any later version. | ||
101 | -.\" | ||
102 | -.\" The GNU General Public License's references to "object code" | ||
103 | -.\" and "executables" are to be interpreted as the output of any | ||
104 | -.\" document formatting or typesetting system, including | ||
105 | -.\" intermediate and printed output. | ||
106 | -.\" | ||
107 | -.\" This manual is distributed in the hope that it will be useful, | ||
108 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
109 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
110 | -.\" GNU General Public License for more details. | ||
111 | -.\" | ||
112 | -.\" You should have received a copy of the GNU General Public | ||
113 | -.\" License along with this manual. If not, see | ||
114 | -.\" <http://www.gnu.org/licenses/>. | ||
115 | -.\" | ||
116 | -.TH GETXATTR 2 "Extended Attributes" "Dec 2001" "System calls" | ||
117 | -.SH NAME | ||
118 | -getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value | ||
119 | -.SH SYNOPSIS | ||
120 | -.fam C | ||
121 | -.nf | ||
122 | -.B #include <sys/types.h> | ||
123 | -.B #include <attr/xattr.h> | ||
124 | -.sp | ||
125 | -.BI "ssize_t getxattr (const char\ *" path ", const char\ *" name ", | ||
126 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); | ||
127 | -.BI "ssize_t lgetxattr (const char\ *" path ", const char\ *" name ", | ||
128 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); | ||
129 | -.BI "ssize_t fgetxattr (int " filedes ", const char\ *" name ", | ||
130 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); | ||
131 | -.fi | ||
132 | -.fam T | ||
133 | -.SH DESCRIPTION | ||
134 | -Extended attributes are | ||
135 | -.IR name :\c | ||
136 | -.I value | ||
137 | -pairs associated with inodes (files, directories, symlinks, etc). | ||
138 | -They are extensions to the normal attributes which are associated | ||
139 | -with all inodes in the system (i.e. the | ||
140 | -.BR stat (2) | ||
141 | -data). | ||
142 | -A complete overview of extended attributes concepts can be found in | ||
143 | -.BR attr (5). | ||
144 | -.PP | ||
145 | -.B getxattr | ||
146 | -retrieves the | ||
147 | -.I value | ||
148 | -of the extended attribute identified by | ||
149 | -.I name | ||
150 | -and associated with the given | ||
151 | -.I path | ||
152 | -in the filesystem. | ||
153 | -The length of the attribute | ||
154 | -.I value | ||
155 | -is returned. | ||
156 | -.PP | ||
157 | -.B lgetxattr | ||
158 | -is identical to | ||
159 | -.BR getxattr , | ||
160 | -except in the case of a symbolic link, where the link itself is | ||
161 | -interrogated, not the file that it refers to. | ||
162 | -.PP | ||
163 | -.B fgetxattr | ||
164 | -is identical to | ||
165 | -.BR getxattr , | ||
166 | -only the open file pointed to by | ||
167 | -.I filedes | ||
168 | -(as returned by | ||
169 | -.BR open (2)) | ||
170 | -is interrogated in place of | ||
171 | -.IR path . | ||
172 | -.PP | ||
173 | -An extended attribute | ||
174 | -.I name | ||
175 | -is a simple NULL-terminated string. | ||
176 | -The name includes a namespace prefix \- there may be several, disjoint | ||
177 | -namespaces associated with an individual inode. | ||
178 | -The value of an extended attribute is a chunk of arbitrary textual or | ||
179 | -binary data of specified length. | ||
180 | -.PP | ||
181 | -An empty buffer of | ||
182 | -.I size | ||
183 | -zero can be passed into these calls to return the current size of the | ||
184 | -named extended attribute, which can be used to estimate the size of a | ||
185 | -buffer which is sufficiently large to hold the value associated with | ||
186 | -the extended attribute. | ||
187 | -.PP | ||
188 | -The interface is designed to allow guessing of initial buffer | ||
189 | -sizes, and to enlarge buffers when the return value indicates | ||
190 | -that the buffer provided was too small. | ||
191 | -.SH RETURN VALUE | ||
192 | -On success, a positive number is returned indicating the size of the | ||
193 | -extended attribute value. | ||
194 | -On failure, \-1 is returned and | ||
195 | -.I errno | ||
196 | -is set appropriately. | ||
197 | -.PP | ||
198 | -If the named attribute does not exist, or the process has no access to | ||
199 | -this attribute, | ||
200 | -.I errno | ||
201 | -is set to ENOATTR. | ||
202 | -.PP | ||
203 | -If the | ||
204 | -.I size | ||
205 | -of the | ||
206 | -.I value | ||
207 | -buffer is too small to hold the result, | ||
208 | -.I errno | ||
209 | -is set to ERANGE. | ||
210 | -.PP | ||
211 | -If extended attributes are not supported by the filesystem, or are disabled, | ||
212 | -.I errno | ||
213 | -is set to ENOTSUP. | ||
214 | -.PP | ||
215 | -The errors documented for the | ||
216 | -.BR stat (2) | ||
217 | -system call are also applicable here. | ||
218 | -.SH AUTHORS | ||
219 | -Andreas Gruenbacher, | ||
220 | -.RI < a.gruenbacher@bestbits.at > | ||
221 | -and the SGI XFS development team, | ||
222 | -.RI < linux-xfs@oss.sgi.com >. | ||
223 | -Please send any bug reports or comments to these addresses. | ||
224 | -.SH SEE ALSO | ||
225 | -.BR getfattr (1), | ||
226 | -.BR setfattr (1), | ||
227 | -.BR open (2), | ||
228 | -.BR stat (2), | ||
229 | -.BR setxattr (2), | ||
230 | -.BR listxattr (2), | ||
231 | -.BR removexattr (2), | ||
232 | -and | ||
233 | -.BR attr (5). | ||
234 | diff --git a/man/man2/listxattr.2 b/man/man2/listxattr.2 | ||
235 | deleted file mode 100644 | ||
236 | index 8b4371c..0000000 | ||
237 | --- a/man/man2/listxattr.2 | ||
238 | +++ /dev/null | ||
239 | @@ -1,158 +0,0 @@ | ||
240 | -.\" | ||
241 | -.\" Extended attributes system calls manual pages | ||
242 | -.\" | ||
243 | -.\" (C) Andreas Gruenbacher, February 2001 | ||
244 | -.\" (C) Silicon Graphics Inc, September 2001 | ||
245 | -.\" | ||
246 | -.\" This is free documentation; you can redistribute it and/or | ||
247 | -.\" modify it under the terms of the GNU General Public License as | ||
248 | -.\" published by the Free Software Foundation; either version 2 of | ||
249 | -.\" the License, or (at your option) any later version. | ||
250 | -.\" | ||
251 | -.\" The GNU General Public License's references to "object code" | ||
252 | -.\" and "executables" are to be interpreted as the output of any | ||
253 | -.\" document formatting or typesetting system, including | ||
254 | -.\" intermediate and printed output. | ||
255 | -.\" | ||
256 | -.\" This manual is distributed in the hope that it will be useful, | ||
257 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
258 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
259 | -.\" GNU General Public License for more details. | ||
260 | -.\" | ||
261 | -.\" You should have received a copy of the GNU General Public | ||
262 | -.\" License along with this manual. If not, see | ||
263 | -.\" <http://www.gnu.org/licenses/>. | ||
264 | -.\" | ||
265 | -.TH LISTXATTR 2 "Extended Attributes" "Dec 2001" "System calls" | ||
266 | -.SH NAME | ||
267 | -listxattr, llistxattr, flistxattr \- list extended attribute names | ||
268 | -.SH SYNOPSIS | ||
269 | -.fam C | ||
270 | -.nf | ||
271 | -.B #include <sys/types.h> | ||
272 | -.B #include <attr/xattr.h> | ||
273 | -.sp | ||
274 | -.BI "ssize_t listxattr (const char\ *" path ", | ||
275 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); | ||
276 | -.BI "ssize_t llistxattr (const char\ *" path ", | ||
277 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); | ||
278 | -.BI "ssize_t flistxattr (int " filedes ", | ||
279 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); | ||
280 | -.fi | ||
281 | -.fam T | ||
282 | -.SH DESCRIPTION | ||
283 | -Extended attributes are name:value | ||
284 | -pairs associated with inodes (files, directories, symlinks, etc). | ||
285 | -They are extensions to the normal attributes which are associated | ||
286 | -with all inodes in the system (i.e. the | ||
287 | -.BR stat (2) | ||
288 | -data). | ||
289 | -A complete overview of extended attributes concepts can be found in | ||
290 | -.BR attr (5). | ||
291 | -.PP | ||
292 | -.B listxattr | ||
293 | -retrieves the | ||
294 | -.I list | ||
295 | -of extended attribute names associated with the given | ||
296 | -.I path | ||
297 | -in the filesystem. | ||
298 | -The list is the set of (NULL-terminated) names, one after the other. | ||
299 | -Names of extended attributes to which the calling process does not | ||
300 | -have access may be omitted from the list. | ||
301 | -The length of the attribute name | ||
302 | -.I list | ||
303 | -is returned. | ||
304 | -.PP | ||
305 | -.B llistxattr | ||
306 | -is identical to | ||
307 | -.BR listxattr , | ||
308 | -except in the case of a symbolic link, where the list of names of | ||
309 | -extended attributes associated with the link itself is retrieved, | ||
310 | -not the file that it refers to. | ||
311 | -.I list | ||
312 | -is a caller-allocated buffer of size | ||
313 | -.IR size . | ||
314 | -.PP | ||
315 | -.B flistxattr | ||
316 | -is identical to | ||
317 | -.BR listxattr , | ||
318 | -only the open file pointed to by | ||
319 | -.I filedes | ||
320 | -(as returned by | ||
321 | -.BR open (2)) | ||
322 | -is interrogated in place of | ||
323 | -.IR path . | ||
324 | -.PP | ||
325 | -A single extended attribute | ||
326 | -.I name | ||
327 | -is a simple NULL-terminated string. | ||
328 | -The name includes a namespace prefix \- there may be several, disjoint | ||
329 | -namespaces associated with an individual inode. | ||
330 | -.PP | ||
331 | -An empty buffer of | ||
332 | -.I size | ||
333 | -zero can be passed into these calls to return the current size of the | ||
334 | -list of extended attribute names, which can be used to estimate the | ||
335 | -size of a buffer which is sufficiently large to hold the list of names. | ||
336 | -.SH EXAMPLES | ||
337 | -The | ||
338 | -.I list | ||
339 | -of names is returned as an unordered array of NULL-terminated character | ||
340 | -strings (attribute names are separated by NULL characters), like this: | ||
341 | -.fam C | ||
342 | -.RS | ||
343 | -.nf | ||
344 | -user.name1\\0system.name1\\0user.name2\\0 | ||
345 | -.fi | ||
346 | -.RE | ||
347 | -.fam T | ||
348 | -.P | ||
349 | -Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using | ||
350 | -extended attributes, might return a | ||
351 | -.I list | ||
352 | -like this: | ||
353 | -.fam C | ||
354 | -.RS | ||
355 | -.nf | ||
356 | -system.posix_acl_access\\0system.posix_acl_default\\0 | ||
357 | -.fi | ||
358 | -.RE | ||
359 | -.fam T | ||
360 | -.SH RETURN VALUE | ||
361 | -On success, a positive number is returned indicating the size of the | ||
362 | -extended attribute name list. | ||
363 | -On failure, \-1 is returned and | ||
364 | -.I errno | ||
365 | -is set appropriately. | ||
366 | -.PP | ||
367 | -If the | ||
368 | -.I size | ||
369 | -of the | ||
370 | -.I list | ||
371 | -buffer is too small to hold the result, | ||
372 | -.I errno | ||
373 | -is set to ERANGE. | ||
374 | -.PP | ||
375 | -If extended attributes are not supported by the filesystem, or are disabled, | ||
376 | -.I errno | ||
377 | -is set to ENOTSUP. | ||
378 | -.PP | ||
379 | -The errors documented for the | ||
380 | -.BR stat (2) | ||
381 | -system call are also applicable here. | ||
382 | -.SH AUTHORS | ||
383 | -Andreas Gruenbacher, | ||
384 | -.RI < a.gruenbacher@bestbits.at > | ||
385 | -and the SGI XFS development team, | ||
386 | -.RI < linux-xfs@oss.sgi.com >. | ||
387 | -Please send any bug reports or comments to these addresses. | ||
388 | -.SH SEE ALSO | ||
389 | -.BR getfattr (1), | ||
390 | -.BR setfattr (1), | ||
391 | -.BR open (2), | ||
392 | -.BR stat (2), | ||
393 | -.BR getxattr (2), | ||
394 | -.BR setxattr (2), | ||
395 | -.BR removexattr (2), | ||
396 | -and | ||
397 | -.BR attr (5). | ||
398 | diff --git a/man/man2/removexattr.2 b/man/man2/removexattr.2 | ||
399 | deleted file mode 100644 | ||
400 | index 2c7d934..0000000 | ||
401 | --- a/man/man2/removexattr.2 | ||
402 | +++ /dev/null | ||
403 | @@ -1,111 +0,0 @@ | ||
404 | -.\" | ||
405 | -.\" Extended attributes system calls manual pages | ||
406 | -.\" | ||
407 | -.\" (C) Andreas Gruenbacher, February 2001 | ||
408 | -.\" (C) Silicon Graphics Inc, September 2001 | ||
409 | -.\" | ||
410 | -.\" This is free documentation; you can redistribute it and/or | ||
411 | -.\" modify it under the terms of the GNU General Public License as | ||
412 | -.\" published by the Free Software Foundation; either version 2 of | ||
413 | -.\" the License, or (at your option) any later version. | ||
414 | -.\" | ||
415 | -.\" The GNU General Public License's references to "object code" | ||
416 | -.\" and "executables" are to be interpreted as the output of any | ||
417 | -.\" document formatting or typesetting system, including | ||
418 | -.\" intermediate and printed output. | ||
419 | -.\" | ||
420 | -.\" This manual is distributed in the hope that it will be useful, | ||
421 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
422 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
423 | -.\" GNU General Public License for more details. | ||
424 | -.\" | ||
425 | -.\" You should have received a copy of the GNU General Public | ||
426 | -.\" License along with this manual. If not, see | ||
427 | -.\" <http://www.gnu.org/licenses/>. | ||
428 | -.\" | ||
429 | -.TH REMOVEXATTR 2 "Extended Attributes" "Dec 2001" "System calls" | ||
430 | -.SH NAME | ||
431 | -removexattr, lremovexattr, fremovexattr \- remove an extended attribute | ||
432 | -.SH SYNOPSIS | ||
433 | -.fam C | ||
434 | -.nf | ||
435 | -.B #include <sys/types.h> | ||
436 | -.B #include <attr/xattr.h> | ||
437 | -.sp | ||
438 | -.BI "int removexattr (const char\ *" path ", const char\ *" name ); | ||
439 | -.BI "int lremovexattr (const char\ *" path ", const char\ *" name ); | ||
440 | -.BI "int fremovexattr (int " filedes ", const char\ *" name ); | ||
441 | -.fi | ||
442 | -.fam T | ||
443 | -.SH DESCRIPTION | ||
444 | -Extended attributes are | ||
445 | -.IR name :\c | ||
446 | -value pairs associated with inodes (files, directories, symlinks, etc). | ||
447 | -They are extensions to the normal attributes which are associated | ||
448 | -with all inodes in the system (i.e. the | ||
449 | -.BR stat (2) | ||
450 | -data). | ||
451 | -A complete overview of extended attributes concepts can be found in | ||
452 | -.BR attr (5). | ||
453 | -.PP | ||
454 | -.B removexattr | ||
455 | -removes the extended attribute identified by | ||
456 | -.I name | ||
457 | -and associated with the given | ||
458 | -.I path | ||
459 | -in the filesystem. | ||
460 | -.PP | ||
461 | -.B lremovexattr | ||
462 | -is identical to | ||
463 | -.BR removexattr , | ||
464 | -except in the case of a symbolic link, where the extended attribute is | ||
465 | -removed from the link itself, not the file that it refers to. | ||
466 | -.PP | ||
467 | -.B fremovexattr | ||
468 | -is identical to | ||
469 | -.BR removexattr , | ||
470 | -only the extended attribute is removed from the open file pointed to by | ||
471 | -.I filedes | ||
472 | -(as returned by | ||
473 | -.BR open (2)) | ||
474 | -in place of | ||
475 | -.IR path . | ||
476 | -.PP | ||
477 | -An extended attribute name is a simple NULL-terminated string. | ||
478 | -The | ||
479 | -.I name | ||
480 | -includes a namespace prefix \- there may be several, disjoint | ||
481 | -namespaces associated with an individual inode. | ||
482 | -.SH RETURN VALUE | ||
483 | -On success, zero is returned. | ||
484 | -On failure, \-1 is returned and | ||
485 | -.I errno | ||
486 | -is set appropriately. | ||
487 | -.PP | ||
488 | -If the named attribute does not exist, | ||
489 | -.I errno | ||
490 | -is set to ENOATTR. | ||
491 | -.PP | ||
492 | -If extended attributes are not supported by the filesystem, or are disabled, | ||
493 | -.I errno | ||
494 | -is set to ENOTSUP. | ||
495 | -.PP | ||
496 | -The errors documented for the | ||
497 | -.BR stat (2) | ||
498 | -system call are also applicable here. | ||
499 | -.SH AUTHORS | ||
500 | -Andreas Gruenbacher, | ||
501 | -.RI < a.gruenbacher@bestbits.at > | ||
502 | -and the SGI XFS development team, | ||
503 | -.RI < linux-xfs@oss.sgi.com >. | ||
504 | -Please send any bug reports or comments to these addresses. | ||
505 | -.SH SEE ALSO | ||
506 | -.BR getfattr (1), | ||
507 | -.BR setfattr (1), | ||
508 | -.BR open (2), | ||
509 | -.BR stat (2), | ||
510 | -.BR setxattr (2), | ||
511 | -.BR getxattr (2), | ||
512 | -.BR listxattr (2), | ||
513 | -and | ||
514 | -.BR attr (5). | ||
515 | diff --git a/man/man2/setxattr.2 b/man/man2/setxattr.2 | ||
516 | deleted file mode 100644 | ||
517 | index b20dc9f..0000000 | ||
518 | --- a/man/man2/setxattr.2 | ||
519 | +++ /dev/null | ||
520 | @@ -1,143 +0,0 @@ | ||
521 | -.\" | ||
522 | -.\" Extended attributes system calls manual pages | ||
523 | -.\" | ||
524 | -.\" (C) Andreas Gruenbacher, February 2001 | ||
525 | -.\" (C) Silicon Graphics Inc, September 2001 | ||
526 | -.\" | ||
527 | -.\" This is free documentation; you can redistribute it and/or | ||
528 | -.\" modify it under the terms of the GNU General Public License as | ||
529 | -.\" published by the Free Software Foundation; either version 2 of | ||
530 | -.\" the License, or (at your option) any later version. | ||
531 | -.\" | ||
532 | -.\" The GNU General Public License's references to "object code" | ||
533 | -.\" and "executables" are to be interpreted as the output of any | ||
534 | -.\" document formatting or typesetting system, including | ||
535 | -.\" intermediate and printed output. | ||
536 | -.\" | ||
537 | -.\" This manual is distributed in the hope that it will be useful, | ||
538 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
539 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
540 | -.\" GNU General Public License for more details. | ||
541 | -.\" | ||
542 | -.\" You should have received a copy of the GNU General Public | ||
543 | -.\" License along with this manual. If not, see | ||
544 | -.\" <http://www.gnu.org/licenses/>. | ||
545 | -.\" | ||
546 | -.TH SETXATTR 2 "Extended Attributes" "Dec 2001" "System calls" | ||
547 | -.SH NAME | ||
548 | -setxattr, lsetxattr, fsetxattr \- set an extended attribute value | ||
549 | -.SH SYNOPSIS | ||
550 | -.fam C | ||
551 | -.nf | ||
552 | -.B #include <sys/types.h> | ||
553 | -.B #include <attr/xattr.h> | ||
554 | -.sp | ||
555 | -.BI "int setxattr (const char\ *" path ", const char\ *" name ", | ||
556 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); | ||
557 | -.BI "int lsetxattr (const char\ *" path ", const char\ *" name ", | ||
558 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); | ||
559 | -.BI "int fsetxattr (int " filedes ", const char\ *" name ", | ||
560 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); | ||
561 | -.fi | ||
562 | -.fam T | ||
563 | -.SH DESCRIPTION | ||
564 | -Extended attributes are | ||
565 | -.IR name :\c | ||
566 | -.I value | ||
567 | -pairs associated with inodes (files, directories, symlinks, etc). | ||
568 | -They are extensions to the normal attributes which are associated | ||
569 | -with all inodes in the system (i.e. the | ||
570 | -.BR stat (2) | ||
571 | -data). | ||
572 | -A complete overview of extended attributes concepts can be found in | ||
573 | -.BR attr (5). | ||
574 | -.PP | ||
575 | -.B setxattr | ||
576 | -sets the | ||
577 | -.I value | ||
578 | -of the extended attribute identified by | ||
579 | -.I name | ||
580 | -and associated with the given | ||
581 | -.I path | ||
582 | -in the filesystem. | ||
583 | -The | ||
584 | -.I size | ||
585 | -of the | ||
586 | -.I value | ||
587 | -must be specified. | ||
588 | -.PP | ||
589 | -.B lsetxattr | ||
590 | -is identical to | ||
591 | -.BR setxattr , | ||
592 | -except in the case of a symbolic link, where the extended attribute is | ||
593 | -set on the link itself, not the file that it refers to. | ||
594 | -.PP | ||
595 | -.B fsetxattr | ||
596 | -is identical to | ||
597 | -.BR setxattr , | ||
598 | -only the extended attribute is set on the open file pointed to by | ||
599 | -.I filedes | ||
600 | -(as returned by | ||
601 | -.BR open (2)) | ||
602 | -in place of | ||
603 | -.IR path . | ||
604 | -.PP | ||
605 | -An extended attribute name is a simple NULL-terminated string. | ||
606 | -The | ||
607 | -.I name | ||
608 | -includes a namespace prefix \- there may be several, disjoint | ||
609 | -namespaces associated with an individual inode. | ||
610 | -The | ||
611 | -.I value | ||
612 | -of an extended attribute is a chunk of arbitrary textual or | ||
613 | -binary data of specified length. | ||
614 | -.PP | ||
615 | -The | ||
616 | -.I flags | ||
617 | -parameter can be used to refine the semantics of the operation. | ||
618 | -XATTR_CREATE specifies a pure create, which fails if the named | ||
619 | -attribute exists already. | ||
620 | -XATTR_REPLACE specifies a pure replace operation, which fails if the | ||
621 | -named attribute does not already exist. | ||
622 | -By default (no flags), the extended attribute will be created if | ||
623 | -need be, or will simply replace the value if the attribute exists. | ||
624 | -.SH RETURN VALUE | ||
625 | -On success, zero is returned. | ||
626 | -On failure, \-1 is returned and | ||
627 | -.I errno | ||
628 | -is set appropriately. | ||
629 | -.PP | ||
630 | -If XATTR_CREATE is specified, and the attribute exists already, | ||
631 | -.I errno | ||
632 | -is set to EEXIST. | ||
633 | -If XATTR_REPLACE is specified, and the attribute does not exist, | ||
634 | -.I errno | ||
635 | -is set to ENOATTR. | ||
636 | -.PP | ||
637 | -If there is insufficient space remaining to store the extended attribute, | ||
638 | -.I errno | ||
639 | -is set to either ENOSPC, or EDQUOT if quota enforcement was the cause. | ||
640 | -.PP | ||
641 | -If extended attributes are not supported by the filesystem, or are disabled, | ||
642 | -.I errno | ||
643 | -is set to ENOTSUP. | ||
644 | -.PP | ||
645 | -The errors documented for the | ||
646 | -.BR stat (2) | ||
647 | -system call are also applicable here. | ||
648 | -.SH AUTHORS | ||
649 | -Andreas Gruenbacher, | ||
650 | -.RI < a.gruenbacher@bestbits.at > | ||
651 | -and the SGI XFS development team, | ||
652 | -.RI < linux-xfs@oss.sgi.com >. | ||
653 | -Please send any bug reports or comments to these addresses. | ||
654 | -.SH SEE ALSO | ||
655 | -.BR getfattr (1), | ||
656 | -.BR setfattr (1), | ||
657 | -.BR open (2), | ||
658 | -.BR stat (2), | ||
659 | -.BR getxattr (2), | ||
660 | -.BR listxattr (2), | ||
661 | -.BR removexattr (2), | ||
662 | -and | ||
663 | -.BR attr (5). | ||
664 | -- | ||
665 | 2.7.4 | ||
666 | |||