diff --git a/www-apps/pleroma/Manifest b/www-apps/pleroma/Manifest index d955335..5d6bbba 100644 --- a/www-apps/pleroma/Manifest +++ b/www-apps/pleroma/Manifest @@ -1,14 +1,15 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 +Hash: SHA512 AUX syslog.exs 193 BLAKE2B 63ec05041a10b7f3a5c7fbd8bf454819eafbd98efd635a2888d7db7333e212a872ea212889bb9ee81c1810bf9f55d6d7d7133e0a6619d23c9e3bdcac04d70c73 SHA512 fd47e00575a64cd519a1229ca429059eb9ca5c0a1e8454b56995606e25f9fcfad0107d92207eab41aad36ccf30b506a5475781225274fc55841fd55ec74928f1 EBUILD pleroma-2.0.1.ebuild 3500 BLAKE2B c12303771fd88cf5fc74b6f68905bbe2128cd993002ddc3add447cfff7eba259ac1c45c60a95aaf35a640a30719f790c8e0a54a147908ffbef23a01fdfb69826 SHA512 9271665bf5def7834b844cdbdd5268fd6478e74d29616ad6051a471f28dc26c18e43b622d69a4b61fe28da9e5fc58c2dd4fb1c1188641549750f072a28bcf4d9 EBUILD pleroma-2.0.2.ebuild 3500 BLAKE2B c12303771fd88cf5fc74b6f68905bbe2128cd993002ddc3add447cfff7eba259ac1c45c60a95aaf35a640a30719f790c8e0a54a147908ffbef23a01fdfb69826 SHA512 9271665bf5def7834b844cdbdd5268fd6478e74d29616ad6051a471f28dc26c18e43b622d69a4b61fe28da9e5fc58c2dd4fb1c1188641549750f072a28bcf4d9 +EBUILD pleroma-2.0.3.ebuild 3500 BLAKE2B c12303771fd88cf5fc74b6f68905bbe2128cd993002ddc3add447cfff7eba259ac1c45c60a95aaf35a640a30719f790c8e0a54a147908ffbef23a01fdfb69826 SHA512 9271665bf5def7834b844cdbdd5268fd6478e74d29616ad6051a471f28dc26c18e43b622d69a4b61fe28da9e5fc58c2dd4fb1c1188641549750f072a28bcf4d9 MISC metadata.xml 993 BLAKE2B adc5c72fe12b6fdb4eb20c1d79dde227b088b437ffd21d16cc5775fa5bb7fa6363890dd5017fbe7f5a00a794a38fb298ce17e6402f6d3d5441985effd0d7e1db SHA512 6ff23fa60c0f22ef7a433e3d1b4919d074508898504b7168c925da8840f542afcdc891a9f4df69dc8eb6c44b7d9c41e6b94fdecd404ca738169124bcdab0af0d -----BEGIN PGP SIGNATURE----- -iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXo5HhAAKCRDPw5SX8bJu -B8HlAP9JsuzX6+Ooxeohl8focyA5AtXsJN6u0Rc3DNBPrZn0FQD+MG6e1eHnQjXS -comQmboncaaS2joLJLBSr83RqZkfld8= -=tQ+w +iHUEAREKAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXq2piwAKCRDPw5SX8bJu +B4W1AP0TyeuSD3/KdxQnyZba8HqUVYZStIusNEAYFF5qYiGdYQD+MyJ1nJaNltgR +bC/7p7OY3F6/PlBqcsvhEZGS9OtikzQ= +=qCgD -----END PGP SIGNATURE----- diff --git a/www-apps/pleroma/pleroma-2.0.3.ebuild b/www-apps/pleroma/pleroma-2.0.3.ebuild new file mode 100644 index 0000000..d602a1b --- /dev/null +++ b/www-apps/pleroma/pleroma-2.0.3.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 systemd + +DESCRIPTION="Microblogging server software that can federate with other servers." +HOMEPAGE="https://pleroma.social/ https://git.pleroma.social/pleroma/pleroma/" +EGIT_REPO_URI="https://git.pleroma.social/pleroma/pleroma.git" +EGIT_COMMIT="v${PV}" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="apache +nginx syslog" + +RDEPEND=" + acct-group/pleroma + acct-user/pleroma + >=dev-lang/elixir-1.8.1 + >=dev-db/postgresql-9.6.13[uuid] + apache? ( www-servers/apache ) + nginx? ( www-servers/nginx[nginx_modules_http_slice] ) +" +DEPEND="" + +pkg_preinst() { + ewarn "This ebuild will overwrite modified files in /opt/pleroma/priv/static/" +} + +src_install() { + insinto "/opt/pleroma" + insopts -o pleroma -g pleroma -m 0664 + doins -r * .* + # insopts doesn't affect directories. + chown -R pleroma:pleroma "${ED}/opt/pleroma" + chmod -R ug=rwX "${ED}/opt/pleroma" + + if use nginx; then + dodoc installation/pleroma.nginx + fi + if use apache; then + dodoc installation/pleroma-apache.conf + fi + + dodoc -r docs/* + + doinitd installation/init.d/pleroma + systemd_dounit installation/pleroma.service +} + +pkg_postinst() { + elog "You need to run emerge --config www-apps/pleroma after each upgrade." + if use nginx; then + einfo "An example config for nginx has been installed in the doc directory." + ewarn "If you're upgrading from pre-2.0.1, remove" + ewarn "proxy_ignore_headers Cache-Control; and" + ewarn "proxy_hide_header Cache-Control; from your nginx config." + fi + if use apache; then + einfo "An example config for apache has been installed in the doc directory." + fi +} + +pkg_config() { + local configfile="${EROOT}/opt/pleroma/config/prod.secret.exs" + cd "${EROOT}/opt/pleroma" || die + + if [[ ! -f ${configfile} ]]; then # Fresh install. + einfo "Installing the dependencies..." + einfo "Answer with yes if it asks you to install Hex." + su -ls /bin/bash -c "mix deps.get" pleroma || die + + einfo "Generating the configuration..." + einfo "Answer with yes if it asks you to install rebar3." + su -ls /bin/bash -c "mix pleroma.instance gen" pleroma || die + mv -v config/{generated_config.exs,prod.secret.exs} || die + + if use syslog; then + einfo "Activating syslog in ${configfile} ..." + cat "${FILESDIR}/syslog.exs" >> ${configfile} + fi + + einfo "Creating the database..." + su -ls /bin/bash -c "psql -f config/setup_db.psql" postgres || die + + einfo "Running the database migration..." + su -ls /bin/bash -c "MIX_ENV=prod mix ecto.migrate" pleroma || die + + einfo "Your configuration file is in ${configfile}." + else # Update. + einfo "Pleroma will be stopped for the duration of the update." + einfo "Hit enter to proceed." + read + + declare -i started=0 + if "${EROOT}"/etc/init.d/pleroma --nocolor status | grep -q started; then + started=1 + fi + + if [[ ${started} -eq 1 ]]; then + einfo "Stopping pleroma..." + "${EROOT}"/etc/init.d/pleroma stop || die + fi + + einfo "Updating the dependencies..." + su -ls /bin/bash -c "mix deps.get" pleroma || die + + einfo "Running the database migration..." + su -ls /bin/bash -c "MIX_ENV=prod mix ecto.migrate" pleroma || die + + if [[ ${started} -eq 1 ]]; then + einfo "Starting pleroma..." + "${EROOT}"/etc/init.d/pleroma start || die + fi + fi + + if ! grep -q MIX_ENV ~pleroma/.profile 2>/dev/null; then + elog "Setting MIX_ENV=prod in ~pleroma/.profile ..." + echo "export MIX_ENV=prod" >> ~pleroma/.profile || die + fi +}