aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfgang Müller2024-10-26 11:28:05 +0200
committerWolfgang Müller2024-10-26 11:28:05 +0200
commit4ccd28754d6b7a553f61837968d3d6ebef87b574 (patch)
tree9446a0a1cd99ecf1ead500317ab885f7182ab003
parent52676f78f098137f61a384cd91a93a6739845b9c (diff)
downloadpramantha-4ccd28754d6b7a553f61837968d3d6ebef87b574.tar.gz
www-apps/miniflux: new package, add 2.2.1
Diffstat (limited to '')
-rw-r--r--www-apps/miniflux/Manifest9
-rw-r--r--www-apps/miniflux/files/README.gentoo76
-rw-r--r--www-apps/miniflux/files/miniflux.conf22
-rw-r--r--www-apps/miniflux/files/miniflux.confd6
-rw-r--r--www-apps/miniflux/files/miniflux.initd-r121
-rw-r--r--www-apps/miniflux/files/miniflux.service22
-rw-r--r--www-apps/miniflux/metadata.xml11
-rw-r--r--www-apps/miniflux/miniflux-2.2.1.ebuild107
8 files changed, 274 insertions, 0 deletions
diff --git a/www-apps/miniflux/Manifest b/www-apps/miniflux/Manifest
new file mode 100644
index 0000000..55ca500
--- /dev/null
+++ b/www-apps/miniflux/Manifest
@@ -0,0 +1,9 @@
+AUX README.gentoo 2168 BLAKE2B 2291976288e00d71ecf9b978874cd26a33d604f803c6eb511e137e8a9843e4c7b64d286482c9af47879fadfe1d800cd58e4d09ea1882d436eff528d8aaa9743f SHA512 edac844eb081472d6c8054d9bf0f8661cbbb61455d2cc97ce7d05a842fe735b6e130f1b6d0a2e26737d153624b5a7451b362e04247b366c090f2fc3e9aab7391
+AUX miniflux.conf 809 BLAKE2B 4465c338fa13d3465731fcb98616d08d4fbcfdad6e10eb3f089de62dda9297220b92cb767bd92dfd97c3a5a5f6a2bd87444b76fa790243626d77698ecefcc2a1 SHA512 470b0e8382b97c2c2d1c8a2c6865a8cd06b2157a24d81a329d6de37d9b964b502a37ca7178090f2aee5c29210fc4c6e4f7d7e2245d00d8df33cfc738012b7329
+AUX miniflux.confd 171 BLAKE2B 2d38a12678c7873ac31473a2160d1416d168e384c519fe48feebf4ea3d4e6c734ff198e652df8b0af7da5c3543eff5321a02b6991de131d746b89e3b5fb7db08 SHA512 13b43595e7a5bca01b9fbff9fc6979d408b32109bafc23cfae29a9470b5333a244ee1f1bc94ba436d93e2d2c55640690202ac1201884f9ea5499fa0161af059a
+AUX miniflux.initd-r1 611 BLAKE2B 74d84f8f24a672c2fd4adedf6dc8629307638bed4a04e7c2948beabb0a7f1710a78f0054b23cc906caa08d27310473d5f45766ef9a6d04dfdef4ba7c1199a682 SHA512 7dbc37b56b8d099d3a95c5707c1666d177c03dc46d42dcc3827b771fc9cee34d489c7f240049a14b6784a4434183c70e0ba9679e982608121a8e4098e1a45a9e
+AUX miniflux.service 463 BLAKE2B e6f1a3717e985f3ddae4224472b753f293a73ab015acbe80ddf20d2d9e505aa9fd47e2fca2c86749067288a1f10787e16179a41e5c30d3f37f53e83f798719b8 SHA512 c38fe3f19162be02a44a353281690d40e90cb8ac8126ea4f9aab1218e128da0be3d1152cf260fdfd19ecfed2ea4396ae4a6c645088a1b212b58a3cba8387ce60
+DIST miniflux-2.2.1-deps.tar.xz 112768080 BLAKE2B 9206180a3af5113c8c563f12d9286fe6ae802afc40ef1645fd6ee44c94c51d944bd6bfff4c4cc5f04462b931c7e479548d578acd9efadc2f79fb30bbe00ed6da SHA512 e20ed37364d82b17e01a44b44e67dfe9f6ca27bffd532395da0466e40730ea73930b54fb3ac01d08f7a6396fd5ae8255aa2020ee7b7fa0027ecffd4b35619e16
+DIST miniflux-2.2.1.tar.gz 750710 BLAKE2B 661d1ccf39e1ccd47bda4fd61cc65211888d0c52dcdefe9fa41ccd3187615e3131685af06ef69a1632416528e66654f52304354d54edde88276769fea3d27678 SHA512 ab0744a3c2951e3e31ae778d3822e1b2c20f2085d01934bbb15d0dfc9c6814f6ec44835c7ba60629eaf438acbf25ea2adfbf808867ec9c711cc9e22d716e89bd
+EBUILD miniflux-2.2.1.ebuild 2806 BLAKE2B c6d622a54f5134b4bb6ac6d790da69dc23fff6848bbc3b1bd5e0b2d1c40b82871e3aae485020a9c502dd01257809b53664e71b6ca0fb05faf31162acf068e536 SHA512 a77ad58ba1aa3e3e3214e3cc04b64ecaf8c7f2979f8e9b945983acb240a5658d72b02d377f943dc5c6c8cdaa183262c9e2b363937674868f1cd5b692a1d80d38
+MISC metadata.xml 328 BLAKE2B be87574748c7d9f422aecdc2bf2ed7cb400902dde46745d64705bf597367b063cc7ec722561e34d9c8cf15a8c52623062426590363daf18108a9e3fa53a3108f SHA512 4995d59f29aefc41589c247508f6c299f2c2b88fb9f82cdd9767a04b6c0ba2a30cfe0a499af6649118e74fde1cdade54553be34a73c004f7a925b6f3f4edee50
diff --git a/www-apps/miniflux/files/README.gentoo b/www-apps/miniflux/files/README.gentoo
new file mode 100644
index 0000000..7d236ff
--- /dev/null
+++ b/www-apps/miniflux/files/README.gentoo
@@ -0,0 +1,76 @@
+Introduction
+============
+
+Below are some common tasks needed to administrate a miniflux instance.
+
+
+Create the Database (Example)
+=============================
+
+# Switch to the postgres user
+$ su - postgres
+
+# Create a database user for miniflux
+$ createuser -P miniflux
+Enter password for new role: ******
+Enter it again: ******
+
+# Create a database for miniflux that belongs to our user
+$ createdb -O miniflux miniflux
+
+# Create the extension hstore as superuser
+$ psql miniflux -c 'create extension hstore'
+CREATE EXTENSION
+
+
+Create the hstore Extension
+===========================
+
+To create the hstore extension, connect to the miniflux database as any user
+with SUPERUSER privileges (like the postgres user) and run:
+
+ CREATE EXTENSION hstore;
+
+Alternatively, give SUPERUSER privileges to the miniflux user only during the
+schema migration:
+
+ ALTER USER miniflux WITH SUPERUSER;
+ -- Run the migrations (miniflux -migrate)
+ ALTER USER miniflux WITH NOSUPERUSER;
+
+
+Create the First Admin User
+===========================
+
+The easiest way to create the first admin user with your new miniflux instance
+is by running:
+
+ miniflux -create-admin
+
+Alternatively, set the DATABASE_URL, RUN_MIGRATIONS, CREATE_ADMIN,
+ADMIN_USERNAME, and ADMIN_PASSWORD variables in your config file or run miniflux
+with these set as environment variables. For example:
+
+ export DATABASE_URL=postgres://miniflux:secretpassword@db/miniflux
+ export RUN_MIGRATIONS=1
+ export CREATE_ADMIN=1
+ export ADMIN_USERNAME=admin
+ export ADMIN_PASSWORD=n0tAstrongPassw0rd!
+ miniflux
+
+
+Migrating the Database
+======================
+
+On upgrades, the miniflux database needs to be migrated to the new schema
+version. This is handled automatically when you run 'emerge --config miniflux'
+but can also be performed using the following manual steps:
+
+1. Export the DATABASE_URL variable.
+2. Disconnect all users by flushing all sessions with 'miniflux -flush-sessions'
+3. Stop the miniflux server.
+4. Backup your database.
+5. Verify that your backup is really working.
+6. Run the database migrations with 'miniflux -migrate' or set the environment
+ variable RUN_MIGRATIONS=1.
+7. Start miniflux.
diff --git a/www-apps/miniflux/files/miniflux.conf b/www-apps/miniflux/files/miniflux.conf
new file mode 100644
index 0000000..7a2b217
--- /dev/null
+++ b/www-apps/miniflux/files/miniflux.conf
@@ -0,0 +1,22 @@
+# This is a sample configuration file with the most commonly used options needed
+# to get started. For a complete list of available options, see the miniflux (1)
+# man page or visit https://miniflux.app/docs/configuration.html
+
+# Toggle debug mode (increase log level).
+#DEBUG=off
+
+# Postgresql connection parameters.
+# See https://pkg.go.dev/github.com/lib/pq#hdr-Connection_String_Parameters
+# for more details.
+#DATABASE_URL=user=postgres password=postgres dbname=miniflux2 sslmode=disable
+
+# Address to listen on. Use absolute path for a Unix socket.
+#LISTEN_ADDR=127.0.0.1:8080
+
+# Override LISTEN_ADDR to 0.0.0.0:$PORT (Automatic configuration for PaaS).
+# Default is empty.
+#PORT=
+
+# Base URL to generate HTML links and base path for cookies.
+# Default is http://localhost/.
+#BASE_URL=http://localhost/
diff --git a/www-apps/miniflux/files/miniflux.confd b/www-apps/miniflux/files/miniflux.confd
new file mode 100644
index 0000000..2448e50
--- /dev/null
+++ b/www-apps/miniflux/files/miniflux.confd
@@ -0,0 +1,6 @@
+# User and group miniflux server should run as
+MINIFLUX_USER=miniflux
+MINIFLUX_GROUP=nobody
+
+# Config file the miniflux server should use
+MINIFLUX_CONF=/etc/miniflux.conf
diff --git a/www-apps/miniflux/files/miniflux.initd-r1 b/www-apps/miniflux/files/miniflux.initd-r1
new file mode 100644
index 0000000..3185acd
--- /dev/null
+++ b/www-apps/miniflux/files/miniflux.initd-r1
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: ${MINIFLUX_USER:=miniflux}
+: ${MINIFLUX_GROUP:=nobody}
+: ${MINIFLUX_CONF:=/etc/miniflux.conf}
+
+name="miniflux daemon"
+description="Miniflux Web Server"
+command=/usr/bin/miniflux
+command_args="${miniflux_args} -c ${MINIFLUX_CONF}"
+command_background="true"
+command_user="${MINIFLUX_USER}:${MINIFLUX_GROUP}"
+error_log="/var/log/${RC_SVCNAME}.err"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+start_pre() {
+ checkpath --file --owner "${MINIFLUX_USER}":root --mode 0640 \
+ "${error_log}"
+}
diff --git a/www-apps/miniflux/files/miniflux.service b/www-apps/miniflux/files/miniflux.service
new file mode 100644
index 0000000..5480dd0
--- /dev/null
+++ b/www-apps/miniflux/files/miniflux.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Miniflux Web Server
+Documentation=https://miniflux.app/
+
+After=network.target
+Requires=network.target
+After=postgresql-9.5.service
+After=postgresql-9.6.service
+After=postgresql-10.service
+After=postgresql-11.service
+After=postgresql-12.service
+After=postgresql-13.service
+After=postgresql-14.service
+
+[Service]
+User=miniflux
+ExecStart=/usr/bin/miniflux -c /etc/miniflux.conf
+Restart=always
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/www-apps/miniflux/metadata.xml b/www-apps/miniflux/metadata.xml
new file mode 100644
index 0000000..3477ba4
--- /dev/null
+++ b/www-apps/miniflux/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>wolf@oriole.systems</email>
+ <name>Wolfgang Müller</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">miniflux/v2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/www-apps/miniflux/miniflux-2.2.1.ebuild b/www-apps/miniflux/miniflux-2.2.1.ebuild
new file mode 100644
index 0000000..69716e9
--- /dev/null
+++ b/www-apps/miniflux/miniflux-2.2.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module systemd
+
+# git rev-parse --short HEAD
+MY_GIT_COMMIT="faa70f30"
+
+DESCRIPTION="Minimalist and opinionated feed reader"
+HOMEPAGE="https://miniflux.app https://github.com/miniflux/v2"
+SRC_URI="https://github.com/${PN}/v2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://nest.oriole.systems/gentoo/go-mod/${P}-deps.tar.xz"
+
+S="${WORKDIR}/v2-${PV}"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv"
+
+RESTRICT="test" # requires network access
+
+DEPEND="acct-user/miniflux"
+RDEPEND="${DEPEND}
+ >=dev-db/postgresql-9.5
+"
+
+src_compile() {
+ ego build -ldflags="
+ -s -w
+ -X 'miniflux.app/v2/internal/version.Version=${PV}'
+ -X 'miniflux.app/v2/internal/version.Commit=${MY_GIT_COMMIT}'
+ -X 'miniflux.app/v2/internal/version.BuildDate=$(date +%FT%T%z)'
+ " -o miniflux main.go
+}
+
+src_install() {
+ dobin miniflux
+
+ insinto /etc
+ doins "${FILESDIR}/${PN}.conf"
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ fowners miniflux:root /etc/${PN}.conf
+ fperms o-rwx /etc/${PN}.conf
+
+ local DOCS=(
+ ChangeLog
+ README.md
+ "${FILESDIR}"/README.gentoo
+ )
+
+ # Makefile has no install target, so call einstalldocs directly
+ einstalldocs
+
+ doman "${PN}".1
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+
+ echo
+ elog "Before using miniflux, you must first create and initialize the database"
+ elog "and enable the hstore extension for it."
+ elog ""
+ elog "Afterwards, create your first admin user by running:"
+ elog " miniflux -create-admin"
+ else
+ # This is an existing installation
+
+ echo
+ elog "If you are upgrading from a previous version, schema migrations must be performed."
+ elog "To perform the migrations, stop the daemon, backup your database, and run:"
+ elog " emerge --config =${PF}"
+ fi
+
+ echo
+ elog "Please read"
+ elog ""
+ elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
+ elog ""
+ elog "for more information."
+}
+
+pkg_config() {
+ # To be safe, avoid doing migrations if miniflux is running
+ if pgrep miniflux; then
+ die "miniflux appears to be running, refusing to continue."
+ fi
+
+ # Extract the database URL variable instead of just sourcing the config file
+ # because miniflux itself may interpret quotes as part of the URL
+ local DATABASE_URL="$(sed -n 's/^DATABASE_URL=\(.*\)/\1/p' "${EROOT}/etc/${PN}.conf")"
+ [[ -n "${DATABASE_URL}" ]] || die "Failed getting DATABASE_URL from config file"
+
+ DATABASE_URL="${DATABASE_URL}" "${EROOT}"/usr/bin/miniflux -migrate \
+ || die "miniflux -migrate failed. Please check the above output for errors."
+
+ echo
+ elog "Database migrations complete."
+}