Changeset 2494
- Timestamp:
- 02/11/07 01:45:04 (2 years ago)
- Files:
-
- trunk/scripts/vserver-build.clone (modified) (4 diffs)
- trunk/src/vclone.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/scripts/vserver-build.clone
r2468 r2494 24 24 use_pkgmgmt= 25 25 SOURCE= 26 declare -a OPTS=()27 26 while true; do 28 27 case "$1" in … … 31 30 --pkgmgmt) use_pkgmgmt=1;; 32 31 -s|--source) SOURCE=$2; shift;; 33 -o) OPTS=( "${OPTS[@]}" "$2" ); shift;;34 32 --) shift; break ;; 35 33 *) echo "vserver-build.clone: internal error: unrecognized option '$1'" >&2 … … 40 38 done 41 39 42 if test -z "$SOURCE"; then 43 panic $"vserver-build.clone: --source argument required" 40 if test -d "$SOURCE"; then 41 : 42 elif test -d "$__CONFDIR/$SOURCE"; then 43 SOURCE=`getPhysicalDir "$__CONFDIR/$SOURCE/vdir"` 44 elif test -d "$__DEFAULT_VSERVERDIR/$SOURCE"; then 45 SOURCE=`getPhysicalDir "$__DEFAULT_VSERVERDIR/$SOURCE"` 46 else 47 SOURCE= 44 48 fi 45 49 46 test - z "${OPTS[*]}" && OPTS=( -Hazx --numeric-ids )50 test -n "$SOURCE" || panic $"vserver-build.clone: valid --source argument required" 47 51 48 52 getDistribution '' 1 … … 60 64 test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" 61 65 62 $_VCLONE --source "$SOURCE"/ --dest"$VDIR"/66 $_VCLONE "$SOURCE"/ "$VDIR"/ 63 67 64 68 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" trunk/src/vclone.c
r2472 r2494 45 45 #define CMD_HELP 0x8000 46 46 #define CMD_VERSION 0x8001 47 #define CMD_SOURCE 0x800248 #define CMD_DEST 0x800349 47 50 48 struct WalkdownInfo … … 68 66 { "help", no_argument, 0, CMD_HELP }, 69 67 { "version", no_argument, 0, CMD_VERSION }, 70 { "source", required_argument, 0, CMD_SOURCE },71 { "dest", required_argument, 0, CMD_DEST },72 68 { 0,0,0,0 } 73 69 }; … … 82 78 WRITE_STR(fd, cmd); 83 79 WRITE_MSG(fd, 84 " --source <source> --dest <destination>\n\n"80 " <source> <absolute path to destination>\n\n" 85 81 "Please report bugs to " PACKAGE_BUGREPORT "\n"); 86 82 exit(res); … … 161 157 }; 162 158 uint64_t res; 159 int num_args; 163 160 164 161 global_args = &args; … … 171 168 case CMD_HELP : showHelp(1, argv[0], 0); 172 169 case CMD_VERSION : showVersion(); 173 case CMD_SOURCE : ENSC_PI_SETSTR(global_info.src, optarg); break;174 case CMD_DEST : ENSC_PI_SETSTR(global_info.dst, optarg); break;175 170 default : 176 171 WRITE_MSG(2, "Try '"); … … 182 177 } 183 178 179 num_args = argc - optind; 180 if (num_args < 1) { 181 WRITE_MSG(2, "Source is missing; try '"); 182 WRITE_STR(2, argv[0]); 183 WRITE_MSG(2, " --help' for more information.\n"); 184 return EXIT_FAILURE; 185 } 186 else if (num_args < 2) { 187 WRITE_MSG(2, "Destination is missing; try '"); 188 WRITE_STR(2, argv[0]); 189 WRITE_MSG(2, " --help' for more information.\n"); 190 return EXIT_FAILURE; 191 } 192 else if (num_args > 2) { 193 WRITE_MSG(2, "Too many arguments; try '"); 194 WRITE_STR(2, argv[0]); 195 WRITE_MSG(2, " --help' for more information.\n"); 196 return EXIT_FAILURE; 197 } 198 else if (*argv[optind+1] != '/') { 199 WRITE_MSG(2, "The destination must be an absolute path; try '"); 200 WRITE_STR(2, argv[0]); 201 WRITE_MSG(2, " --help' for more information.\n"); 202 return EXIT_FAILURE; 203 } 204 ENSC_PI_SETSTR(global_info.src, argv[optind]); 205 ENSC_PI_SETSTR(global_info.dst, argv[optind+1]); 206 184 207 if (global_args->verbosity>3) 185 208 WRITE_MSG(1, "Starting to traverse directories...\n");
