Mercurial > ec-dotfiles
diff Script_Explanation @ 193:ac6533a8fb51
- Documentation
- Cleanup
author | edhoprima@gmail.com <edhoprima@gmail.com> |
---|---|
date | Mon, 29 Jun 2009 10:49:40 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Script_Explanation Mon Jun 29 10:49:40 2009 +0000 @@ -0,0 +1,97 @@ +Variables: + +Outer: +- ADDITIONAL_PATH +- MD5 +- DEFAULT_SITE +- BASE_DIR +- MOEFETCHVERSION + +Functions: + +- Msg_Welcome + - Welcome message (MOEFETCHVERSION) +- Err_Help +- Err_Fatal +- Generate_Link + - chdir to ${BASE_DIR}/temp + - fetch xml with wget + - xsltproc the xml +- Check_Tools + - Check if MD5 is empty - if empty: check os + - *BSD: md -r + - Linux/SunOS: md5sum + - Anything else: Err_Fatal + - Get md5 command (MD5_COMMAND) + - Check availability of needed tools + - cut + - sed + - wc + - wget + - xsltproc + - xargs + - rm + - mkdir + - chown + - comm + - grep + - date + - MD5_COMMAND + - Check for grep usability + - TODO: greplace grep -f with POSIX compatible +- Check_Folders + - Check BASE_DIR ownership + - Check: existance (create if not exist) and ownership (apply globally writable permission) of BASE_DIR/: + - temp + - trash + - deleted + - SITE_DIR/TARGET_DIR + - Check if "BASE_DIR/SITE_DIR/TARGET_DIR" is empty: if empty, ISNEW=1 + - Create temporary files: BASE_DIR/temp/${SITE_DIR}-${TARGET_DIR}-: + - error + - ok + - list + - newlist +- Cleanup_Repository + - TRASH_DIR: ${BASE_DIR}/trash/${SITE_DIR}-${TARGET_DIR}-%Y%m%d-%H.%M + - create trash folder + - check if file in "${BASE_DIR}/${SITE_DIR}/${TARGET_DIR}/ fulfills [a-f0-9]{32}\..* or is a folder + - move to trash if is trash + - check if file is contained in ${BASE_DIR}/temp/${SITE_DIR}-${TARGET_DIR}-list + - if is not, move to trash +- Check_Files + - if not ISNEW (empty target folder): + - if not NOCLEAN (not skipping cleanup: + - Call Clean_Repository + - chdir to target folder + - TODO: chdir-free operation + - empty ${BASE_DIR}/temp/${SITE_DIR}-${TARGET_DIR}-err + - check file in current directory (${BASE_DIR}/${SITE_DIR}/${TARGET_DIR}) + - skip if not correct file ([a-f0-9]{32}\..*) + - put into ${BASE_DIR}/temp/${SITE_DIR}-${TARGET_DIR}-error for every error files + - remove the files + - chdir to temp folder + - list ${BASE_DIR}/${SITE_DIR}/${TARGET_DIR}, compare with error, exclude the errors, put into ${SITE_DIR}-${TARGET_DIR}-ok + - get list of new files - compare with ${SITE_DIR}-${TARGET_DIR}-list + - TODO: remove ls, grep -f dependencies + - if ISQUICK: skip check + - if not ISQUICK: print 'empty repository' + - copy ${SITE_DIR}-${TARGET_DIR}-list to ${SITE_DIR}-${TARGET_DIR}-newlist +- Fetch_Images + - chdir to ${BASE_DIR}/temp + - check if ${SITE_DIR}-${TARGET_DIR}-newlist is empty -> stop + - chdir to ${BASE_DIR}/${SITE_DIR}/${TARGET_DIR} + - start wget: wget -e continue=on -bi "${BASE_DIR}/temp/${SITE_DIR}-${TARGET_DIR}-newlist" -o "${BASE_DIR}/temp/${SITE_DIR}-${TARGET_DIR}.log" +- Init + - Add path (PATH) + - Check command (fetch/check/quickfetch/* - JOB) + - Check site (-s <site> or default - SITE) + - Check if not clean folder (-nc/no clean - NOCLEAN) + - Get tags (TAGS) + - Check site - if SITE empty then set default (SITE=DEFAULT_SITE) + - TODO: Validate SITE + - Check tag - if TAGS empty then Err_Fatal + - Get BASE_DIR: default to PWD - fallback to HOME + - Validate BASE_DIR: must absolute path + - Get TARGET_DIR: escape TAGS (replace / with _) + - Get SITE_DIR: escape SITE (remove ending /, replace / with _)