git: d94cd8f26b19 - 2026Q3 - sysutils/sylve: Update to 0.3.1

From: Dave Cottlehuber <dch_at_FreeBSD.org>
Date: Thu, 10 Sep 2026 15:28:11 UTC
The branch 2026Q3 has been updated by dch:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d94cd8f26b19e987456cfe42367c2b2f272c7068

commit d94cd8f26b19e987456cfe42367c2b2f272c7068
Author:     hayzamjs <hayzam@alchemilla.io>
AuthorDate: 2026-09-07 18:59:37 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2026-09-10 15:26:55 +0000

    sysutils/sylve: Update to 0.3.1
    
    Changelog:      https://github.com/AlchemillaHQ/Sylve/releases/tag/v0.3.1
    Sponsored by:   The FreeBSD Foundation
    
    Differential Revision:  https://reviews.freebsd.org/D59480
    
    (cherry picked from commit 458dbcf55b55c6f387272c5d47f4f6c8d4962ca5)
    
    Approved by:    maintainer
    Event:          EuroBSDcon Devsummit 2026
---
 sysutils/sylve/Makefile             | 20 ++++++++--------
 sysutils/sylve/distinfo             | 14 +++++------
 sysutils/sylve/files/pkg-message.in | 46 ++++++++++++++++++++++++++-----------
 sysutils/sylve/pkg-descr            | 10 ++++----
 4 files changed, 56 insertions(+), 34 deletions(-)

diff --git a/sysutils/sylve/Makefile b/sysutils/sylve/Makefile
index 5ce57e632e97..4614e4f0a02e 100644
--- a/sysutils/sylve/Makefile
+++ b/sysutils/sylve/Makefile
@@ -1,17 +1,18 @@
 PORTNAME=	sylve
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.2.3
-PORTREVISION=	6
+DISTVERSION=	0.3.1
 CATEGORIES=	sysutils
-MASTER_SITES+=	https://github.com/AlchemillaHQ/Sylve/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/:web_assets
-DISTFILES+=	sylve-web-assets.tar.gz:web_assets
+MASTER_SITES=	https://github.com/AlchemillaHQ/Sylve/releases/download/${DISTVERSIONFULL}/:web_assets
+DISTFILES=	sylve-web-assets.tar.gz:web_assets
 
 MAINTAINER=	hayzam@alchemilla.io
-COMMENT=	Lightweight GUI for managing Bhyve, Jails, ZFS, networking
-WWW=		https://github.com/alchemillahq/sylve
+COMMENT=	Lightweight GUI for managing bhyve, jails, ZFS, and networking
+WWW=		https://sylve.io/
 
 LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
 
+IGNORE_FreeBSD_14=	requires OpenZFS 2.3.0 or newer and nlsysevent(4)
 ONLY_FOR_ARCHS=	aarch64 amd64
 
 RUN_DEPENDS=	dnsmasq>0:dns/dnsmasq \
@@ -33,10 +34,11 @@ GO_MODULE=	github.com/alchemillahq/sylve
 
 GO_TARGET=	./cmd/sylve
 
+SUB_FILES=	pkg-message
+
 post-extract:
-	@${MKDIR} ${WRKSRC}/internal/assets/web-files
-	@${TAR} xf ${DISTDIR}/${DIST_SUBDIR}/sylve-web-assets.tar.gz \
-		-C ${WRKSRC}/internal/assets/
+	@${RM} -r ${WRKSRC}/internal/assets/web-files
+	@${MV} ${WRKDIR}/web-files ${WRKSRC}/internal/assets/
 
 do-install:
 	${MKDIR} ${STAGEDIR}${ETCDIR}
diff --git a/sysutils/sylve/distinfo b/sysutils/sylve/distinfo
index ed6a6c3a7212..85a7f965b317 100644
--- a/sysutils/sylve/distinfo
+++ b/sysutils/sylve/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1774991566
-SHA256 (go/sysutils_sylve/sylve-v0.2.3/sylve-web-assets.tar.gz) = 511f28f9373ae58f3e3feffd1ffeddbc7d9121debf8d9214d47ea82a414e970e
-SIZE (go/sysutils_sylve/sylve-v0.2.3/sylve-web-assets.tar.gz) = 2933197
-SHA256 (go/sysutils_sylve/sylve-v0.2.3/v0.2.3.mod) = 5dfaadfaf24023652042afbc41d496ea4d4fcf4972c32b3f760c9f1f291f7587
-SIZE (go/sysutils_sylve/sylve-v0.2.3/v0.2.3.mod) = 5823
-SHA256 (go/sysutils_sylve/sylve-v0.2.3/v0.2.3.zip) = 4a7056c60ad6397f696b4b565dbb383664db9a18fbc43c3eb54d01aad5de4257
-SIZE (go/sysutils_sylve/sylve-v0.2.3/v0.2.3.zip) = 34844416
+TIMESTAMP = 1788788655
+SHA256 (go/sysutils_sylve/sylve-v0.3.1/sylve-web-assets.tar.gz) = 4b08e1042b71503424c9968f75787841da8cb9a97b247e5baae5838a8846afdb
+SIZE (go/sysutils_sylve/sylve-v0.3.1/sylve-web-assets.tar.gz) = 3418859
+SHA256 (go/sysutils_sylve/sylve-v0.3.1/v0.3.1.mod) = fe865883c2f058b5d1cae753be59d0a0fbf3e2a52c9094c3fbce25429b04a68a
+SIZE (go/sysutils_sylve/sylve-v0.3.1/v0.3.1.mod) = 7646
+SHA256 (go/sysutils_sylve/sylve-v0.3.1/v0.3.1.zip) = 253ea2cd7caffe6e7008eaf189421b1d908e23093e6674eea13fe0aef0212eaf
+SIZE (go/sysutils_sylve/sylve-v0.3.1/v0.3.1.zip) = 61362879
diff --git a/sysutils/sylve/files/pkg-message.in b/sysutils/sylve/files/pkg-message.in
index 5df054a1058b..b13d24740dbe 100644
--- a/sysutils/sylve/files/pkg-message.in
+++ b/sysutils/sylve/files/pkg-message.in
@@ -1,24 +1,44 @@
 [
 { type: install
   message: <<EOM
-Sylve was installed!
+Documentation: https://sylve.io/docs/
+Configuration: https://sylve.io/getting-started/#configuration-reference
 
-1) The default config file is located at %%ETCDIR%%/config.json. PLEASE
-   change your password in this file before starting the service for the
-   first time. The default username is "admin" and the default password is
-"admin".
+Sylve provides many configurable settings and optional services. Review the
+documentation before configuring and starting Sylve.
 
-2) By default, Sylve datadir is located at %%DATADIR%% directory, this can
-   be modified in %%ETCDIR%%/config.json. This directory can become quite
-   large, with downloaded image files.
+1) Review %%ETCDIR%%/config.json before starting Sylve. The built-in
+   administrator username is "admin", and the supplied configuration sets
+   its password to "admin". Change admin.password before starting the
+   service for the first time. If you instead change it through the web
+   interface, restrict access to trusted networks until the password has
+   been changed under Settings > Authentication > Users > Local.
 
-3) Enable Sylve by using the command `sysrc sylve_enable=YES` and start
-   the service with `service sylve start`.
+2) Sylve requires a configured system hostname.
 
-4) You should now be able to visit https://IP:8181 to access the web
-   interface!
+3) Sylve stores runtime state under /var/db/sylve by default. Change
+   dataPath in %%ETCDIR%%/config.json to use another location.
 
-5) Enjoy!
+4) Enable Sylve with `sysrc sylve_enable=YES`, then start it with
+   `service sylve start`.
+
+5) Open https://HOST:8181 in a web browser.
+EOM
+}
+{ type: upgrade
+  maximum_version: "0.3.0"
+  message: <<EOM
+Documentation: https://sylve.io/docs/
+Configuration: https://sylve.io/getting-started/#configuration-reference
+
+Existing credentials are preserved during this upgrade. The built-in
+administrator username is "admin". If its password is still "admin",
+restrict Sylve to trusted networks until you change it through the web
+interface under Settings > Authentication > Users > Local.
+
+Alternatively, set admin.password to a strong value and
+admin.forcePasswordReset to true in %%ETCDIR%%/config.json, then restart
+Sylve.
 EOM
 }
 ]
diff --git a/sysutils/sylve/pkg-descr b/sysutils/sylve/pkg-descr
index e97d487cef06..237c35eed0ad 100644
--- a/sysutils/sylve/pkg-descr
+++ b/sysutils/sylve/pkg-descr
@@ -1,5 +1,5 @@
-Sylve is a lightweight, open-source virtualization platform for FreeBSD,
-leveraging Bhyve for VMs and Jails for containerization, with deep ZFS
-integration. It provides a streamlined, Proxmox-like experience tailored for
-FreeBSD environments. Its backend is written in Go, and the frontend is written
-in Svelte (with Kit), integrated into a single binary for easy deployment.
+Sylve is an open-source management platform for FreeBSD systems. It manages
+bhyve virtual machines, Jails, ZFS storage, networking, firewalls, backups,
+replication, clustering, and related host services through a web interface and
+a local CLI. Its Go backend and Svelte frontend are distributed as a single
+binary.