On 7/22/26 10:23, Kevin P. Neal wrote:
On Wed, Jul 22, 2026 at 02:08:16PM +0000, Bernard Spil wrote:
There's been discussions about the database options in Nextcloud before.
What you're seeing is because of the Nextcloud port's defaults. As
Postgresql is now recommended, it may be time to add this to the default
options.
There's this thing with personal preferences. I maintain the MariaDB ports
as well, so I naturally gravitate towards using that. I hate unnecessary
dependencies, so adding PGSQL to the defaults will add a couple packages I
don't need.
You can always set up poudriere, and define your own options for the
nextcloud port.
One point worth mentioning is that the options to the nextcloud port change
what dependencies are pulled in -- they don't change how nextcloud is
built.
I didn't try to follow how the PHP definitions impact the build but
if none of the options impact the final builds and are all optional
runtime detected dependencies then OPTIONS_MULTI is incorrect and it
should permit + default to no backend being installed and present a
post-install message of what should be installed for each possible
choice in the case of none being selected. I don't know if pkg-message
output can be dynamic based on a detection of optional dependencies but
that could keep noise down for users who already have things ready if
the message would print on every install+upgrade but I think those can
be separated with our current framework. It's own startup script could
be used to detect their presence and inform users too. Having the port
options that add such dependency is fine for easier package management
for those custom building it. Unfortunately there is no way that I am
aware of to track or note optional dependencies in pkg so it would be up
to the user to remember or keep notes outside pkg to know why they
installed such dependencies.
I also didn't mention it but poudriere has generally bad defaults and
should be changed for most users needs. Few users want many ports built
in parallel with each running only 1 job at a time instead of few to 1
parallel job(s) with multiple make jobs each. Building with a RAM based
filesystem is great for performance but only when you have enough RAM to
do so which is a setting users should make exceptions to or adjust as a
whole depending on their resource availability and what they are
building. These defaults have little observed impact if only a few
small+quick building ports are what are custom built but once bigger
ports are built then it needs review. Users who have minimal tweaking
needs and build interests also consider using dependencies from prebuilt
packages which makes everything go faster and put less load on the build
system. I use poudriere and its nice for what it can do and how it does
it, but most users should be changing its defaults to match their needs.
If you really really don't want the PHP pdo_mysql module installed then
the defaults matter. Most of the time it just doesn't matter. I have
php84-pcntl, php84-pecl-imagick, and php84-pdo_pgsql installed, it seems
I don't need the php84-pgsql module, and php84-mysql is installed but doing
nothing. And I've never changed any of the nextcloud port's options. It's
fine.