(List (FunctionDef noversion [] (List (= scope= flags=0 words=[] bindings=[('LOGRUS', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub 2]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('LOGRUS', {[DQ [VarSub LOGRUS][LIT_CHARS //]]})]) (= scope= flags=0 words=[] bindings=[('LOGRUS', {[DQ [VarSub LOGRUS][LIT_CHARS /][VarSub 2][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS 6/]]})]) ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [VarSub LOGRUS]]}) ) ) ) (FunctionDef gather_patches [] (List (Pipeline (Com {[LIT_CHARS ls]} {[DQ [VarSub PATCHDIR][LIT_CHARS /][VarSub PACKAGE]] [LIT_CHARS -] [LIT_OTHER "*"] [LIT_CHARS .patch]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS sort]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS i]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub i]]}) ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub MY_PATCH_DIR]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub MY_PATCH_DIR][LIT_CHARS /][VarSub PACKAGE]]} {[LIT_OTHER "]"]}) ) (For i [{[DQ [VarSub MY_PATCH_DIR][LIT_CHARS /][VarSub PACKAGE][LIT_CHARS /]] [LIT_OTHER "*"] [LIT_CHARS .patch]}]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub i]]}) ) ) ) ) ) (FunctionDef patch_package [] (Pipeline (Com {[LIT_CHARS gather_patches]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS i]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Applying "][VarSub i]]}) (AndOr OP_OR_IF (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub PACKAGE]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS patch]} {[LIT_CHARS -p1]} {[LIT_CHARS -i]} {[DQ [VarSub i]]}) (Com {[LIT_CHARS sha1file]} {[DQ [VarSub i]]} < (FilenameRedirectNode filename={[DQ [VarSub SHA1FILE]]} >"> 1), > ) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub ALLOW_PATCH_FAILURE]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS dienow]}) ) ) ) ) ) ) ) (FunctionDef find_package_tarball [] (Pipeline (Com {[LIT_CHARS ls]} {[LIT_CHARS -tc]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub 1][LIT_CHARS -]] [LIT_OTHER "*"] [LIT_CHARS .tar] [LIT_OTHER "*"]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS i]}) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS noversion]} {[DQ [VarSub i transform_ops=[PatSub {[LIT_CHARS "*"] [\ LIT_ESCAPED_CHAR "\\/"]} {}]]]})]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub i]]}) (Com {[LIT_CHARS break]}) ) ) ) ) ) (FunctionDef package_cache [] (List (= scope= flags=0 words=[] bindings=[('SNAPFROM', {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub 1]]})]) (AndOr OP_AND_IF (Subshell (AndOr OP_OR_IF (Com {[LIT_CHARS is_in_list]} {[DQ [VarSub 1]]} {[DQ [VarSub IGNORE_REPOS]]}) (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub SNAPFROM]]} {[LIT_OTHER "]"]}) ) ) (= scope= flags=0 words=[] bindings=[('SNAPFROM', {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub 1]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub SNAPFROM]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 1][LIT_CHARS " not found. Did you run download.sh?"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS dienow]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub SNAPFROM]]}) ) ) (FunctionDef extract_package [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub SRCTREE]]}) (Com {[LIT_CHARS dienow]}) ) (= scope= flags=0 words=[] bindings=[('PACKAGE', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS announce]} {[DQ [VarSub PACKAGE]]}) (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS is_in_list]} {[DQ [LIT_CHARS PACKAGE]]} {[DQ [VarSub IGNORE_REPOS]]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub PACKAGE]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (= scope= flags=0 words=[] bindings=[('FILENAME', {[DQ [ComSub (Com {[LIT_CHARS find_package_tarball]} {[DQ [VarSub PACKAGE]]})]]})]) (= scope= flags=0 words=[] bindings=[('DECOMPRESS', {[DQ ]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub FILENAME]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub FILENAME transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS tar] [\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS bz2]} {} do_prefix]]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('DECOMPRESS', {[DQ [LIT_CHARS j]]})]) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub FILENAME]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub FILENAME transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS tar] [\ LIT_ESCAPED_CHAR "\\."] [LIT_CHARS gz]} {} do_prefix]]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('DECOMPRESS', {[DQ [LIT_CHARS z]]})]) ) (= scope= flags=0 words=[] bindings=[('SHA1NAME', {[DQ [LIT_CHARS sha1-for-source.txt]]})]) (= scope= flags=0 words=[] bindings=[('SHA1FILE', {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub PACKAGE][LIT_CHARS /][VarSub SHA1NAME]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub FILENAME]]} {[LIT_OTHER "]"]}) (List (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub PACKAGE]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "No tarball for "][VarSub PACKAGE]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS dienow]}) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub SHA1FILE]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS patch_package]}) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (= scope= flags=0 words=[] bindings=[('SHA1TAR', {[DQ [ComSub (Com {[LIT_CHARS sha1file]} {[DQ [VarSub FILENAME]]})]]})]) (= scope= flags=0 words=[] bindings=[('SHALIST', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS cat]} {[DQ [VarSub SHA1FILE]]})]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub SHALIST]]} {[LIT_OTHER "]"]}) (List (For i [{[DQ [VarSub SHA1TAR]]}, {[ComSub (Com {[LIT_CHARS sha1file]} {[ComSub (Com {[LIT_CHARS gather_patches]})]})]}]) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub SHALIST]]}) (Com {[LIT_CHARS grep]} {[DQ [VarSub i]]}) )]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('SHALIST', {[LIT_CHARS missing]})]) (Com {[LIT_CHARS break]}) ) ) (= scope= flags=0 words=[] bindings=[('SHALIST', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub SHALIST]]}) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS s/][VarSub i][LIT_CHARS //]]}) )]]})]) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub SHALIST]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Extracting '"][VarSub PACKAGE][LIT_CHARS "'"]]}) (Subshell (List (= scope= flags=0 words=[] bindings=[('UNIQUE', {[ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS /proc/self]})]})]) (Com {[LIT_CHARS trap]} {[SQ ] [VarSub UNIQUE] [SQ ]} {[LIT_CHARS EXIT]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub PACKAGE]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub BUILD][LIT_CHARS /temp-][VarSub UNIQUE]]} {[DQ [VarSub SRCTREE]]}) (Com {[LIT_CHARS dienow]}) ) (Pipeline (AndOr OP_AND_IF (Com {[LIT_CHARS tar]} {[LIT_CHARS -xv] [VarSub DECOMPRESS]} {[LIT_CHARS -f]} {[DQ [VarSub FILENAME]]} {[LIT_CHARS -C]} {[DQ [VarSub BUILD][LIT_CHARS /temp-][VarSub UNIQUE]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('TARDIR', {[DQ [ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub BUILD][LIT_CHARS /temp-][VarSub UNIQUE]] [LIT_CHARS /] [LIT_OTHER "*"]})]]})]) (Com {[LIT_CHARS touch]} {[DQ [VarSub TARDIR][LIT_CHARS /][VarSub SHA1NAME]]}) ) ) (Com {[LIT_CHARS dotprogress]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub BUILD][LIT_CHARS /temp-][VarSub UNIQUE]] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS /] [DQ [VarSub SHA1NAME]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_CHARS mv]} {[DQ [VarSub BUILD][LIT_CHARS /temp-][VarSub UNIQUE][LIT_CHARS /]] [LIT_OTHER "*"]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub PACKAGE]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub SHA1TAR]]} < (FilenameRedirectNode filename={[DQ [VarSub SHA1FILE]]} >"> 1), > ) ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS dienow]}) ) (Com {[LIT_CHARS patch_package]}) ) ) (FunctionDef confirm_checksum [] (List (= scope= flags=0 words=[] bindings=[('SUM', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS sha1file]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]})]]})]) (If (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub SUM]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS x] [DQ [VarSub SHA1]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub SHA1]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]} {[LIT_OTHER "]"]}) ) ) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub SHA1]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "No SHA1 for "][VarSub FILENAME][LIT_CHARS " ("][VarSub SUM][LIT_CHARS ")"]]}) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Confirmed "][VarSub FILENAME]]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub EXTRACT_ALL]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS extract_package]} {[DQ [VarSub BASENAME]]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (FunctionDef download_from [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS confirm_checksum]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS wget]} {[LIT_CHARS -t]} {[LIT_CHARS 2]} {[LIT_CHARS -T]} {[LIT_CHARS 20]} {[LIT_CHARS -O]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]} {[DQ [VarSub 1]]}) (Subshell (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 2]}) ) ) ) (Com {[LIT_CHARS touch]} {[LIT_CHARS -c]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub FILENAME]]}) (Com {[LIT_CHARS confirm_checksum]}) ) ) (FunctionDef download [] (List (= scope= flags=0 words=[] bindings=[('FILENAME', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub URL]]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub RENAME]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('FILENAME', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub FILENAME]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -r]} {[DQ [VarSub RENAME]]}) )]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} 0)]{[LIT_CHARS sha1sum]})]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error: please install sha1sum"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -ne]} {[DQ [LIT_CHARS "checking "][VarSub FILENAME][\ LIT_ESCAPED_CHAR "\\r"]]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS -c]} {[DQ [VarSub SRCDIR]] [LIT_CHARS /] [DQ [VarSub FILENAME]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (= scope= flags=0 words=[] bindings=[('BASENAME', {[DQ [ComSub (Com {[LIT_CHARS noversion]} {[DQ [VarSub FILENAME]]})]]})]) (If (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS is_in_list]} {[DQ [VarSub BASENAME]]} {[DQ [VarSub IGNORE_REPOS]]}) ) (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub BASENAME]]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Using "][VarSub SRCDIR][LIT_CHARS /][VarSub BASENAME]]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub EXTRACT_ALL]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS force]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub BASENAME]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cp]} {[LIT_CHARS -a]} {[DQ [VarSub SRCDIR][LIT_CHARS /][VarSub BASENAME]]} {[DQ [VarSub SRCTREE][LIT_CHARS /][VarSub BASENAME]]}) (Com {[LIT_CHARS dienow]}) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub PREFERRED_MIRROR]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_CHARS download_from]} {[DQ [VarSub PREFERRED_MIRROR][LIT_CHARS /][VarSub FILENAME]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS download_from]} {[DQ [VarSub URL]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (For i [{[VarSub MIRROR_LIST]}]) (AndOr OP_AND_IF (Com {[LIT_CHARS download_from]} {[DQ [VarSub i][LIT_CHARS /][VarSub FILENAME]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Could not download "][VarSub FILENAME]]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS -en]} {[DQ [\ LIT_ESCAPED_CHAR "\\e"][LIT_CHARS "[0m"]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('START_TIME', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s]})]})]) (FunctionDef cleanup_oldfiles [] (List (Com {[LIT_CHARS wait]}) (For i [{[DQ [VarSub SRCDIR]] [LIT_CHARS /] [LIT_OTHER "*"]}]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s]} {[LIT_CHARS -r]} {[DQ [VarSub i]]})]]} {[LIT_CHARS -lt]} {[DQ [VarSub START_TIME]]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Removing]} {[LIT_CHARS old]} {[LIT_CHARS file]} {[DQ [VarSub i]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub i]]}) ) ) ) ) ) )