Postfix3 and MySQL support

circus78

Active Member

Reaction score: 7
Messages: 204

Hi,
I am using FreeBSD 11.1-RELEASE, I would like to stay with packages (no more ports, possibly).
I need postfix with MySQL support, it seems it is not present by default:

Code:
# postconf -m
btree
cidr
environ
fail
hash
inline
internal
memcache
pcre
pipemap
proxy
randmap
regexp
socketmap
static
tcp
texthash
unionmap
unix
I think I have forced to compile from ports. In the future, should I pay attention when using "pkg upgrade"?
Should I someway exclude postfix from binary upgrades?
Is there a better option?
Thank you
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 6,943
Messages: 28,894

Options on packages are "set in stone" and cannot be changed once the package has been created. The only way to deviate from the default options is by building from ports.

I would like to stay with packages (no more ports, possibly).
Alternatively, you can build your own repository. That way you get the best of both worlds.

In the future, should I pay attention when using "pkg upgrade"?
Ports build packages and it's these resulting packages that eventually get installed. So in the end everything is a package.
 
OP
OP
C

circus78

Active Member

Reaction score: 7
Messages: 204

Hi SirDice, I admit I don't yet understand: what should I do to avoid pkg install newer postfix's version (from package repository), overwriting port compiled by me?
Thank you
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 6,943
Messages: 28,894

what should I do to avoid pkg install newer postfix's version (from package repository), overwriting port compiled by me?
Basically, stop using pkg(8). You can use pkg-lock(8) to prevent it from being updated but I really don't recommend using it.

What I do recommend is setting up your repository using ports-mgmt/synth or ports-mgmt/poudriere. Then you're creating your own packages and can use your own default settings (like enabling MySQL for Postfix). If you point a machine's pkg(8) to your own repository it will get all the updates from your repository (which includes all the options you enabled/disabled).
 

rknetwork

New Member


Messages: 4

Basically, stop using pkg(8). You can use pkg-lock(8) to prevent it from being updated but I really don't recommend using it.
Stop using pkg? What kind of recommendation is this?
I strongly disagree, there is absolutely no need to use ports.

In the automated cloud virtual machines deployment you don't want to use something what consumes more resources (ports need more storage, CPU and Memory to compile).

I agree with circus78 there should be a package called postfix-sasl-mysql or something like that.
 

Remington

Well-Known Member

Reaction score: 145
Messages: 482

I agree with circus78 there should be a package called postfix-sasl-mysql or something like that.
Sure if you want to be the port maintainer for this project. I see absolutely no need for it as I use ports-mgmt/poudriere to build my custom packages monthly.

Some packages can't include all the settings as it may have problems with other packages or dependencies. FreeBSD packages are build with common default settings that most people use on their systems. If you need specific settings such as sasl or mysql then the only recourse is to build customized ports or packages.
 

Remington

Well-Known Member

Reaction score: 145
Messages: 482

How about just including the most common settings instead?
MySQL and SASL sound like the must haves.
It's not my call to make. Most system administrators build their own packages due to many different settings. Default settings are usually insufficient. Building ports or packages are not that difficult. Just type in the command to build the ports and go get a coffee, watch tv or go to bed if it takes a long time. Poudriere build my customized packages which takes about 4 to 6 hours and its done automatically each month. I have ZERO complaints.

What suppose if MySQL and SASL are set as default and what about those who wants PostgreSQL or SQLITE as defaults as well? Having all databases support enabled will result in longer compile time, larger postfix files, more dependencies, increased chances of something breaking and more mess to deal with. System admins are more interested in performance and not bloated software which Microsoft excels at.

I'm satisfied how the ports are configured. If you don't want to bother building customized ports or packages then FreeBSD isn't for you.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 6,943
Messages: 28,894

You're suggesting to buy a tank instead of fixing the car's window. This seems like an overkill solution.
Not exactly. You can spend a couple of minutes setting up the repositories and reap the benefits every time you update. Or you can spend countless hours mucking about with trying to upgrade ports in place, on each server, every time you upgrade. Using our own repositories I'm able to upgrade/update about 20 servers in a single afternoon. Building and updating the repositories happens at night, completely automated, on a weekly basis. I only have to check in the morning if everything built correctly.
 

rknetwork

New Member


Messages: 4

Thank you all for your responses, I have found a solution to this issue.
Code:
pkg install exim-mysql
For some odd reason, the maintainer of the exim package shares same vision as me and circus78 and NOT you guys.
 
Top