commit:     ca1b0dc5d743492e3fdb1bc0c0b0599208b22c03
Author:     Rahil Bhimjiani <me <AT> rahil <DOT> rocks>
AuthorDate: Wed Apr 30 14:35:01 2025 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jun  1 08:56:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca1b0dc5

app-admin/vaultwarden: Unofficial Bitwarden compatible server in Rust

Explaination of some design decisions:
* Icon cache folder & tmp folder paths have been changed from default
  /var/cache/... & /tmp/... respectively so that backing up
  /var/lib/vaultwarden backs up everything needed minus extra
  fluff. Also having them at linux standard locations allow users to
  take advantage of tmpfs on /tmp and other fine tunings.
* USE +web pulls in dependency www-apps/vaultwarden-web instead of just
  downloading tarball conditionally because sometimes only web frontend gets
  updated but not backend. So it doesn't make sense to recompile
  backend (rust package which takes ~20 minutes to compile) just to
  update frontend (*js, *css, *html files)

Thanks Fabian Groffen <grobian <AT> gentoo.org> for taking interest &
good suggestions

Closes: https://github.com/gentoo/gentoo/pull/41864
Signed-off-by: Rahil Bhimjiani <me <AT> rahil.rocks>
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 app-admin/vaultwarden/Manifest                     |   3 +
 .../vaultwarden/files/vaultwarden-1.33.2.confd     |   9 ++
 .../vaultwarden/files/vaultwarden-1.33.2.initd     |  20 +++
 .../files/vaultwarden-1.33.2.logrotated            |   9 ++
 .../vaultwarden/files/vaultwarden-1.33.2.service   |  45 ++++++
 .../files/vaultwarden-envfile-1.33.2.patch         |  49 +++++++
 .../files/vaultwarden-tmpfiles-1.33.2.conf         |   5 +
 app-admin/vaultwarden/metadata.xml                 |  25 ++++
 app-admin/vaultwarden/vaultwarden-1.34.1.ebuild    | 163 +++++++++++++++++++++
 app-admin/vaultwarden/vaultwarden-9999.ebuild      | 163 +++++++++++++++++++++
 10 files changed, 491 insertions(+)

diff --git a/app-admin/vaultwarden/Manifest b/app-admin/vaultwarden/Manifest
new file mode 100644
index 000000000000..faed7ae695b3
--- /dev/null
+++ b/app-admin/vaultwarden/Manifest
@@ -0,0 +1,3 @@
+DIST vaultwarden-1.34.1-deps.tar.xz 52689252 BLAKE2B 
e2d6eea8e29908b08e887967c2a4320dc213073a7a7bbbba969f964475d0babff8b57ff093ac9cab3ed3a724d6f924b6b09aa2380eaf30d17a79765d18996391
 SHA512 
e21df43a3c09c3463d0b7c9a8ae23bebfba062cf4f2ce0deb2ad0cd27231c7269586911b4b69ab550467143fed1deba9ac29e01231e1701de941ce8a8bb5e02f
+DIST vaultwarden-1.34.1-docs.tar.xz 79056 BLAKE2B 
c863f0e3657a1165d1d6920c396a444a54662a20b0ee6e5a7053a184d9cde7e3c9a9429248448ef349d9d794226fee149e0bddb200a450a32957e2a68c3f8481
 SHA512 
8b4cd281261433559aca8d058d37e23b1cbb96f95f22c991bbbe125479bd424475f4982206e33bfcd4dac22a9167f6c2a7c4f4a9877e880de73000ad2e22c8c0
+DIST vaultwarden-1.34.1.tar.gz 649230 BLAKE2B 
fc842974ab1b7ba6cd6cbec36d6b03f2ca9358214a0a993f9ae99a91ba2e655186e89de714d5ce0327b885e22d5c8cc374dd1ef6d2abbb588795bc5fb4f4ffe7
 SHA512 
9811a9d178b855ef66694d8b6e49906c5b68b02303f1653c644e925eaedbe0a98d974ac3d426dcb2567be1c7cc5efd4dc0418414acfda2e92d48aae1510b74d0

diff --git a/app-admin/vaultwarden/files/vaultwarden-1.33.2.confd 
b/app-admin/vaultwarden/files/vaultwarden-1.33.2.confd
new file mode 100644
index 000000000000..c06312ea72a5
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-1.33.2.confd
@@ -0,0 +1,9 @@
+# Location of config file
+#CONF_FILE=/etc/vaultwarden/vaultwarden.conf
+
+# User & group to start daemon as
+#VW_USER=vaultwarden
+#VW_GROUP=vaultwarden
+
+# Directory to store data in
+#DATA_FOLDER=/var/lib/vaultwarden

diff --git a/app-admin/vaultwarden/files/vaultwarden-1.33.2.initd 
b/app-admin/vaultwarden/files/vaultwarden-1.33.2.initd
new file mode 100644
index 000000000000..aaa98a9cc846
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-1.33.2.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+export ENV_FILE="${CONF_FILE:-/etc/${RC_SVCNAME}/${RC_SVCNAME}.conf}"
+
+name="Vaultwarden"
+description="Unofficial Bitwarden compatible password manager"
+command="/usr/bin/${RC_SVCNAME}"
+command_user="${VW_USER:-vaultwarden}:${VW_GROUP:-vaultwarden}"
+command_background="true"
+pidfile="/run/${RC_SVCNAME}.pid"
+output_log="/var/log/${RC_SVCNAME}.log"
+error_log="/var/log/${RC_SVCNAME}.log"
+directory="${DATA_FOLDER:-/var/lib/${RC_SVCNAME}}"
+umask=0027
+
+depend() {
+       after net
+}

diff --git a/app-admin/vaultwarden/files/vaultwarden-1.33.2.logrotated 
b/app-admin/vaultwarden/files/vaultwarden-1.33.2.logrotated
new file mode 100644
index 000000000000..b107697b214e
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-1.33.2.logrotated
@@ -0,0 +1,9 @@
+/var/log/vaultwarden.log {
+    su vaultwarden vaultwarden
+    size 5M
+    compress
+    rotate 4
+    copytruncate
+    missingok
+    notifempty
+}

diff --git a/app-admin/vaultwarden/files/vaultwarden-1.33.2.service 
b/app-admin/vaultwarden/files/vaultwarden-1.33.2.service
new file mode 100644
index 000000000000..b98d0e39b504
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-1.33.2.service
@@ -0,0 +1,45 @@
+[Unit]
+Description=Vaultwarden, unofficial Bitwarden compatible password manager
+Documentation=https://github.com/dani-garcia/vaultwarden
+
+After=network.target
+Wants=network.target
+
+[Service]
+Environment=ENV_FILE=/etc/%N/%N.conf
+ExecStart=/usr/bin/%N
+WorkingDirectory=/var/lib/%N
+
+User=%N
+Group=%N
+UMask=0027
+
+# Sandboxing and hardening systemd.exec(5)
+PrivateUsers=yes
+ProtectClock=yes
+ProtectHostname=yes
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
+ProtectKernelLogs=yes
+ProtectControlGroups=yes
+RestrictNamespaces=yes
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+RestrictSUIDSGID=yes
+RemoveIPC=yes
+RestrictRealtime=yes
+PrivateTmp=true
+PrivateDevices=true
+ProtectHome=true
+
+# set entire file system to read only except following paths
+ProtectSystem=strict
+ReadWritePaths=/var/lib/%N -/var/log/%N.log
+CacheDirectory=%N
+
+# Set reasonable connection and process limits
+LimitNOFILE=1048576
+LimitNPROC=64
+
+[Install]
+WantedBy=multi-user.target

diff --git a/app-admin/vaultwarden/files/vaultwarden-envfile-1.33.2.patch 
b/app-admin/vaultwarden/files/vaultwarden-envfile-1.33.2.patch
new file mode 100644
index 000000000000..073fbf0205d4
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-envfile-1.33.2.patch
@@ -0,0 +1,49 @@
+As upstream defaults create directories where binary is executed (/usr/bin/), 
this patch is needed to change paths to Gentoo specific locations
+--- a/.env.template
++++ b/.env.template
+@@ -5,24 +5,20 @@
+ ## Be aware that most of these settings will be overridden if they were 
changed
+ ## in the admin interface. Those overrides are stored within 
DATA_FOLDER/config.json .
+ ##
+-## By default, Vaultwarden expects for this file to be named ".env" and 
located
+-## in the current working directory. If this is not the case, the environment
+-## variable ENV_FILE can be set to the location of this file prior to starting
+-## Vaultwarden.
+ 
+ ####################
+ ### Data folders ###
+ ####################
+ 
+ ## Main data folder
+-# DATA_FOLDER=data
++DATA_FOLDER=/var/lib/vaultwarden
+ 
+ ## Individual folders, these override %DATA_FOLDER%
+ # RSA_KEY_FILENAME=data/rsa_key
+-# ICON_CACHE_FOLDER=data/icon_cache
++ICON_CACHE_FOLDER=/var/cache/vaultwarden/icon_cache
+ # ATTACHMENTS_FOLDER=data/attachments
+ # SENDS_FOLDER=data/sends
+-# TMP_FOLDER=data/tmp
++TMP_FOLDER=/tmp/vaultwarden
+ 
+ ## Templates data folder, by default uses embedded templates
+ ## Check source code to see the format
+@@ -31,7 +27,7 @@
+ # RELOAD_TEMPLATES=false
+ 
+ ## Web vault settings
+-# WEB_VAULT_FOLDER=web-vault/
++WEB_VAULT_FOLDER=/usr/share/webapps/vaultwarden-web
+ # WEB_VAULT_ENABLED=true
+ 
+ #########################
+@@ -371,7 +367,7 @@
+ # USE_SYSLOG=false
+ 
+ ## Logging to file
+-# LOG_FILE=/path/to/log
++LOG_FILE=/var/log/vaultwarden.log
+ 
+ ## Log level
+ ## Change the verbosity of the log output

diff --git a/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.33.2.conf 
b/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.33.2.conf
new file mode 100644
index 000000000000..13754438ddcd
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.33.2.conf
@@ -0,0 +1,5 @@
+# Fields: type; path; mode; uid; gid; age; argument
+# tmpfiled.d(5)
+d      /var/cache/vaultwarden                          0750    vaultwarden     
vaultwarden
+d      /tmp/vaultwarden                                        0750    
vaultwarden     vaultwarden     1d
+f      /var/log/vaultwarden.log                        0640    vaultwarden     
vaultwarden

diff --git a/app-admin/vaultwarden/metadata.xml 
b/app-admin/vaultwarden/metadata.xml
new file mode 100644
index 000000000000..29512303aaa7
--- /dev/null
+++ b/app-admin/vaultwarden/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person" proxied="yes">
+    <email>[email protected]</email>
+    <name>Rahil Bhimjiani</name>
+  </maintainer>
+  <maintainer type="person">
+    <email>[email protected]</email>
+    <name>Fabian Groffen</name>
+  </maintainer>
+  <use>
+    <flag name="cli">
+      Install client with the Command-Line Interface
+    </flag>
+    <flag name="web">
+      Install client with Web UI
+    </flag>
+  </use>
+  <upstream>
+    <remote-id type="github">dani-garcia/vaultwarden</remote-id>
+    <bugs-to>https://github.com/dani-garcia/vaultwarden/issues</bugs-to>
+    <doc>https://github.com/dani-garcia/vaultwarden/blob/main/README.md</doc>
+  </upstream>
+</pkgmetadata>

diff --git a/app-admin/vaultwarden/vaultwarden-1.34.1.ebuild 
b/app-admin/vaultwarden/vaultwarden-1.34.1.ebuild
new file mode 100644
index 000000000000..47af5112e14d
--- /dev/null
+++ b/app-admin/vaultwarden/vaultwarden-1.34.1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles
+
+DESCRIPTION="Unofficial Bitwarden compatible password manager"
+HOMEPAGE="https://github.com/dani-garcia/vaultwarden";
+
+if [[ ${PV} == 9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.git";
+else
+       SRC_URI="
+       
https://github.com/dani-garcia/vaultwarden/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz
 -> ${P}-deps.tar.xz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/wiki.tar.xz
 -> ${P}-docs.tar.xz
+"
+       KEYWORDS="~amd64"
+fi
+
+LICENSE="AGPL-3"
+# Dependent crate licenses
+LICENSE+=" 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-3.0"
+
+SLOT="0"
+IUSE="cli mysql postgres +sqlite +web"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+RDEPEND="
+       acct-user/vaultwarden
+       acct-group/vaultwarden
+       dev-libs/openssl:=
+       cli? ( app-admin/bitwarden-cli-bin )
+       mysql? ( dev-db/mysql-connector-c:= )
+       postgres? ( dev-db/postgresql:* )
+       sqlite? ( dev-db/sqlite:3 )
+       web? ( www-apps/vaultwarden-web )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+QA_PRESTRIPPED="usr/bin/${PN}"
+ECARGO_VENDOR="${WORKDIR}/vendor"
+
+PATCHES=(
+       "${FILESDIR}"/vaultwarden-envfile-1.33.2.patch
+)
+
+CHECKREQS_MEMORY=3G
+CHECKREQS_DISK_BUILD=2G
+
+DOC_CONTENTS="\n
+       Configuration file: /etc/${PN}/${PN}.conf\n
+       Data directory: /var/lib/${PN}\n
+       Log file: /var/log/${PN}.log\n
+       Default endpoint: http://127.0.0.1:8000\n
+       Admin endpoint: http://127.0.0.1:8000/admin\n
+       \n
+       MySQL & PostgreSQL users must set DATABASE_URL in config\n
+"
+
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
+src_unpack() {
+       if [[ ${PV} == 9999* ]]; then
+               # clone vaultwarden
+               git-r3_src_unpack
+
+               # clone vaultwarden.wiki
+               
EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.wiki.git";
+               EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}.wiki"
+               git-r3_src_unpack
+
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+       fi
+}
+
+src_prepare() {
+       default
+       if use !web; then
+               sed -i \
+                       -e 's|^# 
WEB_VAULT_ENABLED=true|WEB_VAULT_ENABLED=false|g;' \
+                       .env.template || die
+       fi
+
+       if use mysql || use postgres; then
+               declare -a DB_UNIT
+               use mysql && DB_UNIT+=(
+                               mariadb.service
+                               mysqld.service
+                       )
+               use postgres && DB_UNIT+=(
+                               postgresql-{13..17}.service
+                       )
+               cat <<-EOF > "${T}/${PN}-db.conf"
+                       [Unit]
+                       After=${DB_UNIT[@]}
+                       Wants=${DB_UNIT[@]}
+               EOF
+       fi
+
+}
+
+src_configure() {
+       local myfeatures=(
+               $(usev sqlite)
+               $(usev mysql)
+               $(usev postgres postgresql )
+       )
+       cargo_src_configure
+}
+
+src_compile() {
+       # https://github.com/dani-garcia/vaultwarden/blob/main/build.rs
+       [[ ${PV} != 9999* ]] && export VW_VERSION="${PV}"
+       cargo_src_compile
+}
+
+src_install() {
+       dobin "$(cargo_target_dir)/${PN}"
+       systemd_newunit "${FILESDIR}"/vaultwarden-1.33.2.service \
+                                       "${PN}".service
+       if [[ -f "${T}/${PN}-db.conf" ]]; then
+               local UNIT_DIR="$(systemd_get_systemunitdir)"
+               insinto "${UNIT_DIR#${EPREFIX}}/${PN}".service.d
+               doins "${T}/${PN}-db.conf"
+       fi
+       newinitd "${FILESDIR}"/vaultwarden-1.33.2.initd "${PN}"
+       newconfd "${FILESDIR}"/vaultwarden-1.33.2.confd "${PN}"
+       newtmpfiles "${FILESDIR}"/vaultwarden-tmpfiles-1.33.2.conf "${PN}".conf
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/"vaultwarden-1.33.2.logrotated "${PN}"
+       insinto /etc/"${PN}"
+       newins .env.template "${PN}".conf
+       keepdir /var/lib/"${PN}"
+       fowners "${PN}":"${PN}" /var/lib/"${PN}"
+       fperms 750 /var/lib/"${PN}"
+
+       readme.gentoo_create_doc
+       einstalldocs
+       dodoc -r ../"${PN}".wiki/*
+}
+
+pkg_postinst() {
+       tmpfiles_process "${PN}".conf
+       readme.gentoo_print_elog
+
+       # delete following after 3 months
+       elog "Vaultwarden stack has been moved from ::guru to ::gentoo"
+       elog "###  Migration guide: "
+       elog "* Backup /etc/vaultwarden.env"
+       elog "* Configuration file has been moved from /etc/${PN}.env to 
/etc/${PN}/${PN}.conf"
+       elog "  So make sure to migrate that & remove old config"
+}

diff --git a/app-admin/vaultwarden/vaultwarden-9999.ebuild 
b/app-admin/vaultwarden/vaultwarden-9999.ebuild
new file mode 100644
index 000000000000..47af5112e14d
--- /dev/null
+++ b/app-admin/vaultwarden/vaultwarden-9999.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles
+
+DESCRIPTION="Unofficial Bitwarden compatible password manager"
+HOMEPAGE="https://github.com/dani-garcia/vaultwarden";
+
+if [[ ${PV} == 9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.git";
+else
+       SRC_URI="
+       
https://github.com/dani-garcia/vaultwarden/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz
 -> ${P}-deps.tar.xz
+       
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/wiki.tar.xz
 -> ${P}-docs.tar.xz
+"
+       KEYWORDS="~amd64"
+fi
+
+LICENSE="AGPL-3"
+# Dependent crate licenses
+LICENSE+=" 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-3.0"
+
+SLOT="0"
+IUSE="cli mysql postgres +sqlite +web"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+RDEPEND="
+       acct-user/vaultwarden
+       acct-group/vaultwarden
+       dev-libs/openssl:=
+       cli? ( app-admin/bitwarden-cli-bin )
+       mysql? ( dev-db/mysql-connector-c:= )
+       postgres? ( dev-db/postgresql:* )
+       sqlite? ( dev-db/sqlite:3 )
+       web? ( www-apps/vaultwarden-web )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+QA_PRESTRIPPED="usr/bin/${PN}"
+ECARGO_VENDOR="${WORKDIR}/vendor"
+
+PATCHES=(
+       "${FILESDIR}"/vaultwarden-envfile-1.33.2.patch
+)
+
+CHECKREQS_MEMORY=3G
+CHECKREQS_DISK_BUILD=2G
+
+DOC_CONTENTS="\n
+       Configuration file: /etc/${PN}/${PN}.conf\n
+       Data directory: /var/lib/${PN}\n
+       Log file: /var/log/${PN}.log\n
+       Default endpoint: http://127.0.0.1:8000\n
+       Admin endpoint: http://127.0.0.1:8000/admin\n
+       \n
+       MySQL & PostgreSQL users must set DATABASE_URL in config\n
+"
+
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
+src_unpack() {
+       if [[ ${PV} == 9999* ]]; then
+               # clone vaultwarden
+               git-r3_src_unpack
+
+               # clone vaultwarden.wiki
+               
EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.wiki.git";
+               EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}.wiki"
+               git-r3_src_unpack
+
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+       fi
+}
+
+src_prepare() {
+       default
+       if use !web; then
+               sed -i \
+                       -e 's|^# 
WEB_VAULT_ENABLED=true|WEB_VAULT_ENABLED=false|g;' \
+                       .env.template || die
+       fi
+
+       if use mysql || use postgres; then
+               declare -a DB_UNIT
+               use mysql && DB_UNIT+=(
+                               mariadb.service
+                               mysqld.service
+                       )
+               use postgres && DB_UNIT+=(
+                               postgresql-{13..17}.service
+                       )
+               cat <<-EOF > "${T}/${PN}-db.conf"
+                       [Unit]
+                       After=${DB_UNIT[@]}
+                       Wants=${DB_UNIT[@]}
+               EOF
+       fi
+
+}
+
+src_configure() {
+       local myfeatures=(
+               $(usev sqlite)
+               $(usev mysql)
+               $(usev postgres postgresql )
+       )
+       cargo_src_configure
+}
+
+src_compile() {
+       # https://github.com/dani-garcia/vaultwarden/blob/main/build.rs
+       [[ ${PV} != 9999* ]] && export VW_VERSION="${PV}"
+       cargo_src_compile
+}
+
+src_install() {
+       dobin "$(cargo_target_dir)/${PN}"
+       systemd_newunit "${FILESDIR}"/vaultwarden-1.33.2.service \
+                                       "${PN}".service
+       if [[ -f "${T}/${PN}-db.conf" ]]; then
+               local UNIT_DIR="$(systemd_get_systemunitdir)"
+               insinto "${UNIT_DIR#${EPREFIX}}/${PN}".service.d
+               doins "${T}/${PN}-db.conf"
+       fi
+       newinitd "${FILESDIR}"/vaultwarden-1.33.2.initd "${PN}"
+       newconfd "${FILESDIR}"/vaultwarden-1.33.2.confd "${PN}"
+       newtmpfiles "${FILESDIR}"/vaultwarden-tmpfiles-1.33.2.conf "${PN}".conf
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/"vaultwarden-1.33.2.logrotated "${PN}"
+       insinto /etc/"${PN}"
+       newins .env.template "${PN}".conf
+       keepdir /var/lib/"${PN}"
+       fowners "${PN}":"${PN}" /var/lib/"${PN}"
+       fperms 750 /var/lib/"${PN}"
+
+       readme.gentoo_create_doc
+       einstalldocs
+       dodoc -r ../"${PN}".wiki/*
+}
+
+pkg_postinst() {
+       tmpfiles_process "${PN}".conf
+       readme.gentoo_print_elog
+
+       # delete following after 3 months
+       elog "Vaultwarden stack has been moved from ::guru to ::gentoo"
+       elog "###  Migration guide: "
+       elog "* Backup /etc/vaultwarden.env"
+       elog "* Configuration file has been moved from /etc/${PN}.env to 
/etc/${PN}/${PN}.conf"
+       elog "  So make sure to migrate that & remove old config"
+}

Reply via email to