* [Buildroot] [PATCH] package/makedevs: add "l" type for symlink ownership
@ 2013-10-12 20:26 Angelo Dureghello
0 siblings, 0 replies; only message in thread
From: Angelo Dureghello @ 2013-10-12 20:26 UTC (permalink / raw)
To: buildroot
Add to makedevs the 'l' type, to allow symlinks ownership change.
Add related change on the makedevs doc.
Singed-off-by: Angelo Dureghello <angelo@barix.com>
diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt
index 2c98531..2392dc1 100644
--- a/docs/manual/makedev-syntax.txt
+++ b/docs/manual/makedev-syntax.txt
@@ -27,6 +27,7 @@ There are a few non-trivial blocks here:
* c: a character device file
* b: a block device file
* p: a named pipe
+ * l: a symbolic link, for ownership changes only
- +mode+, +uid+ and +gid+ are the usual permissions settings
- +major+ and +minor+ are here for device files - set to - for other
files
diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c
index ab90b93..026533e 100644
--- a/package/makedevs/makedevs.c
+++ b/package/makedevs/makedevs.c
@@ -474,6 +474,18 @@ int main(int argc, char **argv)
ret = EXIT_FAILURE;
goto loop;
}
+ } else if (type == 'l') {
+ struct stat st;
+ if ((lstat(full_name, &st) < 0 ||
!S_ISLNK(st.st_mode))) {
+ bb_perror_msg("line %d: invalid link for
%s", linenum, full_name);
+ ret = EXIT_FAILURE;
+ goto loop;
+ }
+ if (lchown(full_name, uid, gid) == -1) {
+ bb_perror_msg("line %d: chown failed for
%s", linenum, full_name);
+ ret = EXIT_FAILURE;
+ goto loop;
+ }
} else
{
dev_t rdev;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-10-12 20:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-12 20:26 [Buildroot] [PATCH] package/makedevs: add "l" type for symlink ownership Angelo Dureghello
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.