X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Fgenerate_aliases.pl;h=968cf360e39ac0364f5f34d755cc3bcd7edc1e1f;hb=8aec25f6496659248d997e474195ee4acdcdb976;hp=ead37dac32e51d21dd2f10c8e3f7acd1044280ad;hpb=223b6d85cccfb8582f7fa610a9cb482284abad49;p=feisty_meow.git diff --git a/scripts/core/generate_aliases.pl b/scripts/core/generate_aliases.pl index ead37dac..968cf360 100644 --- a/scripts/core/generate_aliases.pl +++ b/scripts/core/generate_aliases.pl @@ -23,7 +23,7 @@ require "filename_helper.pl"; -require "importenv.pl"; +use Env qw(FEISTY_MEOW_BINARIES BUILD_TOP FEISTY_MEOW_APEX FEISTY_MEOW_LOADING_DOCK FEISTY_MEOW_SCRIPTS SHELL_DEBUG ); # given a possible aliasable filename, this will decide whether to create a perl # or bash alias for it. it needs the filename of the possible alias and the @@ -47,7 +47,7 @@ sub make_bash_alias { #print "alias became $aliasname\n"; local($source_dir) = shift(@_); #print "bash alias is $aliasname, dir is $source_dir\n"; - print she "alias $aliasname=\"bash $source_dir/$full_alias.sh\"\n"; + print she "define_yeti_alias $aliasname=\"bash $source_dir/$full_alias.sh\"\n"; } # makes an alias for a perl script given the alias name. @@ -58,7 +58,7 @@ sub make_perl_alias { #print "alias became $aliasname\n"; local($source_dir) = shift(@_); #print "perl alias is $aliasname, dir is $source_dir\n"; - print she "alias $aliasname=\"perl $source_dir/$full_alias.pl\"\n"; + print she "define_yeti_alias $aliasname=\"perl $source_dir/$full_alias.pl\"\n"; } # given a directory, this returns an array of all the filenames found therein. @@ -74,7 +74,7 @@ sub load_file_names { # The "common.alias" file is used in the generated aliases file as a base # set of generally useful aliases. We also add aliases for any script files # (perl, bash, python, etc) that we find in the feisty meow script hierarchy. -# Any *.alias files found in the $FEISTY_MEOW_GENERATED/custom folder are +# Any *.alias files found in the $FEISTY_MEOW_LOADING_DOCK/custom folder are # loaded also. sub rebuild_script_aliases { @@ -83,10 +83,10 @@ sub rebuild_script_aliases { } # create our generated shells directory if it's not already. - if ( ! -d $FEISTY_MEOW_GENERATED ) { - mkdir $FEISTY_MEOW_GENERATED; + if ( ! -d $FEISTY_MEOW_LOADING_DOCK ) { + mkdir $FEISTY_MEOW_LOADING_DOCK; if (length($SHELL_DEBUG)) { - print "made FEISTY_MEOW_GENERATED at '$FEISTY_MEOW_GENERATED'\n"; + print "made FEISTY_MEOW_LOADING_DOCK at '$FEISTY_MEOW_LOADING_DOCK'\n"; } } @@ -97,7 +97,7 @@ sub rebuild_script_aliases { @ALIAS_DEFINITION_FILES = ("$FEISTY_MEOW_SCRIPTS/core/common.alias"); # if custom aliases files exist, add them to the list. - foreach $i (&glob_list("$FEISTY_MEOW_GENERATED/custom/*.alias")) { + foreach $i (&glob_list("$FEISTY_MEOW_LOADING_DOCK/custom/*.alias")) { if (-f $i) { push(@ALIAS_DEFINITION_FILES, $i); } } if (length($SHELL_DEBUG)) { @@ -111,7 +111,7 @@ sub rebuild_script_aliases { # write the aliases for sh and bash scripts. - local $GENERATED_ALIAS_FILE = "$FEISTY_MEOW_GENERATED/fmc_core_and_custom_aliases.sh"; + local $GENERATED_ALIAS_FILE = "$FEISTY_MEOW_LOADING_DOCK/fmc_core_and_custom_aliases.sh"; if (length($SHELL_DEBUG)) { print "writing generated aliases in $GENERATED_ALIAS_FILE...\n"; } @@ -127,9 +127,9 @@ sub rebuild_script_aliases { print GENOUT "##\n"; if (length($test_color)) { - print GENOUT "color_add=--color=auto\n"; + print GENOUT "export color_add=--color=auto\n"; } else { - print GENOUT "color_add=\n"; + print GENOUT "export color_add=\n"; } # plow in the full set of aliases into the file. @@ -150,30 +150,31 @@ sub rebuild_script_aliases { ############## # make sure we know where to store the files we're creating. -if ( ! length("$FEISTY_MEOW_GENERATED") ) { +if ( ! length("$FEISTY_MEOW_LOADING_DOCK") ) { print "\ -The FEISTY_MEOW_GENERATED variable is not defined. This must point to the location where\n\ -the generated scripts are stored. Perhaps you still need to run\n\ -bootstrap_shells.sh and set up some environment variables. Please see\n\ -http://feistymeow.org for more details.\n"; +The FEISTY_MEOW_LOADING_DOCK variable is not defined. This must point to\ +the location where the generated scripts are stored. You may still need to\ +configure the feisty meow script system with something like:\ + bash ~/feisty_meow/scripts/core/reconfigure_feisty_meow.sh\ +Please see http://feistymeow.org for more details.\n"; exit 1; #really need to use better exit codes. } -$FEISTY_MEOW_GENERATED =~ s/\\/\//g; +$FEISTY_MEOW_LOADING_DOCK =~ s/\\/\//g; $FEISTY_MEOW_SCRIPTS =~ s/\\/\//g; -$FEISTY_MEOW_DIR =~ s/\\/\//g; +$FEISTY_MEOW_APEX =~ s/\\/\//g; # create our generated shells directory if it's not already there. -if (! -d $FEISTY_MEOW_GENERATED) { - mkdir $FEISTY_MEOW_GENERATED; +if (! -d $FEISTY_MEOW_LOADING_DOCK) { + mkdir $FEISTY_MEOW_LOADING_DOCK; } ############## # set the executable bit for binaries for just this current user. -if (-d $BINDIR) { - system("chmod -R u+x \"$BINDIR\"/*"); +if (-d $FEISTY_MEOW_BINARIES) { + system("chmod -R u+x \"$FEISTY_MEOW_BINARIES\"/*"); } # generate the first set of alias files that are defined in the core @@ -181,23 +182,22 @@ if (-d $BINDIR) { &rebuild_script_aliases; # trash the old versions. -unlink("$FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh"); +unlink("$FEISTY_MEOW_LOADING_DOCK/fmc_aliases_for_scripts.sh"); if (length($SHELL_DEBUG)) { - printf "writing $FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh...\n"; + printf "writing $FEISTY_MEOW_LOADING_DOCK/fmc_aliases_for_scripts.sh...\n"; } # open the alias files to be created. -open(she, ">> $FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh"); - -#print "os is $OS\n"; +open(she, ">> $FEISTY_MEOW_LOADING_DOCK/fmc_aliases_for_scripts.sh"); # find the list of files in the scripts directory. #opendir(scripts, "$FEISTY_MEOW_SCRIPTS"); #@shell_files = sort(readdir(scripts)); #print "scripts: @shell_files\n"; -@shell_files = &load_file_names("$FEISTY_MEOW_SCRIPTS"); +@shell_files = (&load_file_names("$FEISTY_MEOW_SCRIPTS"), + &load_file_names("$FEISTY_MEOW_LOADING_DOCK/custom/scripts")); # construct aliases for items in the scripts directory. foreach $file (@shell_files) { @@ -220,6 +220,11 @@ foreach $file (@shell_files) { foreach $subfile (@subdir_files) { push(@shell_files, "$file/$subfile"); } + } elsif (-f "$FEISTY_MEOW_LOADING_DOCK/custom/scripts/$file") { + # if we see a file in the auto-generated area that comes from the + # customized scripts folder, we add it as an alias. + make_alias($file, "$FEISTY_MEOW_LOADING_DOCK/custom/scripts/"); + #print "added custom script file: $FEISTY_MEOW_LOADING_DOCK/custom/scripts/$file\n"; } else { # if it's a regular file, we'll try to make an alias for it. the function # will only fire if the ending is appropriate for the script languages we use.