metabase-bin-0.54.3tgbugs-overlay
download
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE=""
inherit java-pkg-2
MY_PN="${PN%%-bin}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Get business intelligence from databases"
HOMEPAGE="https://www.metabase.com/"
SRC_URI="http://downloads.metabase.com/v${PV}/metabase.jar -> ${MY_P}.jar"
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="postgres mysql"
COMMON_DEP=""
IDEPEND="
acct-group/metabase
acct-user/metabase"
RDEPEND=">=virtual/jre-1.8
mysql? ( virtual/mysql )
postgres? ( dev-db/postgresql:= )"
DEPEND=">=virtual/jdk-1.8"
PACKAGE="${PN}-${SLOT}"
PACKAGE_SHARE="/usr/share/${PACKAGE}"
PACKAGE_FOLDER="/usr/share/${MY_PN}"
EXECUTABLE="/usr/bin/${MY_PN}"
pkg_setup() {
if ( use postgres && use mysql ); then
ewarn "metabase can only use a single backend at a time"
die "mysql and postgres use flags are mutually exclusive"
fi
}
src_unpack() {
mkdir "${S}"
cp "${DISTDIR}/${A}" "${S}"
}
src_install() {
keepdir "/var/log/${MY_PN}"
fowners ${MY_PN}:${MY_PN} "/var/log/${MY_PN}"
newinitd "${FILESDIR}/metabase.rc" ${MY_PN}
newconfd "${FILESDIR}/metabase.confd" ${MY_PN}
insinto /etc
newins "${FILESDIR}/${MY_PN}.conf.base" ${MY_PN}.conf
CFG="${ED}/etc/${MY_PN}.conf"
if ( use mysql || use postgres ); then
if use mysql; then
echo "# mysql" >> "${CFG}"
echo "MB_DB_TYPE=mysql" >> "${CFG}"
echo "MB_DB_PORT=3306" >> "${CFG}"
else
echo "# postgres" >> "${CFG}"
echo "MB_DB_TYPE=postgres" >> "${CFG}"
echo "MB_DB_PORT=5432" >> "${CFG}"
fi
echo "# database" >> "${CFG}"
echo "MB_DB_HOST=localhost" >> "${CFG}"
echo "MB_DB_DBNAME=metabase" >> "${CFG}"
echo "MB_DB_USER=metabase" >> "${CFG}"
echo "MB_DB_PASS=" >> "${CFG}"
else
echo "# default h2 embedded database" >> "${CFG}"
echo "MB_DB_TYPE=h2" >> "${CFG}"
echo "MB_DB_FILE=/var/lib/${MY_PN}/h2.db" >> "${CFG}"
fi
echo >> "${CFG}"
fperms 0600 /etc/${MY_PN}.conf
dodir "${PACKAGE_SHARE}"
cp "${S}/${MY_P}.jar" "${ED}${PACKAGE_SHARE}"
java-pkg_regjar "${ED}${PACKAGE_SHARE}/${MY_P}.jar"
dodir "/usr/bin"
echo '#!/usr/bin/env sh' > "${ED}${EXECUTABLE}"
echo "/usr/bin/java -jar \"${PACKAGE_FOLDER}/${MY_PN}.jar\""' $@' >> "${ED}${EXECUTABLE}"
chmod 0755 "${ED}${EXECUTABLE}"
dodir ${PACKAGE_FOLDER}
dosym "${PACKAGE_SHARE}/${MY_P}.jar" "${PACKAGE_FOLDER}/${MY_PN}.jar"
}
pkg_config() {
einfo "Configuring metabase ..."
if use postgres; then
einfo "Creating metabase postgres user ..."
su - postgres -c "psql -c \"CREATE ROLE metabase LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE\""
su - postgres -c "psql -c \"CREATE DATABASE metabase WITH OWNER = 'metabase' ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE='en_US.UTF-8' CONNECTION LIMIT = -1\""
fi
}