This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
developer_documentation [2018/01/06 04:29] lantis [Building] Add section about building old versions |
developer_documentation [2022/04/24 11:50] (current) lantis |
||
|---|---|---|---|
| Line 45: | Line 45: | ||
| You can browse the repository online here, or clone from one of the URLs below. There is both a local copy of the repository and a Github mirror: | You can browse the repository online here, or clone from one of the URLs below. There is both a local copy of the repository and a Github mirror: | ||
| - | <shell> | + | <code> |
| apt-get install git | apt-get install git | ||
| - | git clone git:// | + | git clone git@github.com: |
| - | </shell> | + | </code> |
| - | <shell> | + | SSH |
| - | git clone http:// | + | <code> |
| - | git clone git:// | + | git clone git@github.com: |
| - | git clone http:// | + | </ |
| - | git clone git:// | + | HTTPS |
| - | </shell> | + | < |
| + | git clone https:// | ||
| + | </code> | ||
| If you want to build an older branch or tag, use the "git checkout" | If you want to build an older branch or tag, use the "git checkout" | ||
| - | <shell> | + | <code> |
| git checkout 1.2 | git checkout 1.2 | ||
| - | </shell> | + | </code> |
| Anyone who still prefers working with subversion can make use of the subversion support provided by the github mirror: | Anyone who still prefers working with subversion can make use of the subversion support provided by the github mirror: | ||
| - | <shell> | + | <code> |
| svn checkout http:// | svn checkout http:// | ||
| - | </shell> | + | </code> |
| - | <shell> | + | <code> |
| cd gargoyle | cd gargoyle | ||
| - | </shell> | + | </code> |
| - | <shell> | + | <code> |
| make | make | ||
| - | </shell> | + | </code> |
| You'll notice there are two scripts in the build directory: // | You'll notice there are two scripts in the build directory: // | ||
| Line 79: | Line 81: | ||
| If you run make without the FULL_BUILD=true flag, and you've previously done a build, it will only rebuild the packages and not the underlying version of OpenWrt. This speeds up testing small changes in the packages dramatically. However, to do a complete build from scratch you really need to run the make command with " | If you run make without the FULL_BUILD=true flag, and you've previously done a build, it will only rebuild the packages and not the underlying version of OpenWrt. This speeds up testing small changes in the packages dramatically. However, to do a complete build from scratch you really need to run the make command with " | ||
| - | <shell> | + | <code> |
| make FULL_BUILD=true | make FULL_BUILD=true | ||
| - | </shell> | + | </code> |
| Or to build (for example) just the ar71xx architecture: | Or to build (for example) just the ar71xx architecture: | ||
| - | <shell> | + | <code> |
| make FULL_BUILD=true ar71xx | make FULL_BUILD=true ar71xx | ||
| - | </shell> | + | </code> |
| Allow building of only one profile for a given architecture by running e.g. "make ar71xx.usb_large" | Allow building of only one profile for a given architecture by running e.g. "make ar71xx.usb_large" | ||
| - | <shell> | + | <code> |
| make ar71xx.usb_large | make ar71xx.usb_large | ||
| - | </shell> | + | </code> |
| ar71xx profiles | ar71xx profiles | ||
| Line 110: | Line 112: | ||
| Building Gargoyle for the first time for even one supported platform can take several hours of churning on your computer. | Building Gargoyle for the first time for even one supported platform can take several hours of churning on your computer. | ||
| - | Before you can build Gargoyle, you will require the appropriate tools to [[http://wiki.openwrt.org/ | + | Before you can build Gargoyle, you will require the appropriate tools to [[https:// |
| To install these (list edited to add the additional things missing on Ubuntu Server 10.10), use the following on a 32 bit system: | To install these (list edited to add the additional things missing on Ubuntu Server 10.10), use the following on a 32 bit system: | ||
| - | <shell> | + | <code> |
| sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev subversion flex uglifyjs texinfo | sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev subversion flex uglifyjs texinfo | ||
| - | </shell> | + | </code> |
| Or for a 64 bit system: | Or for a 64 bit system: | ||
| - | <shell> | + | <code> |
| sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo | sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo | ||
| - | </shell> | + | </code> |
| - | **NOTE:** To save build time, consider also installing npm, which will also install nodejs as a depedency | + | |
| + | ===== Ubuntu 18.04 ===== | ||
| + | Enable universe repository | ||
| + | < | ||
| + | sudo add-apt-repository universe | ||
| + | </ | ||
| + | < | ||
| + | sudo add-apt-repository multiverse | ||
| + | </ | ||
| + | |||
| + | ===== NPM ===== | ||
| + | |||
| + | |||
| + | **NOTE:** To save build time, consider also installing npm, which will also install nodejs as a dependency. It is recommended that you install nodejs v6.13.1 (or equivalent) and npm v3.10.10 (or equivalent). See below | ||
| + | |||
| + | For more details on building OpenWrt, you can see their wiki page [[https:// | ||
| + | |||
| + | ===== Building ===== | ||
| - | For more details on building OpenWRT, you can see their wiki page [[http:// | ||
| Simply entering: | Simply entering: | ||
| - | <shell> | + | <code> |
| make | make | ||
| - | </shell> | + | </code> |
| will result in all targets being built. If you prefer to build a single target (in this example ar71xx, though you could substitute brcm47xx or another valid target), enter: | will result in all targets being built. If you prefer to build a single target (in this example ar71xx, though you could substitute brcm47xx or another valid target), enter: | ||
| - | <shell> | + | <code> |
| make ar71xx | make ar71xx | ||
| - | </shell> | + | </code> |
| The makefile calls the full-build-backfire.sh script found in the same directory. | The makefile calls the full-build-backfire.sh script found in the same directory. | ||
| Line 176: | Line 194: | ||
| **images/< | **images/< | ||
| + | |||
| + | ===== Make Custom ===== | ||
| + | |||
| It is also possible to build Gargoyle using a custom build configuration. | It is also possible to build Gargoyle using a custom build configuration. | ||
| - | <shell> | + | <code> |
| make custom | make custom | ||
| - | </shell> | + | </code> |
| + | |||
| You will then be given access to the OpenWrt menuconfig screen and can select the packages you want to include in your base image. | You will then be given access to the OpenWrt menuconfig screen and can select the packages you want to include in your base image. | ||
| - | ===== Building Older Versions of Gargoyle ===== | + | Example |
| - | Due to changes in upstream infrastructure, | + | |
| - | The following is a patch to restore 1.8.1 (or any Barrier Breaker 14.07 based version of Gargoyle) builds to build correctly: | + | - |
| - | <code diff> | + | - |
| - | --- a/build.sh | + | - Exit and save config, then quit the build |
| - | +++ b/ | + | - |
| - | @@ -21,15 +21,17 @@ set_version_variables() | + | - make clean |
| - | + | - make FULL_BUILD=true ipq40xx | |
| - | | + | |
| - | | + | An example |
| - | - branch_id=" | + | To enable plugin_gargoyle-minidlna, you first need to enable BUILD_PATENTED |
| - | + branch_id=" | + | To enable plugin_gargoyle-email-notifications, |
| - | | + | |
| - | - branch_packages_path=" | + | If you press “/“ while navigating the menu and then search for “gargoyle”, you can view each gargoyle package and what its dependencies are. |
| - | + branch_packages_path=" | + | |
| - | + | **<fs 110%>[[Make Custom Dependencies|Make Custom Dependencies]]</ | |
| - | + | ||
| - | - # set svn revision number | + | "/" |
| - | - # you can set this to an alternate revision | + | |
| - | + # set precise commit in repo to use | + | x Symbol: DEFAULT_libffmpeg-mini [=DEFAULT_libffmpeg-mini] x |
| - | + # you can set this to an alternate commit | + | x Type |
| - | # or empty to checkout latest | + | |
| - | - rnum=46817 | + | |
| - | + openwrt_commit=" | + | |
| - | + openwrt_abbrev_commit=$( echo " | + | x Type |
| - | + | + | x Prompt: libffmpeg-miniries |
| - | + | | |
| - | #set date here, so it's guaranteed | + | |
| - | | + | |
| - | @@ -82,7 +84,7 @@ create_gargoyle_banner() | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | - local openwrt_revision=" | + | |
| - | + local openwrt_cmt=" | + | |
| - | | + | ==== Installing Nodejs 6.13.1 and NPM 3.10.10 on Ubuntu ==== |
| - | | + | |
| - | + | ||
| - | @@ -92,7 +94,7 @@ create_gargoyle_banner() | + | For compatibility reasons, it is recommended to use these versions of NodeJS and NPM. To do so: |
| - | fi | + | <code bash> |
| - | + | curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh | |
| - | | + | sudo bash nodesource_setup.sh |
| - | - local middle_line=$(printf "| %-26s| %-35s|" | + | sudo apt-get install nodejs |
| - | + local middle_line=$(printf "| %-26s| %-35s|" | + | nodejs -v |
| - | | + | npm -v |
| - | + | ||
| - | cat << ' | + | |
| - | @@ -198,7 +200,6 @@ distrib_init () | + | |
| - | fi | + | |
| - | #git log --since=5/16/2013 $(git log -1 --pretty=format: | + | |
| - | git log $(git describe --abbrev=0 --tags)..$(git log -1 --pretty=format: | + | |
| - | - svn log -r " | + | |
| - | cp -fR " | + | |
| - | } | + | |
| - | + | ||
| - | @@ -334,9 +335,9 @@ fi | + | |
| - | + | ||
| - | openwrt_src_dir=" | + | |
| - | openwrt_package_dir=" | + | |
| - | -if [ -n " | + | |
| - | - openwrt_src_dir=" | + | |
| - | - openwrt_package_dir=" | + | |
| - | +if [ -n " | + | |
| - | + openwrt_src_dir=" | + | |
| - | + openwrt_package_dir=" | + | |
| - | | + | |
| - | rm -rf " | + | |
| - | rm -rf " | + | |
| - | @@ -345,23 +346,22 @@ fi | + | |
| - | + | ||
| - | #download openwrt source if we haven' | + | |
| - | | + | |
| - | - revision="" | + | |
| - | - if [ -n "$rnum" | + | |
| - | - revision=" -r $rnum " | + | |
| - | - fi | + | |
| - | echo " | + | |
| - | | + | |
| - | | + | |
| - | - svn checkout $revision svn:// | + | |
| - | + git clone git:// | + | |
| - | else | + | |
| - | - svn checkout $revision svn:// | + | |
| - | + git clone git:// | + | |
| - | fi | + | |
| - | - if [ ! -d " | + | |
| - | + if [ ! -d " | + | |
| - | | + | |
| - | | + | |
| - | fi | + | |
| - | - cd " | + | |
| - | - find . -name " | + | |
| - | + if [ -n " | + | |
| - | + cd " | + | |
| - | + git checkout " | + | |
| - | + fi | + | |
| - | + | + | |
| - | cd " | + | |
| - | mv " | + | |
| - | fi | + | |
| - | @@ -475,14 +475,9 @@ for target in $targets ; do | + | |
| - | if [ " | + | |
| - | if [ ! -d " | + | |
| - | + | ||
| - | - if [ " | + | |
| - | - svn checkout $revision svn:// | + | |
| - | - else | + | |
| - | - svn checkout $revision "svn:// | + | |
| - | - fi | + | |
| - | - | + | |
| - | + git clone git:// | + | |
| - | + | + | |
| - | cd " | + | |
| - | - find . -name " | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | @@ -507,10 +502,9 @@ for target in $targets ; do | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | - #enter build directory and make sure we get rid of all those pesky .svn files, | + | |
| - | - #and any crap left over from editing | + | |
| - | + #enter build directory and make sure we get rid of | + | |
| - | + #any crap left over from editing | + | |
| - | cd " | + | |
| - | - find | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | @@ -534,7 +528,7 @@ for target in $targets ; do | + | |
| - | + | ||
| - | + | ||
| - | | + | |
| - | - create_gargoyle_banner " | + | |
| - | + create_gargoyle_banner " | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | @@ -551,7 +545,7 @@ for target in $targets ; do | + | |
| - | + | ||
| - | + | ||
| - | | + | |
| - | - create_gargoyle_banner " | + | |
| - | + create_gargoyle_banner " | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | @@ -565,8 +559,9 @@ for target in $targets ; do | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | - package_files=$(find bin -name " | + | |
| - | - index_files=$(find bin -name " | + | |
| - | + package_base_dir=$(find bin -name " | + | |
| - | + package_files=$(find " | + | |
| - | + index_files=$(find " | + | |
| - | if [ -n " | + | |
| - | + | ||
| - | for pf in $package_files ; do | + | |
| - | @@ -643,7 +638,7 @@ for target in $targets ; do | + | |
| - | + | ||
| - | + | ||
| - | | + | |
| - | - create_gargoyle_banner " | + | |
| - | + create_gargoyle_banner " | + | |
| - | + | ||
| - | + | ||
| - | | + | |
| - | @@ -674,8 +669,9 @@ for target | + | |
| - | #copy packages to build/ | + | |
| - | | + | |
| - | | + | |
| - | - package_files=$(find bin -name " | + | |
| - | - index_files=$(find bin -name " | + | |
| - | + package_base_dir=$(find bin -name " | + | |
| - | + package_files=$(find " | + | |
| - | + index_files=$(find " | + | |
| - | if [ -n " | + | |
| - | | + | |
| - | | + | |
| - | @@ -684,7 +680,10 @@ for target in $targets ; do | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | - | + | |
| - | + | + | |
| - | + | + | |
| - | + | + | |
| - | + | + | |
| - | | + | |
| - | mkdir -p " | + | |
| - | fi | + | |
| - | @@ -719,3 +718,4 @@ for target in $targets ; do | + | |
| - | cd " | + | |
| - | done | + | |
| - | + | ||
| - | + | + | |
| - | --- /dev/null | + | |
| - | +++ b/ | + | |
| - | @@ -0,0 +1,13 @@ | + | |
| - | +--- a/ | + | |
| - | ++++ b/ | + | |
| - | +@@ -165,8 +165,8 @@ foreach my $mirror (@ARGV) { | + | |
| - | + push @extra, " | + | |
| - | + } | + | |
| - | + foreach my $dir (@extra) { | + | |
| - | +- push @mirrors, "ftp:// | + | |
| - | +- push @mirrors, "http://ftp.all.kernel.org/pub/ | + | |
| - | ++ push @mirrors, " | + | |
| - | ++ push @mirrors, " | + | |
| - | + } | + | |
| - | + } elsif ($mirror =~ / | + | |
| - | + push @mirrors, " | + | |
| </ | </ | ||
| - | The same patch should | + | |
| + | The contents of nodesource_setup.sh are preserved below for posterity: | ||
| + | <code bash> | ||
| + | # | ||
| + | |||
| + | # Discussion, issues and change requests at: | ||
| + | # | ||
| + | # | ||
| + | # Script to install the NodeSource Node.js v6.x LTS Boron repo onto a | ||
| + | # Debian or Ubuntu system. | ||
| + | # | ||
| + | # Run as root or insert `sudo -E` before `bash`: | ||
| + | # | ||
| + | # curl -sL https:// | ||
| + | # or | ||
| + | # wget -qO- https:// | ||
| + | # | ||
| + | |||
| + | export DEBIAN_FRONTEND=noninteractive | ||
| + | SCRSUFFIX=" | ||
| + | NODENAME=" | ||
| + | NODEREPO=" | ||
| + | NODEPKG=" | ||
| + | |||
| + | print_status() { | ||
| + | echo | ||
| + | echo "## $1" | ||
| + | echo | ||
| + | } | ||
| + | |||
| + | if test -t 1; then # if terminal | ||
| + | ncolors=$(which tput > /dev/null && tput colors) # supports color | ||
| + | if test -n " | ||
| + | termcols=$(tput cols) | ||
| + | bold=" | ||
| + | underline=" | ||
| + | standout=" | ||
| + | normal=" | ||
| + | black=" | ||
| + | red=" | ||
| + | green=" | ||
| + | yellow=" | ||
| + | blue=" | ||
| + | magenta=" | ||
| + | cyan=" | ||
| + | white=" | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | print_bold() { | ||
| + | title=" | ||
| + | text=" | ||
| + | |||
| + | echo | ||
| + | echo " | ||
| + | echo " | ||
| + | echo | ||
| + | echo -e " | ||
| + | echo | ||
| + | echo -en " | ||
| + | echo | ||
| + | echo " | ||
| + | echo " | ||
| + | } | ||
| + | |||
| + | bail() { | ||
| + | echo 'Error executing command, exiting' | ||
| + | exit 1 | ||
| + | } | ||
| + | |||
| + | exec_cmd_nobail() { | ||
| + | echo "+ $1" | ||
| + | bash -c " | ||
| + | } | ||
| + | |||
| + | exec_cmd() { | ||
| + | exec_cmd_nobail " | ||
| + | } | ||
| + | |||
| + | node_deprecation_warning() { | ||
| + | if [[ " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | print_bold \ | ||
| + | " | ||
| + | ${bold}${NODENAME} is no longer actively supported!${normal} | ||
| + | |||
| + | ${bold}You will not receive security or critical stability updates${normal} for this version. | ||
| + | |||
| + | You should | ||
| + | Use the installation script that corresponds to the version of Node.js you | ||
| + | wish to install. e.g. | ||
| + | |||
| + | * ${green}https:// | ||
| + | * ${green}https:// | ||
| + | |||
| + | Please see ${bold}https:// | ||
| + | may be appropriate for you. | ||
| + | |||
| + | The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains | ||
| + | information about which versions | ||
| + | are supported and how to use the install scripts. | ||
| + | ${bold}https:// | ||
| + | " | ||
| + | echo | ||
| + | echo " | ||
| + | echo | ||
| + | sleep 10 | ||
| + | |||
| + | elif [ " | ||
| + | |||
| + | print_bold \ | ||
| + | " | ||
| + | Node.js v0.10 will cease to be actively supported in ${bold}October 2016${normal}. | ||
| + | |||
| + | This means you will not continue to receive security or critical stability | ||
| + | updates for this version of Node.js beyond that time. | ||
| + | |||
| + | You should begin migration to a newer version of Node.js as soon as | ||
| + | possible. Use the installation script that corresponds to the version of | ||
| + | Node.js you wish to install. e.g. | ||
| + | |||
| + | * ${green}https:// | ||
| + | * ${green}https:// | ||
| + | |||
| + | Please see ${bold}https:// | ||
| + | may be appropriate for you. | ||
| + | |||
| + | The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains | ||
| + | information about which versions of Node.js and which Linux distributions | ||
| + | are supported and how to use the install scripts. | ||
| + | ${bold}https:// | ||
| + | " | ||
| + | |||
| + | echo | ||
| + | echo " | ||
| + | echo | ||
| + | sleep 5 | ||
| + | |||
| + | elif [ " | ||
| + | |||
| + | print_bold \ | ||
| + | " | ||
| + | Node.js v0.12 will cease to be actively supported ${bold}at the end of 2016${normal}. | ||
| + | |||
| + | This means you will not continue to receive security or critical stability | ||
| + | updates for this version of Node.js beyond that time. | ||
| + | |||
| + | You should begin migration to a newer version of Node.js as soon as | ||
| + | possible. Use the installation script that corresponds to the version of | ||
| + | Node.js you wish to install. e.g. | ||
| + | |||
| + | * ${green}https:// | ||
| + | * ${green}https:// | ||
| + | |||
| + | Please see ${bold}https:// | ||
| + | may be appropriate for you. | ||
| + | |||
| + | The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains | ||
| + | information about which versions of Node.js and which Linux distributions | ||
| + | are supported and how to use the install scripts. | ||
| + | ${bold}https:// | ||
| + | " | ||
| + | |||
| + | echo | ||
| + | echo " | ||
| + | echo | ||
| + | sleep 3 | ||
| + | |||
| + | fi | ||
| + | } | ||
| + | |||
| + | script_deprecation_warning() { | ||
| + | if [ " | ||
| + | print_bold \ | ||
| + | " | ||
| + | This script, located at ${bold}https:// | ||
| + | install Node.js v0.10, is being deprecated and will eventually be made | ||
| + | inactive. | ||
| + | |||
| + | You should use the script that corresponds to the version of Node.js you | ||
| + | wish to install. e.g. | ||
| + | |||
| + | * ${green}https:// | ||
| + | * ${green}https:// | ||
| + | |||
| + | Please see ${bold}https:// | ||
| + | may be appropriate for you. | ||
| + | |||
| + | The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains | ||
| + | information about which versions of Node.js and which Linux distributions | ||
| + | are supported and how to use the install scripts. | ||
| + | ${bold}https:// | ||
| + | " | ||
| + | |||
| + | echo | ||
| + | echo " | ||
| + | echo | ||
| + | sleep 10 | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | setup() { | ||
| + | |||
| + | script_deprecation_warning | ||
| + | |||
| + | print_status " | ||
| + | |||
| + | if $(uname -m | grep -Eq ^armv6); then | ||
| + | print_status "You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | PRE_INSTALL_PKGS="" | ||
| + | |||
| + | # Check that HTTPS transport is available to APT | ||
| + | # (Check snaked from: https://get.docker.io/ | ||
| + | |||
| + | if [ ! -e / | ||
| + | PRE_INSTALL_PKGS=" | ||
| + | fi | ||
| + | |||
| + | if [ ! -x / | ||
| + | PRE_INSTALL_PKGS=" | ||
| + | fi | ||
| + | |||
| + | if [ ! -x / | ||
| + | PRE_INSTALL_PKGS=" | ||
| + | fi | ||
| + | |||
| + | # Populating Cache | ||
| + | print_status " | ||
| + | exec_cmd ' | ||
| + | |||
| + | if [ " | ||
| + | print_status " | ||
| + | # This next command needs to be redirected to /dev/null or the script will bork | ||
| + | # in some environments | ||
| + | exec_cmd " | ||
| + | fi | ||
| + | |||
| + | IS_PRERELEASE=$(lsb_release -d | grep ' | ||
| + | if [[ $IS_PRERELEASE -eq 0 ]]; then | ||
| + | print_status "Your distribution, | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | DISTRO=$(lsb_release -c -s) | ||
| + | |||
| + | check_alt() { | ||
| + | if [ " | ||
| + | echo | ||
| + | echo "## You seem to be using ${1} version ${DISTRO}." | ||
| + | echo "## This maps to ${3} \" | ||
| + | DISTRO=" | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt "Linux Mint" | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | check_alt " | ||
| + | |||
| + | if [ " | ||
| + | print_status " | ||
| + | NEWDISTRO=$([ -e / | ||
| + | if [ " | ||
| + | print_status "Could not determine distribution from / | ||
| + | else | ||
| + | DISTRO=$NEWDISTRO | ||
| + | print_status "Found \" | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | print_status " | ||
| + | |||
| + | if [ -x / | ||
| + | exec_cmd_nobail "curl -sLf -o /dev/null ' | ||
| + | RC=$? | ||
| + | else | ||
| + | exec_cmd_nobail "wget -qO /dev/null -o /dev/null ' | ||
| + | RC=$? | ||
| + | fi | ||
| + | |||
| + | if [[ $RC != 0 ]]; then | ||
| + | print_status "Your distribution, | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | if [ -f "/ | ||
| + | print_status ' | ||
| + | |||
| + | exec_cmd_nobail ' | ||
| + | exec_cmd "rm -f / | ||
| + | fi | ||
| + | |||
| + | print_status ' | ||
| + | |||
| + | if [ -x / | ||
| + | exec_cmd 'curl -s https:// | ||
| + | else | ||
| + | exec_cmd 'wget -qO- https:// | ||
| + | fi | ||
| + | |||
| + | print_status " | ||
| + | |||
| + | exec_cmd "echo 'deb https:// | ||
| + | exec_cmd "echo ' | ||
| + | |||
| + | print_status ' | ||
| + | |||
| + | exec_cmd ' | ||
| + | |||
| + | node_deprecation_warning | ||
| + | |||
| + | print_status "Run \`apt-get install ${NODEPKG}\` (as root) to install ${NODENAME} and npm" | ||
| + | |||
| + | } | ||
| + | |||
| + | ## Defer setup until we have the complete script | ||
| + | setup | ||
| + | </ | ||
| + | The same steps may work on other OSes | ||
| + | ===== Building Older Versions of Gargoyle ===== | ||
| + | |||
| + | Due to changes in upstream infrastructure, | ||
| + | The latest commits on each branch back to 1.6 have all been fixed to build as of November 2020 | ||