From: Lu Chong <chong...@windriver.com>

Remove "-q" and "--squash" options of help information.
Print help information and return non-zero value when makedevs has none option.
If rootdir is not exist, there would be print error messages.

Signed-off-by: Lu Chong <chong...@windriver.com>
---
 .../makedevs/makedevs-1.0.0/makedevs.c             |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c 
b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
index 53700c6..96362a5 100644
--- a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
+++ b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
@@ -434,7 +434,6 @@ static int parse_devtable(FILE * devtable)
 static struct option long_options[] = {
        {"root", 1, NULL, 'r'},
        {"help", 0, NULL, 'h'},
-       {"squash", 0, NULL, 'q'},
        {"version", 0, NULL, 'v'},
        {"devtable", 1, NULL, 'D'},
        {NULL, 0, NULL, 0}
@@ -446,7 +445,6 @@ static char *helptext =
        "Options:\n"
        "  -r, -d, --root=DIR     Build filesystem from directory DIR (default: 
cwd)\n"
        "  -D, --devtable=FILE    Use the named FILE as a device table file\n"
-       "  -q, --squash           Squash permissions and owners making all 
files be owned by root\n"
        "  -h, --help             Display this help text\n"
        "  -v, --version          Display version information\n\n";
 
@@ -466,6 +464,11 @@ int main(int argc, char **argv)
 
        umask (0);
 
+       if (argc==1) {
+               fprintf(stderr, helptext);
+               exit(1);
+       }
+
        while ((opt = getopt_long(argc, argv, "D:d:r:qhv", 
                        long_options, &c)) >= 0) {
                switch (opt) {
@@ -484,6 +487,9 @@ int main(int argc, char **argv)
                        if (rootdir != default_rootdir) {
                                error_msg_and_die("root directory specified 
more than once");
                        }
+                       if (NULL==opendir(optarg)) {
+                               perror_msg_and_die(optarg);
+                       }
                        rootdir = xstrdup(optarg);
                        break;
 
@@ -497,6 +503,11 @@ int main(int argc, char **argv)
                }
        }
 
+       if (argv[optind] != NULL) {
+               fprintf(stderr, helptext);
+               exit(1);
+       }
+
        // Get name-id mapping
        sprintf(passwd_path, "%s/etc/passwd", rootdir);
        sprintf(group_path, "%s/etc/group", rootdir);
-- 
1.7.9.5

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to