├── .buildkite
├── darwin_amd64.yaml
├── darwin_arm64.yaml
├── test.cmd
├── test.sh
├── testbot_maintenance.sh
└── windows_amd64.yml
├── .circleci
├── circle_vm_setup.sh
├── config.yml
└── trigger_build.sh
├── .gitignore
├── COPYING
├── DRUPAL_MAINTAINER_README.md
├── README.md
├── example.gitignore
├── install.sh
├── licenses
├── LICENSE-docker-desktop.txt
├── LICENSE-drud-ddev.txt
├── LICENSE-drud-dev-router.txt
├── LICENSE-drud-docker-phpmyadmin.txt
├── LICENSE-drud-mariadb-local.txt
├── LICENSE-drud-nginx-php-fpm-local.txt
├── LICENSE-git.txt
└── LICENSE-mailhog-mailhog.txt
├── package_drupal_script.sh
├── sprint
├── Readme.txt
└── switch_branch.sh
├── start_sprint.sh
└── tests
├── installation.bats
├── sanetestbot.sh
└── test_drupal_quicksprint.sh
/.buildkite/darwin_amd64.yaml:
--------------------------------------------------------------------------------
1 | steps:
2 | - command: ".buildkite/test.sh"
3 | label: "package and test amd64"
4 | agents:
5 | - "os=macos"
6 | - "architecture=amd64"
7 |
--------------------------------------------------------------------------------
/.buildkite/darwin_arm64.yaml:
--------------------------------------------------------------------------------
1 | steps:
2 | - command: ".buildkite/test.sh"
3 | label: "package and test arm64"
4 | agents:
5 | - "os=macos"
6 | - "architecture=arm64"
7 |
--------------------------------------------------------------------------------
/.buildkite/test.cmd:
--------------------------------------------------------------------------------
1 | @echo "Building using bash and build.sh"
2 | "C:\Program Files\git\bin\bash" .buildkite/test.sh
3 |
4 | if %ERRORLEVEL% EQU 0 (
5 | @echo Successful build
6 | ) else (
7 | @echo Failure Reason Given is %errorlevel%
8 | exit /b %errorlevel%
9 | )
10 |
--------------------------------------------------------------------------------
/.buildkite/test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo "--- buildkite building at $(date) on $(hostname) for OS=$(go env GOOS) in $PWD with golang=$(go version) docker=$(docker version --format '{{.Server.Version}}') and docker-compose $(docker-compose version --short) ddev version=$(ddev --version)"
4 |
5 | set -o errexit
6 | set -o pipefail
7 | set -o nounset
8 | export DDEV_NO_INSTRUMENTATION=true
9 |
10 | # Run any testbot maintenance that may need to be done
11 | echo "--- running testbot_maintenance.sh"
12 | bash $(dirname $0)/testbot_maintenance.sh
13 |
14 | echo "--- package_drupal_script.sh"
15 | rm -f ~/tmp/quicksprint_thirdparty*gz ~/tmp/drupal_sprint_package*gz ~/tmp/drupal_sprint_package*zip
16 | echo "n" | ./package_drupal_script.sh
17 | echo "--- test_drupal_quicksprint.sh"
18 | tests/test_drupal_quicksprint.sh
19 | echo "--- cleanup"
20 | rm -f ~/tmp/*$(cat .quicksprint_release.txt)*.tar.gz
21 |
--------------------------------------------------------------------------------
/.buildkite/testbot_maintenance.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -eu
4 |
5 | os=$(go env GOOS)
6 |
7 | # Upgrade darwin and windows packages
8 | case $os in
9 | darwin)
10 | brew upgrade mkcert || brew install mkcert || true
11 | brew upgrade composer || brew install composer || true
12 | rm /usr/local/bin/ddev && brew unlink ddev && (brew upgrade ddev || brew install ddev || true)
13 | brew link ddev
14 |
15 | ;;
16 | windows)
17 | choco upgrade -y mkcert ddev
18 | composer self-update
19 | ;;
20 | esac
21 |
--------------------------------------------------------------------------------
/.buildkite/windows_amd64.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - command: ".buildkite/test.cmd"
3 | label: "package and test"
4 | agents:
5 | - "os=windows"
6 | - "dockertype=dockerforwindows"
7 | - "architecture=amd64"
8 |
--------------------------------------------------------------------------------
/.circleci/circle_vm_setup.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -o errexit
4 | set -x
5 |
6 | # Basic tools
7 |
8 | v=php7.4
9 | sudo add-apt-repository -y ppa:ondrej/php
10 | sudo apt-get update -qq
11 | sudo apt-get install -y -qq coreutils jq zip ${v} ${v}-bcmath ${v}-curl ${v}-cgi ${v}-cli ${v}-common ${v}-fpm ${v}-gd ${v}-intl ${v}-json ${v}-mysql ${v}-mbstring ${v}-opcache ${v}-soap ${v}-readline ${v}-xdebug ${v}-xml ${v}-xmlrpc ${v}-zip;
12 |
13 | sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
14 | sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
15 | sudo php -r "unlink('composer-setup.php');"
16 |
17 | if [ ! -d /home/linuxbrew/.linuxbrew/bin ] ; then
18 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
19 | fi
20 |
21 | echo "export PATH=/home/linuxbrew/.linuxbrew/bin:$PATH" >>~/.bashrc
22 |
23 | . ~/.bashrc
24 |
25 | brew update
26 | brew install mkcert drud/ddev/ddev
27 |
28 | # install recent bats bash testing framework
29 | BATS_TAG=v1.1.0
30 | sudo rm -f /usr/local/bin/bats
31 | cd /tmp && git clone https://github.com/bats-core/bats-core.git && cd bats-core && git checkout ${BATS_TAG} && sudo ./install.sh /usr/local
32 |
--------------------------------------------------------------------------------
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | version: 2.0
2 |
3 | jobs:
4 | "package_build":
5 | machine:
6 | image: ubuntu-2004:202101-01
7 | working_directory: ~/quicksprint
8 | environment:
9 | TERM: vt100
10 | DDEV_NO_INSTRUMENTATION: true
11 | steps:
12 | - checkout
13 | - run:
14 | command: ./.circleci/circle_vm_setup.sh
15 | name: NORMAL Circle VM setup - tools, docker
16 | - run:
17 | command: source ~/.bashrc && echo "y" | ./package_drupal_script.sh
18 | name: Run the package_drupal_script.sh
19 | no_output_timeout: "20m"
20 | - persist_to_workspace:
21 | root: ~/
22 | paths:
23 | - quicksprint
24 | - tmp
25 | "test_package":
26 | machine:
27 | image: ubuntu-2004:202101-01
28 | working_directory: ~/quicksprint
29 | environment:
30 | TERM: vt100
31 | DDEV_NO_INSTRUMENTATION: true
32 | steps:
33 | - attach_workspace:
34 | at: ~/
35 | - run:
36 | command: ./.circleci/circle_vm_setup.sh
37 | name: NORMAL Circle VM setup - tools, docker
38 | - run: source ~/.bashrc && tests/test_drupal_quicksprint.sh
39 |
40 |
41 | "artifacts":
42 | machine:
43 | image: ubuntu-2004:202101-01
44 | working_directory: ~/quicksprint
45 | environment:
46 | ARTIFACTS: /home/circleci/artifacts
47 | DDEV_NO_INSTRUMENTATION: true
48 | steps:
49 | - attach_workspace:
50 | at: ~/
51 | - run:
52 | command: ./.circleci/circle_vm_setup.sh
53 | name: NORMAL Circle VM setup - tools, docker
54 | - run:
55 | command: |
56 | mkdir /home/circleci/artifacts && cd /home/circleci/artifacts && cp ~/tmp/*$(cat .quicksprint_release.txt)*.{tar.gz,zip} .
57 | for item in *.tar.gz *.zip; do
58 | sha256sum $item > $item.sha256.txt
59 | done
60 | name: make artifacts tarball downloads
61 | no_output_timeout: "20m"
62 | - store_artifacts:
63 | path: /home/circleci/artifacts
64 | name: Artifact storage
65 | - persist_to_workspace:
66 | root: ~/
67 | paths:
68 | - quicksprint
69 | - tmp
70 | - artifacts
71 |
72 | publish-github-release:
73 | environment:
74 | ARTIFACTS: /root/artifacts
75 | docker:
76 | - image: cibuilds/github:0.10
77 | steps:
78 | - attach_workspace:
79 | at: ~/
80 | - run:
81 | name: "Publish Release on GitHub"
82 | command: |
83 | ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${CIRCLE_TAG} $ARTIFACTS
84 |
85 | workflows:
86 | version: 2
87 | normal_build_and_test:
88 | jobs:
89 | - package_build
90 | - test_package:
91 | requires:
92 | - package_build
93 | - artifacts:
94 | requires:
95 | - package_build
96 |
97 | nightly_build:
98 | triggers:
99 | - schedule:
100 | cron: "0 3 * * 1-5"
101 | filters:
102 | branches:
103 | only:
104 | - master
105 | jobs:
106 | - package_build
107 | - test_package:
108 | requires:
109 | - package_build
110 | - artifacts:
111 | requires:
112 | - package_build
113 |
114 | tag_build:
115 | jobs:
116 | - package_build:
117 | filters:
118 | tags:
119 | only:
120 | - "/.*/"
121 | branches:
122 | ignore: /.*/
123 |
124 | - test_package:
125 | requires:
126 | - package_build
127 | filters:
128 | tags:
129 | only:
130 | - "/.*/"
131 | branches:
132 | ignore: /.*/
133 | - artifacts:
134 | requires:
135 | - package_build
136 | filters:
137 | tags:
138 | only:
139 | - "/.*/"
140 | branches:
141 | ignore: /.*/
142 | - publish-github-release:
143 | requires:
144 | - artifacts
145 | - test_package
146 | filters:
147 | tags:
148 | only:
149 | - "/.*/"
150 | branches:
151 | ignore: /.*/
152 |
153 |
--------------------------------------------------------------------------------
/.circleci/trigger_build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # from https://circleci.com/docs/1.0/nightly-builds/
4 | # See also https://circleci.com/docs/2.0/defining-multiple-jobs/
5 |
6 | # trigger_build.sh $circle_token $project_optional $branch_optional
7 |
8 | CIRCLE_TOKEN=$1
9 | JOB=${2:-nightly_build}
10 | PROJECT=${3:-drud/ddev}
11 | BRANCH=${4:-master}
12 |
13 | trigger_build_url=https://circleci.com/api/v1.1/project/github/${PROJECT}/tree/${BRANCH}?circle-token=${CIRCLE_TOKEN}
14 |
15 | curl --data "build_parameters[CIRCLE_JOB]=$JOB" ${trigger_build_url}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .ddev_version.txt
2 | .quicksprint_release.txt
3 | /env/
4 |
--------------------------------------------------------------------------------
/COPYING:
--------------------------------------------------------------------------------
1 | This Software is distributed in a compressed archive with the following third-party software and Docker images under other copyright notices.
2 |
3 | ddev is included in the distributable release as a software artifact, and is distributed under the Apache 2.0 license:
4 |
5 | ddev - (c) Copyright 2018 DRUD Technology, LLC.
6 |
7 | Docker™ images are included in the distributable release as software artifacts and distributed according to the provisions of the MIT license:
8 |
9 | mailhog/mailhog - (c) Copyright 2014 - 2018 Ian Kent (http://iankent.uk).
10 |
11 | Docker images are included in the distributable release as software artifacts and distributed according to the provisions of the Apache 2.0 license:
12 |
13 | drud/ddev-router - (c) Copyright 2018 DRUD Technology, LLC.
14 | drud/phpmyadmin - (c) Copyright 2018 DRUD Technology, LLC.
15 | drud/ddev-dbserver - (c) Copyright 2018 DRUD Technology, LLC.
16 | drud/ddev-webserver - (c) Copyright 2018 DRUD Technology, LLC.
17 |
18 | Drupal™ is included in the distributable release as a software artifact, and is distributed under the GPL license:
19 |
20 | Drupal - (c) Copyright 2001 - 2018 by the original authors
21 | See drupal/core/COPYRIGHT.txt for more details.
22 | The trademark "Drupal" belongs to Dries Buytaert.
23 |
24 | This Software may be distributed alongside the following third-party software under other copyright notices.
25 |
26 | Docker Community Edition, or otherwise known as "Docker open source", is distributed under the Apache 2.0 license under the following copyright:
27 |
28 | Docker open source - (c) 2013 - 2018 Docker, Inc.
29 | See https://www.docker.com/components-licenses for more details.
30 | The trademark "Docker" belongs to Docker, Inc.
31 |
32 | 7-Zip is distributed under the GNU Lesser General Public License 2.1 license under the following copyright:
33 |
34 | 7-Zip Copyright (C) 1999-2018 Igor Pavlov.
35 |
36 | git is distributed under the GNU GENERAL PUBLIC LICENSE v2.
37 |
--------------------------------------------------------------------------------
/DRUPAL_MAINTAINER_README.md:
--------------------------------------------------------------------------------
1 | # Drupal Quicksprint Maintainer Notes
2 |
3 | Quicksprint is a basic toolkit to get people started with ddev and a Drupal codebase. This is intended for contribution events where lots of people need to get started with the same environment in a short period of time.
4 |
5 | There are two parts to this project:
6 |
7 | 1. A build of the tarball that a contribution event attendee needs (done by a maintainer using Linux or Mac OS, who should be reading this right now). The maintainer uses `package_drupal_script.sh` to create a tarball/zipball for sprint attendees to use.
8 | 2. A released tarball/zipball that has everything ready for an ordinary contributor to get set up fast. It includes a README.md to help them know what to do.
9 |
10 |
11 | ## Distributing a Sprint Package
12 |
13 | There are several ways to distribute your package such as through a peer-to-peer tool such as ResilioSync, USB flash drives or downloading from the releases page. This will depend on the size of your sprint.
14 |
15 | You must provide both the contents of the `drupal_sprint_package` *and* the `installs` tarball. (The installs package grew too big for github releases.)
16 |
17 | Method | Sprint Size | Bandwidth | Other Considerations
18 | ---------- | ----------- | --------- | ----------------------
19 | ResilioSync | 100+ users | N/A | ResilioSync is not screen reader friendly and may be conflict with Firewall/Access Point security settings. Theoretically everyone would be able to get the files at the same time.
20 | USB drives | varies | N/A | 30+ USB flash drives will work for large events, but people will be waiting in line.
21 | Download | 25 users | 5 m/s | Sprint venue may not be able to support large number of users pulling releases from github.
22 |
23 | #### USB Flash Drives
24 |
25 | There are some better tools to automate USB flash drive imaging, but your mileage may vary. The following is a no frills method of doing so.
26 |
27 | 1. Download the latest release(s) locally.
28 | 2. Add the files to a flash drive.
29 | * (MacOS only) Remove hidden directories added by Spotlight and Finder.
30 | 3. Determine the total file size used on the device: `du /path/to/volume` so you know what the count parameter should be in the dd command below.
31 | * **⚠️ Warning** If you are _overwriting_ an existing package on a flash drive then this number **must** be greater than the previous size!
32 | 4. Create a disk image using `dd if=/dev/DEVICE` of=~/sprint-package.img bs=1m count=2700`.
33 | * (MacOS only) Check the disk device with `diskutil list`.
34 | 5. Eject/Umount the flash drive.
35 | 6. Insert a new flash drive.
36 | * (MacOS/Automount only) Unmount the flash drive if automounted - `diskutil unmount /dev/DEVICE`.
37 | 7. Reformat the flash drive (if the flash drive has files greater than the size of the disk image).
38 | 8. Write the image to the flash drive using `dd if=~/sprint-package.img of=/dew/DEVICE bs=1m`.
39 | 9. Eject and repeat 6. as necessary.
40 |
41 | ### Using your Sprint Package
42 |
43 | * Your users will download and unarchive the tarball or zipball.
44 | * Run install.sh from the unarchived directory; (Windows users must work in git-bash).
45 | * After installation, users can start up an instance by cd-ing to ~/sprint and running ./start_sprint.sh.
46 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Archived!
2 |
3 | 2022-03-10: This project is not currently under active development, because Drupal events are typically using [DrupalPod](https://github.com/shaal/DrupalPod) instead.
4 |
5 | If it's needed, it can be resurrected.
6 |
7 | # Drupal Contribution Package
8 |
9 | This package contains tools to get you started contributing to Drupal:
10 |
11 | * Drupal, already cloned with git
12 | * Docker Desktop for Mac or Windows
13 | * DDEV-Local (ddev) development environment
14 | * Additional tools including git for Windows
15 |
16 | ## Prerequisites
17 |
18 | * A computer with 6gb memory or greater.
19 | * Windows 10 or higher (with WSL2 and/or Hyper-V support), MacOS High Sierra or higher or a recent/stable Linux distribution.
20 | * A robust code editor such as Visual Studio Code, Atom, PhpStorm or Netbeans (this may be provided as part of this package).
21 |
22 | **⚠️ If your computer does not match a requirement, try the [Drupal quick-start](https://www.drupal.org/docs/8/install/quick-start-launch-a-local-demo-version-of-drupal-8-using-4-brief-steps)**! Now skip the steps below.
23 |
24 | ## Getting Started
25 |
26 | 1. [Get The Files](#get-the-files)
27 | 2. [Extract drupal_sprint_package](#extract-files)
28 | 3. [Install Docker and Other Requirements](#install)
29 | 4. [Open Terminal](#open-terminal)
30 | 5. [Install Contribution Tools](#install-tools)
31 |
32 |
33 | ### 1. Get The Files
34 |
35 | Use one of the options below to get the files.
36 |
37 | * GitHub - Download `drupal_sprint_package..zip` from https://github.com/drud/quicksprint/releases. Also download `quicksprint_thirdparty_installs.>.zip` if you need Docker and/or Git.
38 | * USB Drive (available at some conferences) - Copy drupal_sprint_package.RELEASE.zip and Docker installer for your Operating System from the USB drive to your Desktop.
39 | * ResilioSync (available at some conferences) - Find the folder/directory that was downloaded and copy its contents to your Desktop.
40 |
41 |
42 |
43 | ### 2. drupal_sprint_package directory
44 |
45 | Extract the `drupal_sprint_package..zip` file, and open or browse the contents. This is the sprint package directory.
46 |
47 | Extract the `quicksprint_thirdparty_installs..zip` if downloaded, and open or browse the contents and find the /installs folder. This is the third party installs directory.
48 |
49 |
50 | ### 3. Install Docker and Other Requirements
51 |
52 | #### 3.1 Docker Desktop
53 |
54 | * **Windows users install git:** First, install Git For Windows from the **third party installs** directory. The version here is newer than you might have on your computer if you already have it, so install if you don't have Git for Windows or have a version less than 2.21.0.
55 | * **All users:** Find the Docker installer for your Operating System underneath the **third party installs** directory. It is important to install the version of Docker provided for compatibility with the tools.
56 |
57 | Operating System | Docker Version | Installer
58 | ---------------- | -------------------------- | -----------------
59 | Windows 10 | Docker Desktop for Windows | "Docker for Windows Installer.exe"
60 | MacOS | Docker Desktop for Mac | Docker.dmg
61 | Linux | Docker CE, docker-compose | See [Linux instructions](https://docs.docker.com/engine/install/#server)
62 |
63 | **⚠️Docker Desktop for Windows**: Docker Desktop prompts you to enable WSL 2 during installation.
64 |
65 | **⚠️All users** Additional Docker **installation** troubleshooting and installation documentation is available at [ddev docker instructions](https://ddev.readthedocs.io/en/stable/users/docker_installation/).
66 |
67 | -**⚠️Linux users:** You'll probably need the [ddev docker instructions](https://ddev.readthedocs.io/en/stable/users/docker_installation/) to confirm your versions of docker ce and docker-compose to get docker properly setup.
68 |
69 | **⚠️All users:** Now start the Docker application you installed. Docker may ask you to create a DockerHub user account, and you may ignore this prompt safely and continue on below.
70 |
71 |
72 | ### 4. Open Terminal
73 |
74 | Open your Terminal application. If you already had a window open, **close it and open another one**.
75 |
76 | Operating System | Docker Version | Program
77 | ---------------- | -------------------------- | ----------------
78 | Windows 10 | Docker Desktop | Git Bash
79 | MacOS | Docker Desktop | Terminal.app or your preferred terminal application
80 | Linux | Docker CE, docker-compose | Your preferred terminal application
81 |
82 |
83 | ### 5. Install Contribution Tools
84 |
85 | 1. Change directory to the `drupal_sprint_package` directory using the `cd` command:
86 | * Example: Run `cd ~/Desktop/drupal_sprint_package`
87 | 2. Run the `install.sh` command and follow the prompts.
88 | * Example: `./install.sh`
89 | 3. Follow the instructions that print out at the end of the previous command to create a sprint instance.
90 | * Example: `cd ~/sprint` and `./start_sprint.sh`.
91 |
92 | This may take a few minutes and will provide you with a set of URLs and further instructions for using your contribution environment.
93 |
94 |
--------------------------------------------------------------------------------
/example.gitignore:
--------------------------------------------------------------------------------
1 | # This file contains default .gitignore rules. To use it, copy it to .gitignore,
2 | # and it will cause files like your settings.php and user-uploaded files to be
3 | # excluded from Git version control. This is a common strategy to avoid
4 | # accidentally including private information in public repositories and patch
5 | # files.
6 | #
7 | # Because .gitignore can be specific to your site, this file has a different
8 | # name; updating Drupal core will not override your custom .gitignore file.
9 |
10 | # Ignore core when managing all of a project's dependencies with Composer
11 | # including Drupal core.
12 | # core
13 |
14 | # IDEs
15 | .idea/
16 | .c9/
17 | nbproject/
18 | .vs/
19 | .vscode/
20 | .project
21 | .metadata
22 | .settings/
23 | *.swp
24 | *.bak
25 | *.tmproj
26 | *.tmproject
27 | tmtags
28 | *.sublime-workspace
29 | *.sublime-project
30 |
31 | # Ignores .gitignore file (for core development).
32 | .gitignore
33 |
34 | # Ignore dependencies that are managed with Composer.
35 | # Generally you should only ignore the root vendor directory. It's important
36 | # that core/assets/vendor and any other vendor directories within contrib or
37 | # custom module, theme, etc., are not ignored unless you purposely do so.
38 | /vendor/
39 |
40 | # Ignore configuration files that may contain sensitive information.
41 | sites/*/settings*.php
42 | sites/*/services*.yml
43 |
44 | # Ignore paths that contain user-generated content.
45 | sites/*/files
46 | sites/*/private
47 |
48 | # Ignore SimpleTest multi-site environment.
49 | sites/simpletest
50 |
51 | # If you prefer to store your .gitignore file in the sites/ folder, comment
52 | # or delete the previous settings and uncomment the following ones, instead.
53 |
54 | # Ignore configuration files that may contain sensitive information.
55 | # */settings*.php
56 |
57 | # Ignore paths that contain user-generated content.
58 | # */files
59 | # */private
60 |
61 | # Ignore SimpleTest multi-site environment.
62 | # simpletest
63 |
64 | # Sprint tools
65 | .ddev/
66 | .db_dumps/
67 | .phantomjs/
68 |
69 |
--------------------------------------------------------------------------------
/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -o errexit
4 | set -o pipefail
5 | set -o nounset
6 |
7 | # Install provided ddev release
8 | RED='\033[31m'
9 | GREEN='\033[32m'
10 | YELLOW='\033[33m'
11 | RESET='\033[0m'
12 | OS=$(uname)
13 | ARCH=$(arch)
14 | if [ ${ARCH} = "i386" ] || [ ${ARCH} = "x86_64" ]; then ARCH=amd64; fi
15 | USER=$(whoami)
16 | SHACMD=""
17 | FILEBASE=""
18 | CURRENT_DIR=$PWD
19 | DDEV_VERSION=$(cat ./.ddev_version.txt)
20 |
21 | # Check Docker is running
22 | if docker run --rm -t busybox:latest ls >/dev/null
23 | then
24 | printf "docker is running, continuing."
25 | else
26 | printf "${RED}Docker is not running and is required for this script, exiting.\n${RESET}"
27 | exit 1
28 | fi
29 |
30 | # Explain what the script does
31 | printf "
32 | ${GREEN}
33 | ####
34 | # This script will install everything you need to participate in this
35 | # contribution event.
36 | #
37 | # Feel free to first inspect the script before continuing if you like.
38 | # -To do this just open it with a text editor
39 | #
40 | # It does the following:
41 | # -Install the DDEV-Local development tool
42 | # -Copy required components to ~/sprint
43 | # -Pre-loads docker images for the toolkit:
44 | #
45 | ####
46 | ${RESET}"
47 |
48 | echo ""
49 | printf "Installing docker images for ddev to use...\n"
50 |
51 | # Allow faster turnaround on testing by export QUICKSPRINT_SKIP_IMAGE_INSTALL=true
52 | if [ -z "${QUICKSPRINT_SKIP_IMAGE_INSTALL:-}" ]; then
53 | if command -v xzcat >/dev/null; then
54 | xzcat ddev_tarballs/ddev_docker_images.${ARCH}.*.tar.xz | docker load
55 | elif [[ "$OS" == "Darwin" ]]; then
56 | gzip -dc ddev_tarballs/ddev_docker_images.${ARCH}.*.tar.xz | docker load
57 | else
58 | printf "${YELLOW}Unable to load ddev_docker_images. They will load at first 'ddev start'.${RESET}\n"
59 | fi
60 | fi
61 |
62 | TARBALL=""
63 | case "${OS}/${ARCH}" in
64 | Linux/amd64)
65 | TARBALL=ddev_tarballs/ddev_linux-amd64.${DDEV_VERSION}.tar.gz
66 | ;;
67 | Linux/arm64)
68 | TARBALL=ddev_tarballs/ddev_linux-arm64.${DDEV_VERSION}.tar.gz
69 | ;;
70 | Darwin/amd64)
71 | TARBALL=ddev_tarballs/ddev_macos-amd64.${DDEV_VERSION}.tar.gz
72 | ;;
73 | Darwin/arm64)
74 | TARBALL=ddev_tarballs/ddev_macos-arm64.${DDEV_VERSION}.tar.gz
75 | ;;
76 | MINGW64_NT*)
77 | echo ""
78 | # Assume if DDEV_INSTALL_DIR is set that we *do* need ddev on Windows, install it.
79 | # Otherwise, we'll do the install using the installer below.
80 | if [ ! -z "${DDEV_INSTALL_DIR:-}" ]; then
81 | TARBALL=ddev_tarballs/ddev_windows-amd64.${DDEV_VERSION}.tar.gz
82 | fi
83 | ;;
84 | *)
85 | printf "${RED}No ddev binary is available for ${OS}/${ARCH}${RESET}\n"
86 | exit 2
87 | ;;
88 |
89 | esac
90 |
91 | if [ ! -z "$TARBALL" ] ; then
92 | tar -xzf ${TARBALL} -C /tmp
93 | chmod ugo+x /tmp/ddev
94 |
95 | if command -v ddev >/dev/null && [ -z "${DDEV_INSTALL_DIR:-}" ] ; then
96 | printf "\n${RED}A version of ddev already exists in $(command -v ddev); You may upgrade it using your normal upgrade technique. Not installing a new version.${RESET}\n"
97 | else
98 | # Calling script may have already set DDEV_INSTALL_DIR, otherwise we respect and use it.
99 | if [ ! -z "${DDEV_INSTALL_DIR:-}" ]; then
100 | # It's the responsibility of the caller to have created the directory
101 | # and to have added the directory to $PATH
102 | echo "Installing for tests into DDEV_INSTALL_DIR='${DDEV_INSTALL_DIR:-}'"
103 | fi
104 | DDEV_INSTALL_DIR=${DDEV_INSTALL_DIR:-/usr/local/bin}
105 | if [ ! -d ${DDEV_INSTALL_DIR:-} ] ; then
106 | echo "DDEV_INSTALL_DIR '${DDEV_INSTALL_DIR:-}' does not exist"
107 | exit 3
108 | fi
109 | printf "Ready to place ddev in directory ${DDEV_INSTALL_DIR:-}.\n"
110 | BINOWNER=$(ls -ld ${DDEV_INSTALL_DIR:-} | awk '{print $3}')
111 |
112 | if [[ "$BINOWNER" == "$USER" ]]; then
113 | mv -f /tmp/ddev /tmp/mkcert ${DDEV_INSTALL_DIR:-}
114 | else
115 | printf "${YELLOW}Running \"sudo mv /tmp/ddev $DDEV_INSTALL_DIR\" Please enter your password if prompted.${RESET}\n"
116 | sudo mv /tmp/ddev /tmp/mkcert ${DDEV_INSTALL_DIR:-}
117 | fi
118 | fi
119 | fi
120 | if ! command -v ddev >/dev/null && [[ "$OS" =~ "MINGW64" ]] ; then
121 | printf "${YELLOW}Running the ddev_windows_installer. Please allow privileges as requested${RESET}\n"
122 | # Silent install of ddev for windows
123 | cmd //c $PWD/ddev_tarballs/ddev_windows_installer.${DDEV_VERSION}.exe //S
124 | printf "${GREEN}Installed ddev using the ddev_windows_installer. It may not be in your PATH until you open a new window.${RESET}\n"
125 | fi
126 |
127 | mkdir -p ~/sprint
128 | cp start_sprint.sh ~/sprint
129 | cp sprint.tar.xz ~/sprint
130 |
131 | printf "
132 | ${GREEN}
133 | ######
134 | #
135 | # Your ddev and the contribution event kit are now ready to use,
136 | # Please open a NEW WINDOW to make sure you have any additional PATHs
137 | # and execute the following commands to start:
138 | #
139 | # IN A NEW WINDOW:
140 | #
141 | # ${YELLOW}mkcert -install${GREEN}
142 | # ${YELLOW}cd ~/sprint${GREEN}
143 | # ${YELLOW}./start_sprint.sh${GREEN}
144 | #
145 | ######
146 | ${RESET}
147 | "
148 |
149 |
--------------------------------------------------------------------------------
/licenses/LICENSE-docker-desktop.txt:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | https://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | Copyright 2013-2017 Docker, Inc.
180 |
181 | Licensed under the Apache License, Version 2.0 (the "License");
182 | you may not use this file except in compliance with the License.
183 | You may obtain a copy of the License at
184 |
185 | https://www.apache.org/licenses/LICENSE-2.0
186 |
187 | Unless required by applicable law or agreed to in writing, software
188 | distributed under the License is distributed on an "AS IS" BASIS,
189 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
190 | See the License for the specific language governing permissions and
191 | limitations under the License.
192 |
--------------------------------------------------------------------------------
/licenses/LICENSE-drud-ddev.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/licenses/LICENSE-drud-dev-router.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/licenses/LICENSE-drud-docker-phpmyadmin.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 |
9 | 1. Definitions.
10 |
11 |
12 | "License" shall mean the terms and conditions for use, reproduction,
13 | and distribution as defined by Sections 1 through 9 of this document.
14 |
15 |
16 | "Licensor" shall mean the copyright owner or entity authorized by
17 | the copyright owner that is granting the License.
18 |
19 |
20 | "Legal Entity" shall mean the union of the acting entity and all
21 | other entities that control, are controlled by, or are under common
22 | control with that entity. For the purposes of this definition,
23 | "control" means (i) the power, direct or indirect, to cause the
24 | direction or management of such entity, whether by contract or
25 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
26 | outstanding shares, or (iii) beneficial ownership of such entity.
27 |
28 |
29 | "You" (or "Your") shall mean an individual or Legal Entity
30 | exercising permissions granted by this License.
31 |
32 |
33 | "Source" form shall mean the preferred form for making modifications,
34 | including but not limited to software source code, documentation
35 | source, and configuration files.
36 |
37 |
38 | "Object" form shall mean any form resulting from mechanical
39 | transformation or translation of a Source form, including but
40 | not limited to compiled object code, generated documentation,
41 | and conversions to other media types.
42 |
43 |
44 | "Work" shall mean the work of authorship, whether in Source or
45 | Object form, made available under the License, as indicated by a
46 | copyright notice that is included in or attached to the work
47 | (an example is provided in the Appendix below).
48 |
49 |
50 | "Derivative Works" shall mean any work, whether in Source or Object
51 | form, that is based on (or derived from) the Work and for which the
52 | editorial revisions, annotations, elaborations, or other modifications
53 | represent, as a whole, an original work of authorship. For the purposes
54 | of this License, Derivative Works shall not include works that remain
55 | separable from, or merely link (or bind by name) to the interfaces of,
56 | the Work and Derivative Works thereof.
57 |
58 |
59 | "Contribution" shall mean any work of authorship, including
60 | the original version of the Work and any modifications or additions
61 | to that Work or Derivative Works thereof, that is intentionally
62 | submitted to Licensor for inclusion in the Work by the copyright owner
63 | or by an individual or Legal Entity authorized to submit on behalf of
64 | the copyright owner. For the purposes of this definition, "submitted"
65 | means any form of electronic, verbal, or written communication sent
66 | to the Licensor or its representatives, including but not limited to
67 | communication on electronic mailing lists, source code control systems,
68 | and issue tracking systems that are managed by, or on behalf of, the
69 | Licensor for the purpose of discussing and improving the Work, but
70 | excluding communication that is conspicuously marked or otherwise
71 | designated in writing by the copyright owner as "Not a Contribution."
72 |
73 |
74 | "Contributor" shall mean Licensor and any individual or Legal Entity
75 | on behalf of whom a Contribution has been received by Licensor and
76 | subsequently incorporated within the Work.
77 |
78 |
79 | 2. Grant of Copyright License. Subject to the terms and conditions of
80 | this License, each Contributor hereby grants to You a perpetual,
81 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
82 | copyright license to reproduce, prepare Derivative Works of,
83 | publicly display, publicly perform, sublicense, and distribute the
84 | Work and such Derivative Works in Source or Object form.
85 |
86 |
87 | 3. Grant of Patent License. Subject to the terms and conditions of
88 | this License, each Contributor hereby grants to You a perpetual,
89 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
90 | (except as stated in this section) patent license to make, have made,
91 | use, offer to sell, sell, import, and otherwise transfer the Work,
92 | where such license applies only to those patent claims licensable
93 | by such Contributor that are necessarily infringed by their
94 | Contribution(s) alone or by combination of their Contribution(s)
95 | with the Work to which such Contribution(s) was submitted. If You
96 | institute patent litigation against any entity (including a
97 | cross-claim or counterclaim in a lawsuit) alleging that the Work
98 | or a Contribution incorporated within the Work constitutes direct
99 | or contributory patent infringement, then any patent licenses
100 | granted to You under this License for that Work shall terminate
101 | as of the date such litigation is filed.
102 |
103 |
104 | 4. Redistribution. You may reproduce and distribute copies of the
105 | Work or Derivative Works thereof in any medium, with or without
106 | modifications, and in Source or Object form, provided that You
107 | meet the following conditions:
108 |
109 |
110 | (a) You must give any other recipients of the Work or
111 | Derivative Works a copy of this License; and
112 |
113 |
114 | (b) You must cause any modified files to carry prominent notices
115 | stating that You changed the files; and
116 |
117 |
118 | (c) You must retain, in the Source form of any Derivative Works
119 | that You distribute, all copyright, patent, trademark, and
120 | attribution notices from the Source form of the Work,
121 | excluding those notices that do not pertain to any part of
122 | the Derivative Works; and
123 |
124 |
125 | (d) If the Work includes a "NOTICE" text file as part of its
126 | distribution, then any Derivative Works that You distribute must
127 | include a readable copy of the attribution notices contained
128 | within such NOTICE file, excluding those notices that do not
129 | pertain to any part of the Derivative Works, in at least one
130 | of the following places: within a NOTICE text file distributed
131 | as part of the Derivative Works; within the Source form or
132 | documentation, if provided along with the Derivative Works; or,
133 | within a display generated by the Derivative Works, if and
134 | wherever such third-party notices normally appear. The contents
135 | of the NOTICE file are for informational purposes only and
136 | do not modify the License. You may add Your own attribution
137 | notices within Derivative Works that You distribute, alongside
138 | or as an addendum to the NOTICE text from the Work, provided
139 | that such additional attribution notices cannot be construed
140 | as modifying the License.
141 |
142 |
143 | You may add Your own copyright statement to Your modifications and
144 | may provide additional or different license terms and conditions
145 | for use, reproduction, or distribution of Your modifications, or
146 | for any such Derivative Works as a whole, provided Your use,
147 | reproduction, and distribution of the Work otherwise complies with
148 | the conditions stated in this License.
149 |
150 |
151 | 5. Submission of Contributions. Unless You explicitly state otherwise,
152 | any Contribution intentionally submitted for inclusion in the Work
153 | by You to the Licensor shall be under the terms and conditions of
154 | this License, without any additional terms or conditions.
155 | Notwithstanding the above, nothing herein shall supersede or modify
156 | the terms of any separate license agreement you may have executed
157 | with Licensor regarding such Contributions.
158 |
159 |
160 | 6. Trademarks. This License does not grant permission to use the trade
161 | names, trademarks, service marks, or product names of the Licensor,
162 | except as required for reasonable and customary use in describing the
163 | origin of the Work and reproducing the content of the NOTICE file.
164 |
165 |
166 | 7. Disclaimer of Warranty. Unless required by applicable law or
167 | agreed to in writing, Licensor provides the Work (and each
168 | Contributor provides its Contributions) on an "AS IS" BASIS,
169 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
170 | implied, including, without limitation, any warranties or conditions
171 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
172 | PARTICULAR PURPOSE. You are solely responsible for determining the
173 | appropriateness of using or redistributing the Work and assume any
174 | risks associated with Your exercise of permissions under this License.
175 |
176 |
177 | 8. Limitation of Liability. In no event and under no legal theory,
178 | whether in tort (including negligence), contract, or otherwise,
179 | unless required by applicable law (such as deliberate and grossly
180 | negligent acts) or agreed to in writing, shall any Contributor be
181 | liable to You for damages, including any direct, indirect, special,
182 | incidental, or consequential damages of any character arising as a
183 | result of this License or out of the use or inability to use the
184 | Work (including but not limited to damages for loss of goodwill,
185 | work stoppage, computer failure or malfunction, or any and all
186 | other commercial damages or losses), even if such Contributor
187 | has been advised of the possibility of such damages.
188 |
189 |
190 | 9. Accepting Warranty or Additional Liability. While redistributing
191 | the Work or Derivative Works thereof, You may choose to offer,
192 | and charge a fee for, acceptance of support, warranty, indemnity,
193 | or other liability obligations and/or rights consistent with this
194 | License. However, in accepting such obligations, You may act only
195 | on Your own behalf and on Your sole responsibility, not on behalf
196 | of any other Contributor, and only if You agree to indemnify,
197 | defend, and hold each Contributor harmless for any liability
198 | incurred by, or claims asserted against, such Contributor by reason
199 | of your accepting any such warranty or additional liability.
200 |
201 |
202 | END OF TERMS AND CONDITIONS
203 |
204 |
205 | APPENDIX: How to apply the Apache License to your work.
206 |
207 |
208 | To apply the Apache License to your work, attach the following
209 | boilerplate notice, with the fields enclosed by brackets "{}"
210 | replaced with your own identifying information. (Don't include
211 | the brackets!) The text should be enclosed in the appropriate
212 | comment syntax for the file format. We also recommend that a
213 | file or class name and description of purpose be included on the
214 | same "printed page" as the copyright notice for easier
215 | identification within third-party archives.
216 |
217 |
218 | Copyright {yyyy} {name of copyright owner}
219 |
220 |
221 | Licensed under the Apache License, Version 2.0 (the "License");
222 | you may not use this file except in compliance with the License.
223 | You may obtain a copy of the License at
224 |
225 |
226 | http://www.apache.org/licenses/LICENSE-2.0
227 |
228 |
229 | Unless required by applicable law or agreed to in writing, software
230 | distributed under the License is distributed on an "AS IS" BASIS,
231 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
232 | See the License for the specific language governing permissions and
233 | limitations under the License.
--------------------------------------------------------------------------------
/licenses/LICENSE-drud-mariadb-local.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/licenses/LICENSE-drud-nginx-php-fpm-local.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 |
9 | 1. Definitions.
10 |
11 |
12 | "License" shall mean the terms and conditions for use, reproduction,
13 | and distribution as defined by Sections 1 through 9 of this document.
14 |
15 |
16 | "Licensor" shall mean the copyright owner or entity authorized by
17 | the copyright owner that is granting the License.
18 |
19 |
20 | "Legal Entity" shall mean the union of the acting entity and all
21 | other entities that control, are controlled by, or are under common
22 | control with that entity. For the purposes of this definition,
23 | "control" means (i) the power, direct or indirect, to cause the
24 | direction or management of such entity, whether by contract or
25 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
26 | outstanding shares, or (iii) beneficial ownership of such entity.
27 |
28 |
29 | "You" (or "Your") shall mean an individual or Legal Entity
30 | exercising permissions granted by this License.
31 |
32 |
33 | "Source" form shall mean the preferred form for making modifications,
34 | including but not limited to software source code, documentation
35 | source, and configuration files.
36 |
37 |
38 | "Object" form shall mean any form resulting from mechanical
39 | transformation or translation of a Source form, including but
40 | not limited to compiled object code, generated documentation,
41 | and conversions to other media types.
42 |
43 |
44 | "Work" shall mean the work of authorship, whether in Source or
45 | Object form, made available under the License, as indicated by a
46 | copyright notice that is included in or attached to the work
47 | (an example is provided in the Appendix below).
48 |
49 |
50 | "Derivative Works" shall mean any work, whether in Source or Object
51 | form, that is based on (or derived from) the Work and for which the
52 | editorial revisions, annotations, elaborations, or other modifications
53 | represent, as a whole, an original work of authorship. For the purposes
54 | of this License, Derivative Works shall not include works that remain
55 | separable from, or merely link (or bind by name) to the interfaces of,
56 | the Work and Derivative Works thereof.
57 |
58 |
59 | "Contribution" shall mean any work of authorship, including
60 | the original version of the Work and any modifications or additions
61 | to that Work or Derivative Works thereof, that is intentionally
62 | submitted to Licensor for inclusion in the Work by the copyright owner
63 | or by an individual or Legal Entity authorized to submit on behalf of
64 | the copyright owner. For the purposes of this definition, "submitted"
65 | means any form of electronic, verbal, or written communication sent
66 | to the Licensor or its representatives, including but not limited to
67 | communication on electronic mailing lists, source code control systems,
68 | and issue tracking systems that are managed by, or on behalf of, the
69 | Licensor for the purpose of discussing and improving the Work, but
70 | excluding communication that is conspicuously marked or otherwise
71 | designated in writing by the copyright owner as "Not a Contribution."
72 |
73 |
74 | "Contributor" shall mean Licensor and any individual or Legal Entity
75 | on behalf of whom a Contribution has been received by Licensor and
76 | subsequently incorporated within the Work.
77 |
78 |
79 | 2. Grant of Copyright License. Subject to the terms and conditions of
80 | this License, each Contributor hereby grants to You a perpetual,
81 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
82 | copyright license to reproduce, prepare Derivative Works of,
83 | publicly display, publicly perform, sublicense, and distribute the
84 | Work and such Derivative Works in Source or Object form.
85 |
86 |
87 | 3. Grant of Patent License. Subject to the terms and conditions of
88 | this License, each Contributor hereby grants to You a perpetual,
89 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
90 | (except as stated in this section) patent license to make, have made,
91 | use, offer to sell, sell, import, and otherwise transfer the Work,
92 | where such license applies only to those patent claims licensable
93 | by such Contributor that are necessarily infringed by their
94 | Contribution(s) alone or by combination of their Contribution(s)
95 | with the Work to which such Contribution(s) was submitted. If You
96 | institute patent litigation against any entity (including a
97 | cross-claim or counterclaim in a lawsuit) alleging that the Work
98 | or a Contribution incorporated within the Work constitutes direct
99 | or contributory patent infringement, then any patent licenses
100 | granted to You under this License for that Work shall terminate
101 | as of the date such litigation is filed.
102 |
103 |
104 | 4. Redistribution. You may reproduce and distribute copies of the
105 | Work or Derivative Works thereof in any medium, with or without
106 | modifications, and in Source or Object form, provided that You
107 | meet the following conditions:
108 |
109 |
110 | (a) You must give any other recipients of the Work or
111 | Derivative Works a copy of this License; and
112 |
113 |
114 | (b) You must cause any modified files to carry prominent notices
115 | stating that You changed the files; and
116 |
117 |
118 | (c) You must retain, in the Source form of any Derivative Works
119 | that You distribute, all copyright, patent, trademark, and
120 | attribution notices from the Source form of the Work,
121 | excluding those notices that do not pertain to any part of
122 | the Derivative Works; and
123 |
124 |
125 | (d) If the Work includes a "NOTICE" text file as part of its
126 | distribution, then any Derivative Works that You distribute must
127 | include a readable copy of the attribution notices contained
128 | within such NOTICE file, excluding those notices that do not
129 | pertain to any part of the Derivative Works, in at least one
130 | of the following places: within a NOTICE text file distributed
131 | as part of the Derivative Works; within the Source form or
132 | documentation, if provided along with the Derivative Works; or,
133 | within a display generated by the Derivative Works, if and
134 | wherever such third-party notices normally appear. The contents
135 | of the NOTICE file are for informational purposes only and
136 | do not modify the License. You may add Your own attribution
137 | notices within Derivative Works that You distribute, alongside
138 | or as an addendum to the NOTICE text from the Work, provided
139 | that such additional attribution notices cannot be construed
140 | as modifying the License.
141 |
142 |
143 | You may add Your own copyright statement to Your modifications and
144 | may provide additional or different license terms and conditions
145 | for use, reproduction, or distribution of Your modifications, or
146 | for any such Derivative Works as a whole, provided Your use,
147 | reproduction, and distribution of the Work otherwise complies with
148 | the conditions stated in this License.
149 |
150 |
151 | 5. Submission of Contributions. Unless You explicitly state otherwise,
152 | any Contribution intentionally submitted for inclusion in the Work
153 | by You to the Licensor shall be under the terms and conditions of
154 | this License, without any additional terms or conditions.
155 | Notwithstanding the above, nothing herein shall supersede or modify
156 | the terms of any separate license agreement you may have executed
157 | with Licensor regarding such Contributions.
158 |
159 |
160 | 6. Trademarks. This License does not grant permission to use the trade
161 | names, trademarks, service marks, or product names of the Licensor,
162 | except as required for reasonable and customary use in describing the
163 | origin of the Work and reproducing the content of the NOTICE file.
164 |
165 |
166 | 7. Disclaimer of Warranty. Unless required by applicable law or
167 | agreed to in writing, Licensor provides the Work (and each
168 | Contributor provides its Contributions) on an "AS IS" BASIS,
169 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
170 | implied, including, without limitation, any warranties or conditions
171 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
172 | PARTICULAR PURPOSE. You are solely responsible for determining the
173 | appropriateness of using or redistributing the Work and assume any
174 | risks associated with Your exercise of permissions under this License.
175 |
176 |
177 | 8. Limitation of Liability. In no event and under no legal theory,
178 | whether in tort (including negligence), contract, or otherwise,
179 | unless required by applicable law (such as deliberate and grossly
180 | negligent acts) or agreed to in writing, shall any Contributor be
181 | liable to You for damages, including any direct, indirect, special,
182 | incidental, or consequential damages of any character arising as a
183 | result of this License or out of the use or inability to use the
184 | Work (including but not limited to damages for loss of goodwill,
185 | work stoppage, computer failure or malfunction, or any and all
186 | other commercial damages or losses), even if such Contributor
187 | has been advised of the possibility of such damages.
188 |
189 |
190 | 9. Accepting Warranty or Additional Liability. While redistributing
191 | the Work or Derivative Works thereof, You may choose to offer,
192 | and charge a fee for, acceptance of support, warranty, indemnity,
193 | or other liability obligations and/or rights consistent with this
194 | License. However, in accepting such obligations, You may act only
195 | on Your own behalf and on Your sole responsibility, not on behalf
196 | of any other Contributor, and only if You agree to indemnify,
197 | defend, and hold each Contributor harmless for any liability
198 | incurred by, or claims asserted against, such Contributor by reason
199 | of your accepting any such warranty or additional liability.
200 |
201 |
202 | END OF TERMS AND CONDITIONS
203 |
204 |
205 | APPENDIX: How to apply the Apache License to your work.
206 |
207 |
208 | To apply the Apache License to your work, attach the following
209 | boilerplate notice, with the fields enclosed by brackets "{}"
210 | replaced with your own identifying information. (Don't include
211 | the brackets!) The text should be enclosed in the appropriate
212 | comment syntax for the file format. We also recommend that a
213 | file or class name and description of purpose be included on the
214 | same "printed page" as the copyright notice for easier
215 | identification within third-party archives.
216 |
217 |
218 | Copyright {yyyy} {name of copyright owner}
219 |
220 |
221 | Licensed under the Apache License, Version 2.0 (the "License");
222 | you may not use this file except in compliance with the License.
223 | You may obtain a copy of the License at
224 |
225 |
226 | http://www.apache.org/licenses/LICENSE-2.0
227 |
228 |
229 | Unless required by applicable law or agreed to in writing, software
230 | distributed under the License is distributed on an "AS IS" BASIS,
231 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
232 | See the License for the specific language governing permissions and
233 | limitations under the License.
--------------------------------------------------------------------------------
/licenses/LICENSE-git.txt:
--------------------------------------------------------------------------------
1 |
2 | Note that the only valid version of the GPL as far as this project
3 | is concerned is _this_ particular version of the license (ie v2, not
4 | v2.2 or v3.x or whatever), unless explicitly otherwise stated.
5 |
6 | HOWEVER, in order to allow a migration to GPLv3 if that seems like
7 | a good idea, I also ask that people involved with the project make
8 | their preferences known. In particular, if you trust me to make that
9 | decision, you might note so in your copyright message, ie something
10 | like
11 |
12 | This file is licensed under the GPL v2, or a later version
13 | at the discretion of Linus.
14 |
15 | might avoid issues. But we can also just decide to synchronize and
16 | contact all copyright holders on record if/when the occasion arises.
17 |
18 | Linus Torvalds
19 |
20 | ----------------------------------------
21 |
22 | GNU GENERAL PUBLIC LICENSE
23 | Version 2, June 1991
24 |
25 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
26 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
27 | Everyone is permitted to copy and distribute verbatim copies
28 | of this license document, but changing it is not allowed.
29 |
30 | Preamble
31 |
32 | The licenses for most software are designed to take away your
33 | freedom to share and change it. By contrast, the GNU General Public
34 | License is intended to guarantee your freedom to share and change free
35 | software--to make sure the software is free for all its users. This
36 | General Public License applies to most of the Free Software
37 | Foundation's software and to any other program whose authors commit to
38 | using it. (Some other Free Software Foundation software is covered by
39 | the GNU Lesser General Public License instead.) You can apply it to
40 | your programs, too.
41 |
42 | When we speak of free software, we are referring to freedom, not
43 | price. Our General Public Licenses are designed to make sure that you
44 | have the freedom to distribute copies of free software (and charge for
45 | this service if you wish), that you receive source code or can get it
46 | if you want it, that you can change the software or use pieces of it
47 | in new free programs; and that you know you can do these things.
48 |
49 | To protect your rights, we need to make restrictions that forbid
50 | anyone to deny you these rights or to ask you to surrender the rights.
51 | These restrictions translate to certain responsibilities for you if you
52 | distribute copies of the software, or if you modify it.
53 |
54 | For example, if you distribute copies of such a program, whether
55 | gratis or for a fee, you must give the recipients all the rights that
56 | you have. You must make sure that they, too, receive or can get the
57 | source code. And you must show them these terms so they know their
58 | rights.
59 |
60 | We protect your rights with two steps: (1) copyright the software, and
61 | (2) offer you this license which gives you legal permission to copy,
62 | distribute and/or modify the software.
63 |
64 | Also, for each author's protection and ours, we want to make certain
65 | that everyone understands that there is no warranty for this free
66 | software. If the software is modified by someone else and passed on, we
67 | want its recipients to know that what they have is not the original, so
68 | that any problems introduced by others will not reflect on the original
69 | authors' reputations.
70 |
71 | Finally, any free program is threatened constantly by software
72 | patents. We wish to avoid the danger that redistributors of a free
73 | program will individually obtain patent licenses, in effect making the
74 | program proprietary. To prevent this, we have made it clear that any
75 | patent must be licensed for everyone's free use or not licensed at all.
76 |
77 | The precise terms and conditions for copying, distribution and
78 | modification follow.
79 |
80 | GNU GENERAL PUBLIC LICENSE
81 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
82 |
83 | 0. This License applies to any program or other work which contains
84 | a notice placed by the copyright holder saying it may be distributed
85 | under the terms of this General Public License. The "Program", below,
86 | refers to any such program or work, and a "work based on the Program"
87 | means either the Program or any derivative work under copyright law:
88 | that is to say, a work containing the Program or a portion of it,
89 | either verbatim or with modifications and/or translated into another
90 | language. (Hereinafter, translation is included without limitation in
91 | the term "modification".) Each licensee is addressed as "you".
92 |
93 | Activities other than copying, distribution and modification are not
94 | covered by this License; they are outside its scope. The act of
95 | running the Program is not restricted, and the output from the Program
96 | is covered only if its contents constitute a work based on the
97 | Program (independent of having been made by running the Program).
98 | Whether that is true depends on what the Program does.
99 |
100 | 1. You may copy and distribute verbatim copies of the Program's
101 | source code as you receive it, in any medium, provided that you
102 | conspicuously and appropriately publish on each copy an appropriate
103 | copyright notice and disclaimer of warranty; keep intact all the
104 | notices that refer to this License and to the absence of any warranty;
105 | and give any other recipients of the Program a copy of this License
106 | along with the Program.
107 |
108 | You may charge a fee for the physical act of transferring a copy, and
109 | you may at your option offer warranty protection in exchange for a fee.
110 |
111 | 2. You may modify your copy or copies of the Program or any portion
112 | of it, thus forming a work based on the Program, and copy and
113 | distribute such modifications or work under the terms of Section 1
114 | above, provided that you also meet all of these conditions:
115 |
116 | a) You must cause the modified files to carry prominent notices
117 | stating that you changed the files and the date of any change.
118 |
119 | b) You must cause any work that you distribute or publish, that in
120 | whole or in part contains or is derived from the Program or any
121 | part thereof, to be licensed as a whole at no charge to all third
122 | parties under the terms of this License.
123 |
124 | c) If the modified program normally reads commands interactively
125 | when run, you must cause it, when started running for such
126 | interactive use in the most ordinary way, to print or display an
127 | announcement including an appropriate copyright notice and a
128 | notice that there is no warranty (or else, saying that you provide
129 | a warranty) and that users may redistribute the program under
130 | these conditions, and telling the user how to view a copy of this
131 | License. (Exception: if the Program itself is interactive but
132 | does not normally print such an announcement, your work based on
133 | the Program is not required to print an announcement.)
134 |
135 | These requirements apply to the modified work as a whole. If
136 | identifiable sections of that work are not derived from the Program,
137 | and can be reasonably considered independent and separate works in
138 | themselves, then this License, and its terms, do not apply to those
139 | sections when you distribute them as separate works. But when you
140 | distribute the same sections as part of a whole which is a work based
141 | on the Program, the distribution of the whole must be on the terms of
142 | this License, whose permissions for other licensees extend to the
143 | entire whole, and thus to each and every part regardless of who wrote it.
144 |
145 | Thus, it is not the intent of this section to claim rights or contest
146 | your rights to work written entirely by you; rather, the intent is to
147 | exercise the right to control the distribution of derivative or
148 | collective works based on the Program.
149 |
150 | In addition, mere aggregation of another work not based on the Program
151 | with the Program (or with a work based on the Program) on a volume of
152 | a storage or distribution medium does not bring the other work under
153 | the scope of this License.
154 |
155 | 3. You may copy and distribute the Program (or a work based on it,
156 | under Section 2) in object code or executable form under the terms of
157 | Sections 1 and 2 above provided that you also do one of the following:
158 |
159 | a) Accompany it with the complete corresponding machine-readable
160 | source code, which must be distributed under the terms of Sections
161 | 1 and 2 above on a medium customarily used for software interchange; or,
162 |
163 | b) Accompany it with a written offer, valid for at least three
164 | years, to give any third party, for a charge no more than your
165 | cost of physically performing source distribution, a complete
166 | machine-readable copy of the corresponding source code, to be
167 | distributed under the terms of Sections 1 and 2 above on a medium
168 | customarily used for software interchange; or,
169 |
170 | c) Accompany it with the information you received as to the offer
171 | to distribute corresponding source code. (This alternative is
172 | allowed only for noncommercial distribution and only if you
173 | received the program in object code or executable form with such
174 | an offer, in accord with Subsection b above.)
175 |
176 | The source code for a work means the preferred form of the work for
177 | making modifications to it. For an executable work, complete source
178 | code means all the source code for all modules it contains, plus any
179 | associated interface definition files, plus the scripts used to
180 | control compilation and installation of the executable. However, as a
181 | special exception, the source code distributed need not include
182 | anything that is normally distributed (in either source or binary
183 | form) with the major components (compiler, kernel, and so on) of the
184 | operating system on which the executable runs, unless that component
185 | itself accompanies the executable.
186 |
187 | If distribution of executable or object code is made by offering
188 | access to copy from a designated place, then offering equivalent
189 | access to copy the source code from the same place counts as
190 | distribution of the source code, even though third parties are not
191 | compelled to copy the source along with the object code.
192 |
193 | 4. You may not copy, modify, sublicense, or distribute the Program
194 | except as expressly provided under this License. Any attempt
195 | otherwise to copy, modify, sublicense or distribute the Program is
196 | void, and will automatically terminate your rights under this License.
197 | However, parties who have received copies, or rights, from you under
198 | this License will not have their licenses terminated so long as such
199 | parties remain in full compliance.
200 |
201 | 5. You are not required to accept this License, since you have not
202 | signed it. However, nothing else grants you permission to modify or
203 | distribute the Program or its derivative works. These actions are
204 | prohibited by law if you do not accept this License. Therefore, by
205 | modifying or distributing the Program (or any work based on the
206 | Program), you indicate your acceptance of this License to do so, and
207 | all its terms and conditions for copying, distributing or modifying
208 | the Program or works based on it.
209 |
210 | 6. Each time you redistribute the Program (or any work based on the
211 | Program), the recipient automatically receives a license from the
212 | original licensor to copy, distribute or modify the Program subject to
213 | these terms and conditions. You may not impose any further
214 | restrictions on the recipients' exercise of the rights granted herein.
215 | You are not responsible for enforcing compliance by third parties to
216 | this License.
217 |
218 | 7. If, as a consequence of a court judgment or allegation of patent
219 | infringement or for any other reason (not limited to patent issues),
220 | conditions are imposed on you (whether by court order, agreement or
221 | otherwise) that contradict the conditions of this License, they do not
222 | excuse you from the conditions of this License. If you cannot
223 | distribute so as to satisfy simultaneously your obligations under this
224 | License and any other pertinent obligations, then as a consequence you
225 | may not distribute the Program at all. For example, if a patent
226 | license would not permit royalty-free redistribution of the Program by
227 | all those who receive copies directly or indirectly through you, then
228 | the only way you could satisfy both it and this License would be to
229 | refrain entirely from distribution of the Program.
230 |
231 | If any portion of this section is held invalid or unenforceable under
232 | any particular circumstance, the balance of the section is intended to
233 | apply and the section as a whole is intended to apply in other
234 | circumstances.
235 |
236 | It is not the purpose of this section to induce you to infringe any
237 | patents or other property right claims or to contest validity of any
238 | such claims; this section has the sole purpose of protecting the
239 | integrity of the free software distribution system, which is
240 | implemented by public license practices. Many people have made
241 | generous contributions to the wide range of software distributed
242 | through that system in reliance on consistent application of that
243 | system; it is up to the author/donor to decide if he or she is willing
244 | to distribute software through any other system and a licensee cannot
245 | impose that choice.
246 |
247 | This section is intended to make thoroughly clear what is believed to
248 | be a consequence of the rest of this License.
249 |
250 | 8. If the distribution and/or use of the Program is restricted in
251 | certain countries either by patents or by copyrighted interfaces, the
252 | original copyright holder who places the Program under this License
253 | may add an explicit geographical distribution limitation excluding
254 | those countries, so that distribution is permitted only in or among
255 | countries not thus excluded. In such case, this License incorporates
256 | the limitation as if written in the body of this License.
257 |
258 | 9. The Free Software Foundation may publish revised and/or new versions
259 | of the General Public License from time to time. Such new versions will
260 | be similar in spirit to the present version, but may differ in detail to
261 | address new problems or concerns.
262 |
263 | Each version is given a distinguishing version number. If the Program
264 | specifies a version number of this License which applies to it and "any
265 | later version", you have the option of following the terms and conditions
266 | either of that version or of any later version published by the Free
267 | Software Foundation. If the Program does not specify a version number of
268 | this License, you may choose any version ever published by the Free Software
269 | Foundation.
270 |
271 | 10. If you wish to incorporate parts of the Program into other free
272 | programs whose distribution conditions are different, write to the author
273 | to ask for permission. For software which is copyrighted by the Free
274 | Software Foundation, write to the Free Software Foundation; we sometimes
275 | make exceptions for this. Our decision will be guided by the two goals
276 | of preserving the free status of all derivatives of our free software and
277 | of promoting the sharing and reuse of software generally.
278 |
279 | NO WARRANTY
280 |
281 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
282 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
283 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
284 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
285 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
286 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
287 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
288 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
289 | REPAIR OR CORRECTION.
290 |
291 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
292 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
293 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
294 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
295 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
296 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
297 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
298 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
299 | POSSIBILITY OF SUCH DAMAGES.
300 |
301 | END OF TERMS AND CONDITIONS
302 |
303 | How to Apply These Terms to Your New Programs
304 |
305 | If you develop a new program, and you want it to be of the greatest
306 | possible use to the public, the best way to achieve this is to make it
307 | free software which everyone can redistribute and change under these terms.
308 |
309 | To do so, attach the following notices to the program. It is safest
310 | to attach them to the start of each source file to most effectively
311 | convey the exclusion of warranty; and each file should have at least
312 | the "copyright" line and a pointer to where the full notice is found.
313 |
314 |
315 | Copyright (C)
316 |
317 | This program is free software; you can redistribute it and/or modify
318 | it under the terms of the GNU General Public License as published by
319 | the Free Software Foundation; either version 2 of the License, or
320 | (at your option) any later version.
321 |
322 | This program is distributed in the hope that it will be useful,
323 | but WITHOUT ANY WARRANTY; without even the implied warranty of
324 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
325 | GNU General Public License for more details.
326 |
327 | You should have received a copy of the GNU General Public License along
328 | with this program; if not, write to the Free Software Foundation, Inc.,
329 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
330 |
331 | Also add information on how to contact you by electronic and paper mail.
332 |
333 | If the program is interactive, make it output a short notice like this
334 | when it starts in an interactive mode:
335 |
336 | Gnomovision version 69, Copyright (C) year name of author
337 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
338 | This is free software, and you are welcome to redistribute it
339 | under certain conditions; type `show c' for details.
340 |
341 | The hypothetical commands `show w' and `show c' should show the appropriate
342 | parts of the General Public License. Of course, the commands you use may
343 | be called something other than `show w' and `show c'; they could even be
344 | mouse-clicks or menu items--whatever suits your program.
345 |
346 | You should also get your employer (if you work as a programmer) or your
347 | school, if any, to sign a "copyright disclaimer" for the program, if
348 | necessary. Here is a sample; alter the names:
349 |
350 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
351 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
352 |
353 | , 1 April 1989
354 | Ty Coon, President of Vice
355 |
356 | This General Public License does not permit incorporating your program into
357 | proprietary programs. If your program is a subroutine library, you may
358 | consider it more useful to permit linking proprietary applications with the
359 | library. If this is what you want to do, use the GNU Lesser General
360 | Public License instead of this License.
361 |
--------------------------------------------------------------------------------
/licenses/LICENSE-mailhog-mailhog.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 - 2016 Ian Kent
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package_drupal_script.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -o errexit
4 | set -o pipefail
5 | set -o nounset
6 |
7 | # Base checkout should be latest major-minor version branch
8 | SPRINT_BRANCH=9.3.x
9 |
10 | # This makes git-bash actually try to create symlinks.
11 | # Use developer mode in Windows 10 so this doesn't require admin privs.
12 | export MSYS=winsymlinks:nativestrict
13 |
14 | # Maximise compression
15 | export XZ_OPT=-9e
16 |
17 | # This script creates a package of artifacts that can then be used at a contribution event working on Drupal 8.
18 | # It assumes it's being run in the repository root.
19 |
20 | STAGING_DIR_NAME=drupal_sprint_package
21 | STAGING_DIR_BASE=~/tmp
22 | STAGING_DIR="$STAGING_DIR_BASE/$STAGING_DIR_NAME"
23 | REPO_DIR=$PWD
24 | QUICKSPRINT_RELEASE=$(git describe --tags --always --dirty)
25 |
26 | echo "$QUICKSPRINT_RELEASE" >.quicksprint_release.txt
27 |
28 | GIT_TAG_NAME=$(curl -L -s -H 'Accept: application/json' https://github.com/git-for-windows/git/releases/latest | jq -r .tag_name)
29 | GIT_LATEST_RELEASE="$(echo $GIT_TAG_NAME | sed 's/^v//; s/\.windows//')"
30 | GIT_DOWNLOAD_URL="https://github.com/git-for-windows/git/releases/download/${GIT_TAG_NAME}/Git-${GIT_LATEST_RELEASE}-64-bit.exe"
31 | DOWNLOAD_URLS="${GIT_DOWNLOAD_URL}"
32 |
33 | RED='\033[31m'
34 | GREEN='\033[32m'
35 | YELLOW='\033[33m'
36 | RESET='\033[0m'
37 | OS=$(uname)
38 | USER=$(whoami)
39 |
40 | # Ensure zcat is installed
41 | command -v zcat >/dev/null 2>&1 || { printf >&2 "${RED}zcat command is required but it's not installed. ('brew install xz' on macOS, 'apt-get install xz-utils' on Debian/Ubuntu) Aborting.${RESET}\n"; exit 1; }
42 | # Check Docker is running
43 | if docker run --rm -t busybox:latest ls >/dev/null
44 | then
45 | echo "docker is running, continuing."
46 | else
47 | echo "docker is not running and is required for this script, exiting."
48 | exit 1
49 | fi
50 |
51 | SHACMD="sha256sum"
52 | LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/drud/ddev/releases/latest)
53 | # The releases are returned in the format {"id":3622206,"tag_name":"hello-1.0.0.11",...}, we have to extract the tag_name.
54 | LATEST_VERSION="$(echo ${LATEST_RELEASE} | jq -r .tag_name)"
55 | RELEASE_URL="https://github.com/drud/ddev/releases/download/$LATEST_VERSION"
56 |
57 | echo "$LATEST_VERSION" >.ddev_version.txt
58 |
59 | # Remove anything in the ddev_tarballs directory that don't match current version.
60 | ddev_tarballs="${STAGING_DIR}/ddev_tarballs"
61 | mkdir -p ${ddev_tarballs}
62 |
63 | # Remove anything in staging directory except ddev_tarballs.
64 | # Chmod as on Windows read-only stuff is often unremoveable
65 | chmod -R u+w ${STAGING_DIR}/{*.md,install.sh,sprint,start_sprint.sh} 2>/dev/null || true
66 | rm -rf ${STAGING_DIR}/{*.md,install.sh,sprint,start_sprint.sh}
67 | # Remove anything in ddev_tarballs that is not the latest version
68 | if [ -d "${ddev_tarballs}" ]; then
69 | find "${ddev_tarballs}" -type f -not -name "*${LATEST_VERSION}*" -exec rm '{}' \;
70 | fi
71 |
72 | # Install the beginning items we need in the kit.
73 | cp -r .ddev_version.txt .quicksprint_release.txt sprint start_sprint.* *.md install.sh ${STAGING_DIR}
74 |
75 |
76 | # macOS/Darwin has a oneoff/weird shasum command.
77 | if [ "$OS" = "Darwin" ]; then
78 | SHACMD="shasum -a 256"
79 | fi
80 |
81 | if ! docker --version >/dev/null 2>&1; then
82 | printf "${YELLOW}Docker is required to create package. Please install docker before attempting to use ddev.${RESET}\n"
83 | fi
84 |
85 | cd ${STAGING_DIR}
86 |
87 | printf "
88 | ${GREEN}
89 | ####
90 | # Package docker and other installers (Git For Windows, etc)?
91 | #### \n${RESET}"
92 |
93 | while true; do
94 | read -p "Create installer tarball? (y/n): " INSTALL
95 | case ${INSTALL} in
96 | [Yy]* ) printf "${GREEN}# Downloading installers. \n#### \n${RESET}";
97 | mkdir -p installs
98 | pushd installs >/dev/null
99 | for download_url in ${DOWNLOAD_URLS}; do
100 | echo "Downloading ${download_url##*/} from ${download_url}..."
101 | curl -sSL -O ${download_url}
102 | done
103 | for arch in amd64 arm64; do
104 | echo "Downloading Docker desktop (macOS ${arch})..."
105 | curl -sSL -o docker_desktop_${arch}.dmg https://desktop.docker.com/mac/main/${arch}/Docker.dmg
106 | done
107 | echo "Downloading Docker desktop (Windows)..."
108 | curl -sSL -O https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
109 | popd >/dev/null
110 | break;;
111 |
112 | [Nn]* ) printf "${GREEN}# Continuing script without downloading installers. \n### \n${RESET}";
113 | break;;
114 |
115 | * ) echo "Please answer y or n.";;
116 |
117 | esac
118 | done
119 |
120 | pushd ${ddev_tarballs} >/dev/null
121 | # Download the ddev tarballs if necessary; check to make sure they all have correct sha256.
122 | for tarball in ddev_macos-amd64.$LATEST_VERSION.tar.gz ddev_macos-arm64.$LATEST_VERSION.tar.gz ddev_linux-amd64.$LATEST_VERSION.tar.gz ddev_linux-arm64.$LATEST_VERSION.tar.gz ddev_windows-amd64.$LATEST_VERSION.tar.gz ddev_windows_installer.$LATEST_VERSION.exe ddev_docker_images.arm64.$LATEST_VERSION.tar.xz ddev_docker_images.amd64.$LATEST_VERSION.tar.xz; do
123 | shafile="${tarball}.sha256.txt"
124 |
125 | if ! [ -f "${tarball}" -a -f "${shafile}" ] ; then
126 | echo "Downloading ${tarball} ..."
127 | curl --fail -sSL "$RELEASE_URL/${tarball}" -o "${tarball}"
128 | curl --fail -sSL "$RELEASE_URL/$shafile" -o "${shafile}"
129 | fi
130 | ${SHACMD} -c "${shafile}"
131 | done
132 | popd >/dev/null
133 |
134 | # clone or refresh drupal clone
135 | mkdir -p sprint
136 | git clone --config core.autocrlf=false --config core.eol=lf --config core.filemode=false --quiet https://git.drupalcode.org/project/drupal.git ${STAGING_DIR}/sprint/drupal -b ${SPRINT_BRANCH}
137 | pushd ${STAGING_DIR}/sprint/drupal >/dev/null
138 | cp ${REPO_DIR}/example.gitignore ${STAGING_DIR}/sprint/drupal/.gitignore
139 |
140 | set -x
141 | composer install --quiet
142 | set +x
143 |
144 | popd >/dev/null
145 |
146 | # Copy licenses and COPYING notice.
147 | cp -r ${REPO_DIR}/licenses ${REPO_DIR}/COPYING "$STAGING_DIR/"
148 | cp ${REPO_DIR}/.quicksprint_release.txt $REPO_DIR/.ddev_version.txt "$STAGING_DIR/sprint"
149 |
150 | cd ${STAGING_DIR}
151 |
152 | echo "Creating sprint.tar.xz..."
153 | # Create tar.xz archive using xz command, so we can work on all platforms
154 | # Use --dereference to NOT use symlinks and not break windows tar.
155 | pushd sprint >/dev/null && tar -cJf ../sprint.tar.xz --dereference . && popd >/dev/null
156 | if [ -f ${STAGING_DIR}/sprint} ] ; then chmod -R u+w ${STAGING_DIR}/sprint; fi
157 | rm -rf ${STAGING_DIR}/sprint
158 |
159 | cd ${STAGING_DIR_BASE}
160 | if [ "$INSTALL" != "n" ] ; then
161 | echo "Creating install tarball..."
162 | tar -cf - ${STAGING_DIR_NAME}/installs | gzip -9 >quicksprint_thirdparty_installs.${QUICKSPRINT_RELEASE}.tar.gz
163 | zip -9 -r -q quicksprint_thirdparty_installs.${QUICKSPRINT_RELEASE}.zip ${STAGING_DIR_NAME}/installs
164 | fi
165 | if [ -f ${STAGING_DIR_NAME}/installs ]; then chmod -R u+w ${STAGING_DIR_NAME}/installs; fi
166 | rm -rf ${STAGING_DIR_NAME}/installs
167 | echo "Creating sprint package..."
168 | tar -cf - ${STAGING_DIR_NAME} | gzip -9 > drupal_sprint_package.${QUICKSPRINT_RELEASE}.tar.gz
169 | zip -9 -r -q drupal_sprint_package.${QUICKSPRINT_RELEASE}.zip ${STAGING_DIR_NAME}
170 |
171 | packages=$(ls ${STAGING_DIR_BASE}/drupal_sprint_package*${QUICKSPRINT_RELEASE}*)
172 | printf "${GREEN}####
173 | # The built sprint tarballs and optional install tarballs are now in ${YELLOW}$STAGING_DIR_BASE${GREEN}:
174 | # ${packages:-}
175 | #
176 | # Package is built, staging directory remains in ${STAGING_DIR}.
177 | ####${RESET}\n"
178 |
--------------------------------------------------------------------------------
/sprint/Readme.txt:
--------------------------------------------------------------------------------
1 | To access
2 | Website: http://sprint-[ts].ddev.site:8080/
3 | https://sprint-[ts].ddev.site:8443/
4 | (User:admin Pass:admin)
5 |
6 | Mailhog: http://sprint-[ts].ddev.site:8025/
7 | phpMyAdmin: http://sprint-[ts].ddev.site:8036/
8 | Chat: https://drupal.org/chat to join Drupal Slack or drupalchat.eu!
9 |
10 |
11 | Common ddev commands to know:
12 |
13 | ddev start (-h) [start project]
14 | ddev stop (-h) [stop project, nothing lost]
15 | ddev poweroff [stop all projects and resources, nothing lost]
16 | ddev import-db --src=[path to db] (-h) [import database]
17 | ddev help
18 |
19 | For full ddev documentation see https://ddev.readthedocs.io/
20 | And support on Stack Overflow: https://stackoverflow.com/tags/ddev
21 |
22 | If you need to switch Drupal branches, for example to 9.0.x, you can
23 | use the utility switch_branch.sh. Although the script stashes changes to
24 | avoid losing your changes, you're best to save them away yourself first.
25 | switch_branch.sh also drops your existing database, so after running it
26 | you'll need to do a manual web-based install.
27 |
28 | Example:
29 | ./switch_branch.sh 9.2.x
30 |
--------------------------------------------------------------------------------
/sprint/switch_branch.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This script allows switching drupal branch, for example, from 9.0.x to 8.9.x
4 | # or back
5 |
6 | set -o errexit -o pipefail -o nounset
7 |
8 | if [[ $# != 1 ]]; then
9 | echo "Please provide a branch to switch to. For example './switch_branch.sh 9.2.x'"
10 | exit 1
11 | fi
12 |
13 |
14 | target_branch=$1
15 |
16 | pushd drupal
17 | STASHNAME=switch-branch-${RANDOM}
18 | set -x
19 | ddev start
20 | ddev exec "git fetch && git stash save ${STASHNAME} && git checkout origin/${target_branch}"
21 | # Silly coder always breaks composer install if there's contents in it, because
22 | # the package uses git instead of a zipball. Temporarily change composer.json to
23 | # ignore, gets turned back by checkout of composer.json below.
24 | ddev composer config discard-changes true
25 | ddev composer install --no-interaction
26 | ddev exec "( git checkout composer.json && (git stash show ${STASHNAME} 2>/dev/null && git stash apply ${STASHNAME} || true) )"
27 | ddev exec drush8 si --yes standard --account-pass=admin --db-url=mysql://db:db@db/db --site-name='Drupal Contribution Time!'
28 | set +x
29 | popd >/dev/null
30 | echo "Switched to ${target_branch}"
31 | ddev list
32 |
--------------------------------------------------------------------------------
/start_sprint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This script creates a new drupal instance in the current directory.
4 |
5 | set -o errexit
6 | set -o pipefail
7 | set -o nounset
8 |
9 | SPRINT_BRANCH=9.3.x
10 |
11 | RED='\033[31m'
12 | GREEN='\033[32m'
13 | YELLOW='\033[33m'
14 | RESET='\033[0m'
15 | OS=$(uname)
16 | TIMESTAMP=$(date +"%Y%m%d-%H%M")
17 | SPRINTNAME="sprint-${TIMESTAMP}"
18 | echo ${SPRINTNAME} > .test_sprint_name.txt
19 |
20 | # Extract a new ddev D9 core instance to $CWD/sprint-$TIMESTAMP
21 | mkdir -p ${SPRINTNAME}
22 | echo "Untarring sprint.tar.xz" >&2
23 | tar -xpf sprint.tar.xz -C ${SPRINTNAME}
24 |
25 | # Check Docker is running
26 | if docker run --rm -t busybox:latest ls >/dev/null
27 | then
28 | printf "docker is running, continuing."
29 | else
30 | printf "${RED}Docker is not running and is required for this script, exiting.\n${RESET}"
31 | exit 1
32 | fi
33 |
34 | cd "${SPRINTNAME}/drupal"
35 | echo "Using ddev version $(ddev version| awk '/^cli/ { print $2}') from $(which ddev)"
36 |
37 | ddev config --docroot . --project-type drupal9 --php-version=7.4 --composer-version=2 --mariadb-version=10.3 --http-port=8080 --https-port=8443 --project-name="sprint-${TIMESTAMP}"
38 |
39 | ddev config global --instrumentation-opt-in=false >/dev/null
40 | printf "${YELLOW}Configuring your fresh Drupal instance. This takes a few minutes.${RESET}\n"
41 | printf "${YELLOW}Running ddev start...YOU MAY BE ASKED for your sudo password to add a hostname to /etc/hosts${RESET}\n"
42 | ddev start || (printf "${RED}ddev start failed.${RESET}" && exit 101)
43 | printf "${YELLOW}Running git fetch && git checkout origin/${SPRINT_BRANCH}.${RESET}...\n"
44 | ddev exec "(git fetch && git checkout 'origin/${SPRINT_BRANCH}') || (echo 'ddev exec...git checkout failed' && exit 102)"
45 | printf "${YELLOW}Running 'ddev composer install'${RESET}...\n"
46 | ddev composer install
47 | ddev exec "git checkout /var/www/html/composer.*"
48 |
49 | printf "${YELLOW}Running 'drush8 si' to install drupal.${RESET}...\n"
50 | ddev exec "drush8 si --yes standard --account-pass=admin --db-url=mysql://db:db@db/db --site-name='Drupal Contribution Time'"
51 | printf "${RESET}"
52 | ddev describe
53 |
54 | printf "
55 | ${GREEN}
56 | ####
57 | # Use the following URL's to access your site:
58 | #
59 | # Website: ${YELLOW}http://sprint-${TIMESTAMP}.ddev.site:8080/${GREEN}
60 | # ${YELLOW}https://sprint-${TIMESTAMP}.ddev.site:8443/${GREEN}
61 | # ${YELLOW}(U:admin P:admin)${GREEN}
62 | #
63 | # ${GREEN}Mailhog: ${YELLOW}http://sprint-${TIMESTAMP}.ddev.site:8025/${GREEN}
64 | #
65 | # phpMyAdmin: ${YELLOW}http://sprint-${TIMESTAMP}.ddev.site:8036/${GREEN}
66 | #
67 | # Chat: ${YELLOW}https://drupal.org/chat to join Drupal Slack or https://drupalchat.me${GREEN}
68 | #
69 | # See ${YELLOW}Readme.txt${GREEN} for more information.
70 | ####
71 | ${RESET}
72 | "
73 |
--------------------------------------------------------------------------------
/tests/installation.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 |
3 | # Run these tests from the repo root directory, for example
4 | # bats tests
5 |
6 | function setup {
7 | echo "# setup beginning" >&3
8 | export SPRINT_BRANCH=9.3.x
9 |
10 | ddev poweroff
11 |
12 | export SPRINTDIR=~/sprint
13 | # DRUD_NONINTERACTIVE causes ddev not to try to use sudo and add the hostname
14 | export DRUD_NONINTERACTIVE=true
15 | # Provide DHOST to figure out the docker host addr for curl
16 | DHOST=127.0.0.1
17 | # Extract the IP address we need from DOCKER_HOST, which is formatted like tcp://192.168.99.100:2376
18 | if [ ! -z "${DOCKER_HOST:-}" ]; then DHOST="$(echo ${DOCKER_HOST} | perl -p -e 's/(tcp:\/\/|:[0-9]+$)//g')"; fi
19 | cd ${SPRINTDIR} && ./start_sprint.sh
20 | export SPRINT_NAME=$(cat "${SPRINTDIR}/.test_sprint_name.txt")
21 | echo "# setup complete" >&3
22 | }
23 |
24 | function teardown {
25 | echo "# teardown beginning" >&3
26 | export SPRINT_NAME=$(cat "${SPRINTDIR}/.test_sprint_name.txt")
27 |
28 | ddev delete -O -y ${SPRINT_NAME}
29 | if [ ! -z "${SPRINTDIR}" -a ! -z "${SPRINT_NAME}" -a -d ${SPRINTDIR}/${SPRINT_NAME} ] ; then
30 | chmod -R u+w ${SPRINTDIR}/${SPRINT_NAME}
31 | rm -rf ${SPRINTDIR}/${SPRINT_NAME}
32 | fi
33 | echo "# teardown complete" >&3
34 | }
35 |
36 | @test "check git configuration" {
37 | export SPRINT_NAME=$(cat "${SPRINTDIR}/.test_sprint_name.txt")
38 | cd ${SPRINTDIR}/${SPRINT_NAME}/drupal
39 | [ "$(git config core.eol)" = "lf" ]
40 | [ "$(git config core.autocrlf)" = "false" ]
41 | git log -n 1 --pretty=%d HEAD | grep "origin/${SPRINT_BRANCH}"
42 | }
43 |
44 | @test "check ddev project status and router status, check http status" {
45 | export SPRINT_NAME=$(cat "${SPRINTDIR}/.test_sprint_name.txt")
46 | cd ${SPRINTDIR}/${SPRINT_NAME}/drupal
47 | DESCRIBE=$(ddev describe -j)
48 |
49 | ROUTER_STATUS=$(echo "${DESCRIBE}" | jq -r ".raw.router_status" )
50 | echo "# Test router status (${ROUTER_STATUS})" >&3
51 | if [ "$ROUTER_STATUS" != "healthy" ] ; then
52 | echo "# Router status not healthy (${ROUTER_STATUS})" >&3
53 | echo "# Full DESCRIBE=${DESCRIBE}" >&3
54 | ddev list >&3;
55 | return 101
56 | fi
57 |
58 | echo "# Testing project status" >&3
59 | STATUS=$(echo ${DESCRIBE} | jq -r ".raw.status")
60 | [ "$STATUS" = "running" ]
61 |
62 | echo "# Testing curl reachability for ${NAME}.ddev.site" >&3
63 | NAME=$(echo ${DESCRIBE} | jq -r ".raw.name")
64 | HTTP_PORT=$(echo ${DESCRIBE} | jq -r ".raw.router_http_port")
65 | URL="http://${DHOST}:${HTTP_PORT}"
66 | curl -I -H "Host: ${NAME}.ddev.site" http://127.0.0.1:8080 | tee /tmp/quicksprint_test_base_curl.out | grep 'HTTP/1.1 200'
67 |
68 | echo "# Testing switch_branch.sh"
69 | cd ${SPRINTDIR}/${SPRINT_NAME}
70 | ./switch_branch.sh "9.2.x"
71 | echo "# Testing curl reachability for switch_branch ${NAME}.ddev.site" >&3
72 | curl -I -H "Host: ${NAME}.ddev.site" http://127.0.0.1:8080 | tee /tmp/quicksprint_test_switch_branch_curl.out | grep 'HTTP/1.1 200'
73 |
74 | }
75 |
76 | @test "verify correct architecture for macOS ddev binary" {
77 | if [ "$(uname -s)" != "Darwin" ]; then skip "Skipping because not on macOS"; fi
78 |
79 | arch=$(arch)
80 | case ${arch} in
81 | arm64)
82 | file $(which ddev) | grep arm64
83 | ;;
84 | i386)
85 | file $(which ddev) | grep x86_64
86 | ;;
87 | default)
88 | false
89 | esac
90 | }
91 |
92 | @test "verify correct architecture for macOS pulled images" {
93 | if [ "$(uname -s)" != "Darwin" ]; then skip "Skipping because not on macOS"; fi
94 |
95 | webimage="$(ddev version | awk '/ddev-webserver/ { print $2}')"
96 | image_arch="$(docker image inspect --format "{{json .Architecture }}" ${webimage})"
97 | arch=$(arch)
98 | case ${arch} in
99 | arm64)
100 | [ ${image_arch} = '"arm64"' ]
101 | ;;
102 | i386)
103 | [ ${image_arch} = '"amd64"' ]
104 | ;;
105 | default)
106 | false
107 | ;;
108 | esac
109 | }
--------------------------------------------------------------------------------
/tests/sanetestbot.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Check a testbot or test environment to make sure it's likely to be sane.
4 | # We should add to this script whenever a testbot fails and we can figure out why.
5 |
6 | MIN_DDEV_VERSION=v1.11.0
7 |
8 | set -o errexit
9 | set -o pipefail
10 | set -o nounset
11 |
12 | # thanks to https://stackoverflow.com/a/24067243/215713
13 | function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
14 |
15 | DISK_AVAIL=$(df -k . | awk '/[0-9]%/ { gsub(/%/, ""); print $5}')
16 | if [ ${DISK_AVAIL} -ge 95 ] ; then
17 | echo "Disk usage is ${DISK_AVAIL}% on $(hostname), not usable";
18 | exit 1;
19 | else
20 | echo "Disk usage is ${DISK_AVAIL}% on $(hostname).";
21 | fi
22 |
23 | # Test to make sure docker is installed and working.
24 | # If it doesn't become ready then we just keep this testbot occupied :)
25 | docker ps >/dev/null
26 | while ! docker ps >/dev/null 2>&1 ; do
27 | echo "Waiting for docker to be ready $(date)"
28 | sleep 60
29 | done
30 |
31 | # Test that docker can allocate 80 and 443, get get busybox
32 | docker pull busybox:latest >/dev/null
33 | # Try the docker run command twice because of the really annoying mkdir /c: file exists bug
34 | # Apparently https://github.com/docker/for-win/issues/1560
35 | (sleep 1 && (docker run --rm -t -p 80:80 -p 443:443 -p 1081:1081 -p 1082:1082 -v /$HOME:/tmp/junker99 busybox:latest ls //tmp/junker99 >/dev/null) || (sleep 1 && docker run --rm -t -p 80:80 -p 443:443 -p 1081:1081 -p 1082:1082 -v /$HOME:/tmp/junker99 busybox:latest ls //tmp/junker99 >/dev/null ))
36 |
37 | # Check that required commands are available.
38 | for command in curl jq zcat perl zip bats composer php; do
39 | command -v $command >/dev/null || ( echo "Did not find command installed '$command'" && exit 2 )
40 | done
41 |
42 | if [ "$(go env GOOS)" = "windows" -a "$(git config core.autocrlf)" != "false" ] ; then
43 | echo "git config core.autocrlf is not set to false on windows"
44 | exit 3
45 | fi
46 |
47 | CURRENT_DDEV_VERSION=$(ddev --version | awk '{ print $3 }')
48 | if version_gt ${MIN_DDEV_VERSION} ${CURRENT_DDEV_VERSION} ; then
49 | echo "ddev version in $(command -v ddev) is inadequate: $(ddev --version)"
50 | exit 4
51 | fi
52 |
53 | echo "=== testbot $HOSTNAME seems to be set up OK ==="
54 |
--------------------------------------------------------------------------------
/tests/test_drupal_quicksprint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -o errexit
4 | set -o pipefail
5 | set -o nounset
6 |
7 | # This test script should be run from the repo root
8 | UNTAR_LOCATION=/tmp
9 | UNTARRED_PACKAGE=$UNTAR_LOCATION/drupal_sprint_package
10 | export SPRINTDIR=~/sprint
11 | export QUICKSPRINT_RELEASE=$(cat .quicksprint_release.txt)
12 |
13 | # For testing, use a custom version of ddev, ignore one that might otherwise be in path.
14 | export DDEV_INSTALL_DIR=~/tmp/quicksprint_ddev_tmp
15 | mkdir -p "$DDEV_INSTALL_DIR"
16 | export PATH="$DDEV_INSTALL_DIR:$PATH"
17 |
18 | # Add /usr/local/bin to path for git-bash, where it may not exist.
19 | export PATH="$PATH:/usr/local/bin"
20 |
21 | tests/sanetestbot.sh || ( echo "sanetestbot.sh failed, test machine is not ready for duty" && exit 1 )
22 |
23 | function cleanup {
24 | ddev poweroff
25 | rm -rf /tmp/drupal_sprint_package "$DDEV_INSTALL_DIR"
26 | if [ ! -z "${SOURCE_TARBALL_LOCATION:-}" ] ; then rm -f ${SOURCE_TARBALL_LOCATION:-nopedontrm}; fi
27 | }
28 | trap cleanup EXIT
29 |
30 |
31 | # Clean up any previous existing stuff
32 | (mkdir -p "${SPRINTDIR}" && chmod -R ugo+w "${SPRINTDIR}" && rm -rf ${SPRINTDIR}/sprint-2* ) || true
33 | rm -rf "$UNTARRED_PACKAGE"
34 |
35 | echo n | ./package_drupal_script.sh || ( echo "package_drupal_script.sh failed" && exit 2 )
36 | # SOURCE_TARBALL_LOCATION isn't valid until package_drupal_script has run.
37 | SOURCE_TARBALL_LOCATION=~/tmp/drupal_sprint_package.${QUICKSPRINT_RELEASE}.tar.gz
38 |
39 | # Untar source tarball
40 | tar -C "$UNTAR_LOCATION" -zxf ${SOURCE_TARBALL_LOCATION:-}
41 |
42 | if [ ! -f "$UNTARRED_PACKAGE/README.md" -o ! -f "$UNTARRED_PACKAGE/COPYING" -o ! -d "$UNTARRED_PACKAGE/licenses" ]; then
43 | echo "Packaged documents are missing from package (in $UNTARRED_PACKAGE)"
44 | exit 3
45 | fi
46 |
47 | # Run install.sh
48 | (cd "$UNTARRED_PACKAGE" && printf 'y\ny\n' | ./install.sh) || ( echo "Failed to install.sh" && exit 4 )
49 |
50 | # /usr/local/bin is added for git-bash, where it may not be in the $PATH.
51 | export PATH="/usr/local/bin:$PATH"
52 | bats tests || ( echo "bats tests failed" && exit 5 )
53 |
54 | echo "Test successful"
55 |
--------------------------------------------------------------------------------