To Install the "extension" package manager, run: curl -4 -L --insecure https://repo.dillonsociety.com/pub/DSLsq/portholes/0.2/extension.sh -o /bin/extension &> /dev/null && chmod +x /bin/extension && extension -u && source ~/.bashrc Ready: bash_shell_startup_files - jelly bean configuration files for the users make_ca - enable curl to validate https links sharedrivec - James' ShareDrive @ the DKET curl wget cmake git doxygen Server File Structure: /beta/ Work in progress that is not to be fielded yet or ever /completed/ This is where all source files that are finalized are placed. /packages/ Should only have folders lowercase 0-9,a-z. /packages/[0-9,a-z]/ Sometimes the original source code gets dropped from a location. Here we can put a backup to prevent breaking our scripts. This location is used last as to save our bandwith. The first letter / digit of the file is used to determin which folder to place it. /patches/ Custom made patches stored here. /repo/ This is all work in progress files are placed. This is due to update_extensions.sh can take a while to run. /repo/update_extensions.sh This will package the "extension_blank-1.9.16p2" files into ../extension_blank-1.9.16p2.tar.gz and update extension.list /repo/extension_blank-1.9.16p2/ Note all packaged start with "extension_" followed with the name you use in "extension --install blank" No hyphens in the name as that is used to seperate the name to version of the package. /repo/extension_blank-1.9.16p2/scripts/blank.sh This is the install script. Note the main one is the same as the package name. /repo/extension_blank-1.9.16p2/scripts/complete.sh This is the post-install script. /repo/extension_blank-1.9.16p2/build_order.txt This file is the order of which to run the scripts. Note you can have multiple scripts. /repo/extension_blank-1.9.16p2/config.sh This file does tests to check if dependancies are met prior to parsing build_order.txt and running the scripts. /repo/extension_blank-1.9.16p2/packages.sh List of download files needed. If you do not need a file downloaded, in config, change: echo "blank" >> $EXTENSION/build_order.txt #Does a download of PKG_BLANK plus any other listed. echo "blank _" >> $EXTENSION/build_order.txt #Skips requiring a PKG_BLANK, but can still have others. /.settings.sh Allows customization of: export EXTENSION_APP=extension export EXTENSION_NAME=extension export EXTENSION_LIST=extension.list /extension.list List of availible packages /extension.sh The "extension" package manager /extension_blank-1.9.16p2.tar.gz The compiled build instructions for package extension_blank-1.9.16p2 Client File Structure: /bin/extension Run without anything to list instructions. Common commands: extension --update => Pulls latest extension.list extension --install blank => Installs the latest package "blank", skips if no change. extension --install blank:1.9.16p2 => Installs the package "blank" revision 1.9.16p2 extension --install blank --rebuild => Forced reinstall of the latest package "blank" => Maybe you installed an optional dependancy and want it to use it. /etc/extension/ Default location of config files /etc/extension/extension.conf Variables you can enable to add features: ALLOW_GRAPHICS=false INSTALL_RECOMMENDED=false INSTALL_OPTIONAL=false INSTALL_TESTS=false RUN_TESTS=false MULTILIB=true MULTILIB_X32=false GCC_FORTRAN=true GCC_GO=false GCC_M2=false GCC_COBOL=false GCC_OBJC=false /tmp/ Default location of extension_blank-1.9.16p2 /var/local/extension/sources/ Default location of downloaded packages