jrmarino / synth

Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools)
ISC License
255 stars 15 forks source link

Synth does not read options from /etc/make.conf #156

Closed quicktrick closed 5 years ago

quicktrick commented 5 years ago

Hello!

I added to /etc/make.conf

DEFAULT_VERSIONS= mysql=10.3m

but after building of postfix-sasl and dovecot with MYSQL=on, I got

➜ ~ # pkg install --dry-run postfix-sasl
Updating Synth repository catalogue...
Synth repository is up to date.
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - mysql56-client-5.6.44 [Synth] conflicts with mariadb103-client-10.3.14 [installed] on /usr/local/bin/msql2mysql
Checking integrity... done (0 conflicting)
The following 6 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        mariadb103-client-10.3.14
        mariadb103-server-10.3.14

New packages to be INSTALLED:
        postfix-sasl: 3.4.5,1 [Synth]
        cyrus-sasl: 2.1.27 [Synth]
        mysql56-client: 5.6.44 [Synth]
        liblz4: 1.9.1,1 [Synth]

Number of packages to be removed: 2
Number of packages to be installed: 4

(similar with Dovecot)

So I had to create /usr/local/etc/synth/LiveSystem-make.conf with

DEFAULT_VERSIONS= mysql=10.3m

And after force rebuiding I got the desired result:

➜ ~ # pkg install --dry-run postfix-sasl
Updating Synth repository catalogue...
Synth repository is up to date.
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        postfix-sasl: 3.4.5,1 [Synth]
        cyrus-sasl: 2.1.27 [Synth]

Number of packages to be installed: 2

The process will require 15 MiB more space.

Why Synth did not read the DEFAULT_VERSIONS from /etc/make.conf?

jrmarino commented 5 years ago

The man pages and other instructions specifically say /etc/make.conf is NOT used. Review the man page and quick starts. Each profile has its only make.conf. Don't symlink /etc/make.conf to these in an effort to circumvent the good reasons /etc/make.conf is not used.