From bd16b61a2be9d158778244c3e2b184a65a496e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?coadde=20=5BM=C3=A1rcio=20Alexandre=20Silva=20Delgado=5D?= Date: Sat, 29 Aug 2015 08:22:51 -0300 Subject: replace all db-* exec with xbs, create all db-* compability, and add DISTRO_TYPE on all platform configs --- src/bin/db-import | 23 +++- src/bin/db-init | 34 +---- src/bin/db-pkg-add | 76 ---------- src/bin/db-pkg-rm | 72 ---------- src/bin/db-repo-add | 23 +++- src/bin/db-repo-remove | 23 +++- src/bin/xbs | 206 ++++++++++++++++++++++++++++ src/etc/xbs.d/gnu+hurd_abslibre.cfg | 1 + src/etc/xbs.d/gnu+hurd_rolling.cfg | 1 + src/etc/xbs.d/gnu+hurd_stable.cfg | 1 + src/etc/xbs.d/gnu+hurd_testing.cfg | 1 + src/etc/xbs.d/gnu+linux_abslibre-arm.cfg | 1 + src/etc/xbs.d/gnu+linux_abslibre-legacy.cfg | 1 + src/etc/xbs.d/gnu+linux_abslibre.cfg | 1 + src/etc/xbs.d/gnu+linux_rolling.cfg | 1 + src/etc/xbs.d/gnu+linux_stable.cfg | 1 + src/etc/xbs.d/gnu+linux_testing.cfg | 1 + 17 files changed, 285 insertions(+), 182 deletions(-) mode change 120000 => 100644 src/bin/db-import mode change 100755 => 100644 src/bin/db-init delete mode 100755 src/bin/db-pkg-add delete mode 100755 src/bin/db-pkg-rm mode change 120000 => 100644 src/bin/db-repo-add mode change 120000 => 100644 src/bin/db-repo-remove create mode 100644 src/bin/xbs diff --git a/src/bin/db-import b/src/bin/db-import deleted file mode 120000 index fc0dcd8..0000000 --- a/src/bin/db-import +++ /dev/null @@ -1 +0,0 @@ -db-sync \ No newline at end of file diff --git a/src/bin/db-import b/src/bin/db-import new file mode 100644 index 0000000..f5e445e --- /dev/null +++ b/src/bin/db-import @@ -0,0 +1,22 @@ +#!/bin/bash +# X Build System +# Copyright (C) 2012-2015 Parabola Hackers + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" + +FLAGS=("${@}") + +RUN_DIR="xbs import ${FLAGS[@]}" diff --git a/src/bin/db-init b/src/bin/db-init old mode 100755 new mode 100644 index 42574a4..624fb7f --- a/src/bin/db-init +++ b/src/bin/db-init @@ -1,5 +1,5 @@ #!/bin/bash -# Creates the repository structure defined in config +# X Build System # Copyright (C) 2012-2015 Parabola Hackers # This program is free software: you can redistribute it and/or modify @@ -17,34 +17,6 @@ CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" -source "${CONFIG_DIR}/xbs.cfg" -source "${SHARE_DIR}/db-functions" +FLAGS=("${@}") -platforms=("${@:1}") - -db-init_run() { - mkdir -p -- "${PKG_MAIN_POOLS}" "${SRC_MAIN_POOLS}" "${CLEANUP_DESTDIR}" "${SOURCE_CLEANUP_DESTDIR}" "${STAGING}" -} - -for '_platform' in "${PLATFORMS[@]}"; do - if [ "${#}" -eq '0' ]; then - source "${CONFIG_DIR}/xbs.d/${_platform}.cfg" - - db-init_run - else - for 'platform' in "${platforms[@]}"; do - # Rename ("${plataform}") to easily script usage - _platform_name="${platform/\//+}" _platform_name="${_platforms_name,,}" - - if [ "${_platform_name}" == "${platform}" ]; then - source "${CONFIG_DIR}/xbs.d/${_platform_name}.cfg" - - db-init_run - else - die "This %s plataform doesn't exist" "${plataform}" - fi - done - fi -done - -# "${BIN_DIR}/db-repo-add" -p "${_platform}" "${PKG_REPOS[@]}" +RUN_DIR="xbs init ${FLAGS[@]}" diff --git a/src/bin/db-pkg-add b/src/bin/db-pkg-add deleted file mode 100755 index 718e7d4..0000000 --- a/src/bin/db-pkg-add +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -# Add package to repository defined in config -# Copyright (C) 2012-2015 Parabola Hackers - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -CONFIG_DIR="$(dirname "$(readlink -e "${0}")")/etc" - -source "${CONFIG_DIR}/xbs.cfg" -source "${SHARE_DIR}/db-functions" - -if [ "${#}" -lt '4' ]; then - msg "usage: %s ..." "${0##*/}" - exit 1 -fi - -plataform="${1}" -repo="${2}" -arch="${3}" -pkg_files=("${@:4}") - -for '_platform' in "${PLATFORMS[@]}"; do - # Rename ("${plataform}") to easily script usage - _platform_name="${plataform/\//+}" _platform_name="${_platform_name,,}" - - if [ "${_platform_name}" == "${_platform}" ]; then - source "${CONFIG_DIR}/xbs.d/${_platform}.cfg" - - repo_path="${REPO_DIR}/${repo}/os" - - if ! check_repo_permission "${repo}"; then - die "You don't have permission to add packages to %s" "${repo}" - fi - - if [ "${arch}" == "{any}" ]; then - tarches=("${ARCHES[@]}") - else - tarches=("${arch}") - fi - - for 'tarch' in "${tarches[@]}"; do - if [[ ! -d "${repo_path} ]]; then - die "This [%s] doesn't exist" "${repo}" - elif [[ ! -d "${repo_path}/${tarch}" ]]; then - die "This [%s] doesn't support %s archictecture" "${repo}" "${arch}" - else - repo_lock "${repo}" "${tarch}" || exit 1 - fi - done - - for 'tarch' in "${tarches[@]}"; do - for 'pkg_file' in "${pkg_files[@]}"; do - if [[ ! -f "${repo_path}/${arch}/${pkg_file##*/}" ]]; then - die "Package file %s not found in %s" "${pkg_file##*/}" "${repo_path}/${arch}/" - else - msg "Adding %s to [%s]..." "${pkg_file}" "${repo}" - fi - done - pkg_repo_add "${repo}" "${tarch}" "${pkg_files[@]}" - repo_unlock "${repo}" "${tarch}" - done - else - die "This %s plataform doesn't exist" "${plataform}" - fi -done diff --git a/src/bin/db-pkg-rm b/src/bin/db-pkg-rm deleted file mode 100755 index 1a651c4..0000000 --- a/src/bin/db-pkg-rm +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# Remove package to repository defined in config -# Copyright (C) 2012-2015 Parabola Hackers - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -CONFIG_DIR="$(dirname "$(readlink -e "${0}")")/etc" - -source "${CONFIG_DIR}/xbs.cfg" -source "${SHARE_DIR}/db-functions" - -if [ "${#}" -lt '4' ]; then - msg "usage: %s ..." "${0##*/}" - exit 1 -fi - -plataform="${1}" -repo="${2}" -arch="${3}" -pkg_names=("${@:4}") - -for '_platform' in "${PLATFORMS[@]}"; do - # Rename ("${plataform}") to easily script usage - _platform_name="${plataform/\//+}" _platform_name="${_platform_name,,}" - - if [ "${_platform_name}" == "${_platform}" ]; then - source "${CONFIG_DIR}/xbs.d/${_platform}.cfg" - - repo_path="${REPO_DIR}/${repo}/os" - - if ! check_repo_permission "${repo}"; then - die "You don't have permission to remove packages to %s" "${repo}" - fi - - if [ "${arch}" == "{any}" ]; then - tarches=("${ARCHES[@]}") - else - tarches=("${arch}") - fi - - for 'tarch' in "${tarches[@]}"; do - if [[ ! -d "${repo_path} ]]; then - die "This [%s] doesn't exist" "${repo}" - elif [[ ! -d "${repo_path}/${tarch}" ]]; then - die "This [%s] doesn't support %s archictecture" "${repo}" "${arch}" - else - repo_lock "${repo}" "${tarch}" || exit 1 - fi - done - - for 'tarch' in "${tarches[@]}"; do - for 'pkg_name' in "${pkg_names[@]}"; do - msg "Removing %s from [%s]..." "${pkg_name}" "${repo}" - done - pkg_repo_rm "${repo}" "${tarch}" "${pkgnames[@]}" - repo_unlock "${repo}" "${tarch}" - done - else - die "This %s plataform doesn't exist" "${plataform}" - fi -done diff --git a/src/bin/db-repo-add b/src/bin/db-repo-add deleted file mode 120000 index 94f9cee..0000000 --- a/src/bin/db-repo-add +++ /dev/null @@ -1 +0,0 @@ -db-pkg-add \ No newline at end of file diff --git a/src/bin/db-repo-add b/src/bin/db-repo-add new file mode 100644 index 0000000..6969746 --- /dev/null +++ b/src/bin/db-repo-add @@ -0,0 +1,22 @@ +#!/bin/bash +# X Build System +# Copyright (C) 2012-2015 Parabola Hackers + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" + +FLAGS=("${@}") + +RUN_DIR="xbs add ${FLAGS[@]}" diff --git a/src/bin/db-repo-remove b/src/bin/db-repo-remove deleted file mode 120000 index be2508d..0000000 --- a/src/bin/db-repo-remove +++ /dev/null @@ -1 +0,0 @@ -db-pkg-rm \ No newline at end of file diff --git a/src/bin/db-repo-remove b/src/bin/db-repo-remove new file mode 100644 index 0000000..e3c29dd --- /dev/null +++ b/src/bin/db-repo-remove @@ -0,0 +1,22 @@ +#!/bin/bash +# X Build System +# Copyright (C) 2012-2015 Parabola Hackers + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" + +FLAGS=("${@}") + +RUN_DIR="xbs rm ${FLAGS[@]}" diff --git a/src/bin/xbs b/src/bin/xbs new file mode 100644 index 0000000..7b5bea6 --- /dev/null +++ b/src/bin/xbs @@ -0,0 +1,206 @@ +#!/bin/bash +# X Build System +# Copyright (C) 2012-2015 Parabola Hackers + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +############################################################## + +xbs_error_platform-not-found() { + die "This %s plataform doesn't exist" "${plataform}" +} + +xbs_rename-variable_platform-config() { + # Rename ("${_plataform}") to easily script usage + _platform="${_platform/\//+}" + _platform="${_platforms,,}" +} + +xbs_source_platform-config() { + source "${PLATAFORM_CONFIG}" +} + +xbs_variable_platform-config() { + PLATAFORM_CONFIG="${CONFIG_DIR}/xbs.d/${_platform}.cfg" +} + +xbs-add() { + xbs-add_check-permission + xbs-pkg + for 'tarch' in "${tarches[@]}"; do + for 'pkg_file' in "${pkg_files[@]}"; do + if [[ ! -f "${repo_path}/${arch}/${pkg_file##*/}" ]]; then + die "Package file %s not found in %s" "${pkg_file##*/}" "${repo_path}/${arch}/" + else + msg "Adding %s to [%s]..." "${pkg_file}" "${repo}" + fi + done + pkg_repo_add "${repo}" "${tarch}" "${pkg_files[@]}" + repo_unlock "${repo}" "${tarch}" + done +} + +xbs-add_check-permission() { + if ! check_repo_permission "${repo}"; then + die "You don't have permission to add packages to %s" "${repo}" + fi +} + +xbs-init() { + mkdir -p -- "${PKG_MAIN_POOLS}" "${SRC_MAIN_POOLS}" "${CLEANUP_DESTDIR}" "${SOURCE_CLEANUP_DESTDIR}" "${STAGING}" + # "${BIN_DIR}/db-repo-add" "${_platform}" "${PKG_REPOS[@]}" +} + +xbs-pkg() { + repo_path="${REPO_DIR}/${repo}/os" + if [ "${arch}" == "{any}" ]; then + tarches=("${ARCHES[@]}") + else + tarches=("${arch}") + fi + for 'tarch' in "${tarches[@]}"; do + if [[ ! -d "${repo_path} ]]; then + die "This [%s] doesn't exist" "${repo}" + elif [[ ! -d "${repo_path}/${tarch}" ]]; then + die "This [%s] doesn't support %s archictecture" "${repo}" "${arch}" + else + repo_lock "${repo}" "${tarch}" || exit 1 + fi + done +} + +xbs-rm() { + xbs-rm_check-permission + xbs-pkg + for 'tarch' in "${tarches[@]}"; do + for 'pkg_name' in "${pkg_names[@]}"; do + msg "Removing %s from [%s]..." "${pkg_name}" "${repo}" + done + pkg_repo_rm "${repo}" "${tarch}" "${pkgnames[@]}" + repo_unlock "${repo}" "${tarch}" + done +} + +xbs-rm_check-permission() { + if ! check_repo_permission "${repo}"; then + die "You don't have permission to remove packages to %s" "${repo}" + fi +} + + +xbs-sync() { + +} + +############################################################## + +CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" + +source "${CONFIG_DIR}/xbs.cfg" +source "${SHARE_DIR}/xbs-functions" + +if [ "${#}" -eq '0' ]; then + msg "usage: %s {add,init,rm,sync} ..." "${0##*/}" +fi + +rules=${1} + +case "${rules}" in + add) + # Add package to repository defined in config + if [ "${#}" -lt '5' ]; then + msg "usage: %s add ..." "${0##*/}" + exit 1 + } + platform="${2}" + repo="${3}" + arch="${4}" + pkg_files=("${@:5}") + for '_platform' in "${platforms[@]}"; do + xbs_rename-variable_platform-config + xbs_variable_platform-config + if [ -f "${PLATAFORM_CONFIG}" ]; then + xbs_source_platform-config + xbs-add + else + xbs_error_platform-not-found + fi + done + ;; + init) + # Creates the repository structure defined in config + platforms=("${@:2}") + if [ "${#}" -lt '2' ]; then + for '_platform' in "${PLATFORMS[@]}"; do + xbs_variable_platform-config + xbs_source_platform-config + xbs-init + done + else + for '_platform' in "${platforms[@]}"; do + xbs_rename-variable_platform-config + xbs_variable_platform-config + if [ -f "${PLATAFORM_CONFIG}" ]; then + xbs_source_platform-config + xbs-init + else + xbs_error_platform-not-found + fi + done + fi + ;; + rm|remove) + # Remove package to repository defined in config + if [ "${#}" -lt '5' ]; then + msg "usage: %s rm ..." "${0##*/}" + exit 1 + fi + platform="${2}" + repo="${3}" + arch="${4}" + pkg_names=("${@:5}") + for '_platform' in "${platforms[@]}"; do + xbs_rename-variable_platform-config + xbs_variable_platform-config + if [ -f "${PLATAFORM_CONFIG}" ]; then + xbs_source_platform-config + xbs-rm + else + xbs_error_platform-not-found + fi + done + ;; + sync|import) + # Import and sync the derivated repositories based on info contained in repo.db files + platforms=("${@:2}") + if [ "${#}" -lt '2' ]; then + for '_platform' in "${DD_PLATFORMS[@]}"; do + xbs_variable_platform-config + xbs_source_platform-config + xbs-sync + done + else + for '_platform' in "${platforms[@]}"; do + xbs_rename-variable_platform-config + xbs_variable_platform-config + if [ -f "${PLATAFORM_CONFIG}" && "${DISTRO_TYPE}" == 'derivated' ]; then + xbs_source_platform-config + xbs-sync + else + xbs_error_platform-not-found + fi + done + fi + ;; +esac diff --git a/src/etc/xbs.d/gnu+hurd_abslibre.cfg b/src/etc/xbs.d/gnu+hurd_abslibre.cfg index 3d066ce..3a08bef 100644 --- a/src/etc/xbs.d/gnu+hurd_abslibre.cfg +++ b/src/etc/xbs.d/gnu+hurd_abslibre.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Hurd' PLATFORM='gnu+hurd' # Software Development Distributions +DISTRO_TYPE='derivated' SDD_NAME='ABSLibre' # rolling-release SDD='abslibre' diff --git a/src/etc/xbs.d/gnu+hurd_rolling.cfg b/src/etc/xbs.d/gnu+hurd_rolling.cfg index f056f70..a1abbb2 100644 --- a/src/etc/xbs.d/gnu+hurd_rolling.cfg +++ b/src/etc/xbs.d/gnu+hurd_rolling.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Hurd' PLATFORM='gnu+hurd' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='Rolling Release' # rolling-release SDD='rolling-release' diff --git a/src/etc/xbs.d/gnu+hurd_stable.cfg b/src/etc/xbs.d/gnu+hurd_stable.cfg index 2213e44..e896fd2 100644 --- a/src/etc/xbs.d/gnu+hurd_stable.cfg +++ b/src/etc/xbs.d/gnu+hurd_stable.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Hurd' PLATFORM='gnu+hurd' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='MiniCat' # stable SDD='minicat' diff --git a/src/etc/xbs.d/gnu+hurd_testing.cfg b/src/etc/xbs.d/gnu+hurd_testing.cfg index 09076c9..6f95a3f 100644 --- a/src/etc/xbs.d/gnu+hurd_testing.cfg +++ b/src/etc/xbs.d/gnu+hurd_testing.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Hurd' PLATFORM='gnu+hurd' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='WaterBird' # testing SDD='waterbird' diff --git a/src/etc/xbs.d/gnu+linux_abslibre-arm.cfg b/src/etc/xbs.d/gnu+linux_abslibre-arm.cfg index 1d70358..e666f8f 100644 --- a/src/etc/xbs.d/gnu+linux_abslibre-arm.cfg +++ b/src/etc/xbs.d/gnu+linux_abslibre-arm.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='derivated' SDD_NAME='ABSLibre-ARM' # rolling-release SDD='abslibre-arm' diff --git a/src/etc/xbs.d/gnu+linux_abslibre-legacy.cfg b/src/etc/xbs.d/gnu+linux_abslibre-legacy.cfg index f32b037..6ef3adb 100644 --- a/src/etc/xbs.d/gnu+linux_abslibre-legacy.cfg +++ b/src/etc/xbs.d/gnu+linux_abslibre-legacy.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='derivated' SDD_NAME='ABSLibre' # rolling-release SDD='abslibre' diff --git a/src/etc/xbs.d/gnu+linux_abslibre.cfg b/src/etc/xbs.d/gnu+linux_abslibre.cfg index 416589e..a552714 100644 --- a/src/etc/xbs.d/gnu+linux_abslibre.cfg +++ b/src/etc/xbs.d/gnu+linux_abslibre.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='derivated' SDD_NAME='ABSLibre' # rolling-release SDD='abslibre' diff --git a/src/etc/xbs.d/gnu+linux_rolling.cfg b/src/etc/xbs.d/gnu+linux_rolling.cfg index c09bb9a..b94e481 100644 --- a/src/etc/xbs.d/gnu+linux_rolling.cfg +++ b/src/etc/xbs.d/gnu+linux_rolling.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='Rolling Release' # rolling-release SDD='rolling-release' diff --git a/src/etc/xbs.d/gnu+linux_stable.cfg b/src/etc/xbs.d/gnu+linux_stable.cfg index 77b5ac4..0c572a2 100644 --- a/src/etc/xbs.d/gnu+linux_stable.cfg +++ b/src/etc/xbs.d/gnu+linux_stable.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='MiniCat' # stable SDD='minicat' diff --git a/src/etc/xbs.d/gnu+linux_testing.cfg b/src/etc/xbs.d/gnu+linux_testing.cfg index d7a3e1e..2c7d7d8 100644 --- a/src/etc/xbs.d/gnu+linux_testing.cfg +++ b/src/etc/xbs.d/gnu+linux_testing.cfg @@ -5,6 +5,7 @@ PLATFORM_NAME='GNU/Linux-libre' PLATFORM='gnu+linux' # Software Development Distributions +DISTRO_TYPE='native' SDD_NAME='WaterBird' # testing SDD='waterbird' -- cgit v1.2.3