diff options
Diffstat (limited to '')
-rw-r--r-- | build/apt/DEBIAN/control | 16 | ||||
-rwxr-xr-x | build/apt/DEBIAN/postinst | 143 | ||||
-rwxr-xr-x | build/apt/DEBIAN/prerm | 30 | ||||
-rw-r--r-- | build/apt/DEBIAN/templates | 68 |
4 files changed, 257 insertions, 0 deletions
diff --git a/build/apt/DEBIAN/control b/build/apt/DEBIAN/control new file mode 100644 index 0000000..0129652 --- /dev/null +++ b/build/apt/DEBIAN/control @@ -0,0 +1,16 @@ +Package: etherpad-%BRANCH% +Priority: optional +Section: web +Maintainer: penSec.IT UG (haftungsbeschränkt) <etherpad@pensec.it> +Architecture: all +Version: 1.0-%REVISION% +Depends: debconf (>= 0.2.17), sun-java6-jre, scala, mysql-server, mysql-client, libmysql-java, bash +Description: Etherpad is... + EtherPad is the only web-based word processor that allows people to work + together in really real-time. + . + When multiple people edit the same document simultaneously, any changes are + instantly reflected on everyone's screen. The result is a new and productive + way to collaborate on text documents, useful for meeting notes, drafting + sessions, education, team programming, and more. + diff --git a/build/apt/DEBIAN/postinst b/build/apt/DEBIAN/postinst new file mode 100755 index 0000000..f872508 --- /dev/null +++ b/build/apt/DEBIAN/postinst @@ -0,0 +1,143 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +set -e +. /usr/share/debconf/confmodule + +if [ -n "$ETHERPAD_DEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +db_version 2.0 + + + + + +##### +# +# Propts the user for a configuration value and writes it into a property file +# +# @param $1 Name of the debconfig template to prompt +# @param $2 File to write the answer to +# @param $3 deprecated +# +function configuration_property() { + TEMPLATE="${1}" + PROPERTY_FILE="/etc/etherpad/properties/${2}" + PLACEHOLDER="${3}" + + PROPERTY="" + if [ -f "${PROPERTY_FILE}" ]; then + PROPERTY=`cat "${PROPERTY_FILE}"` + fi + db_input high "etherpad-%BRANCH%/${TEMPLATE}" || true + db_go + + db_get "etherpad-%BRANCH%/${TEMPLATE}" + if [ "" != "$RET" ]; then + PROPERTY="$RET" + fi + + echo "${PROPERTY}" > "${PROPERTY_FILE}" +} +# +##### + + + +case "$1" in + + configure) + + # Create system user + if ! getent passwd etherpad > /dev/null ; then + echo 'Adding system-user for etherpad' 1>&2 + adduser --system --group --quiet \ + --home /usr/share/etherpad --no-create-home \ + --disabled-login --force-badname etherpad + fi + + + # Give user the rights to write into the log & data directory + if [ -d "/var/log/etherpad" ]; then + EMPTY_STATEMENT="true" + else + mkdir -p "/var/log/etherpad" + fi + chown -R etherpad:etherpad "/var/log/etherpad" + + if [ -d "/usr/share/etherpad/etherpad/data" ]; then + EMPTY_STATEMENT="true" + else + mkdir -p "/usr/share/etherpad/etherpad/data" + fi + chown -R etherpad:etherpad "/usr/share/etherpad/etherpad/data" + + + # Give user the rights do write everywhere, did not yet figure + # out which rights are necessary, exactly + chown -R etherpad:etherpad "/usr/share/etherpad" + ;; + +esac + + + +##### +# +# Get configuration properties +# +configuration_property "is_production" "is-production" "IS_PRODUCTION" +configuration_property "admin_password" "admin-password" "ADMIN_PASSWORD" +configuration_property "port" "port" "PORT" +configuration_property "database_host" "database-host" "DATABASE_HOST" +configuration_property "database_port" "database-port" "DATABASE_PORT" +configuration_property "database_name" "database-name" "DATABASE_NAME" +configuration_property "database_username" "database-username" "DATABASE_USERNAME" +configuration_property "database_password" "database-password" "DATABASE_PASSWORD" +# +##### + + + + + +##### +# +# MySQL-Autosetup should be discussed. Simply calling setup-myql-db.sh is +# insufficient +# +# # Auto-setup database +# db_input medium "etherpad-%BRANCH%/setup_database" || true +# db_go +# +# db_get "etherpad-%BRANCH%/setup_database" +# if [ "$RET" = "true" ]; then +# # TODO +# fi +# +##### + diff --git a/build/apt/DEBIAN/prerm b/build/apt/DEBIAN/prerm new file mode 100755 index 0000000..9a9f516 --- /dev/null +++ b/build/apt/DEBIAN/prerm @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +set -e + +# Remove log+data directories, otherwise uninstall will fail +rm -rf /var/log/etherpad +rm -rf /usr/share/etherpad/etherpad/data + diff --git a/build/apt/DEBIAN/templates b/build/apt/DEBIAN/templates new file mode 100644 index 0000000..d7c6f36 --- /dev/null +++ b/build/apt/DEBIAN/templates @@ -0,0 +1,68 @@ +Template: etherpad-%BRANCH%/is_production +Type: boolean +Default: false +Description: Install as production mode? + Do you wish to install etherpad in production mode? + . + Note: be aware that etherpad is under active development and not yet ready + for general deployment! + +Template: etherpad-%BRANCH%/admin_password +Type: password +Default: password +Description: etherpad administration password + Please insert the administration password, default is password. + +Template: etherpad-%BRANCH%/port +Type: string +Default: 9000 +Description: etherpad tcp port + Please insert the port on which etherpad should listen, default is 9000. You + cannot use privileged ports (<= 1024). + . + If you want to make etherpad available on port 80/443 use etherpad-proxy which + will install a webserver (like nginx or apache) to proxy dynamic etherpad + contents and serve static contents directly. + +Template: etherpad-%BRANCH%/setup_database +Type: boolean +Default: false +Description: Do yo want etherpad to create a database for you? + Do you want to use the database wizard to setup a database for etherpad to + use? + . + Note: This wizard only works with local mysql installations. If you want to use + a remote mysql database, then answer no and edit + /etc/etherpad/etherpad.properties appropriatly. + +Template: etherpad-%BRANCH%/database_host +Type: string +Default: localhost +Description: MySQL database hostname + Please insert the database hostname, default is localhost. + +Template: etherpad-%BRANCH%/database_port +Type: string +Default: 3306 +Description: MySQL database port + Please insert the database port, default is 3306. + +Template: etherpad-%BRANCH%/database_name +Type: string +Default: etherpad +Description: MySQL database name + Please insert the database name, default is etherpad. + +Template: etherpad-%BRANCH%/database_username +Type: string +Default: etherpad +Description: MySQL database username + Please insert the database username, default is etherpad. + +Template: etherpad-%BRANCH%/database_password +Type: password +Default: password +Description: MySQL database password + Please insert the password for the specified database user, default is + password. + |