jrmarino / synth

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

Port isn't being built despite options changed #16

Closed basbebe closed 8 years ago

basbebe commented 8 years ago

I'm trying to build postfix-current with custom options.

synth status mail/postfix-current
Stand by, updating external repository catalogs ... done.
Scanning existing packages.
These are the ports that would be built:
  => mail/postfix-current
Total packages that would be built: 1
The complete build list can also be found at:
/tmp/synth_status_results.txt

I tried synth build, synth just-build and synth force already. With the portname and with a list file. But I alway get this:

synth force mail/postfix-current
Stand by, updating external repository catalogs ... done.
Scanning existing packages.
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Would you like to rebuild the local repository (Y/N)? n

I already deleted the corresponding folder in /var/db/ports/. There is no corresponding file in var/synth/. The options are not set to default and I already deleted and remade them.

basbebe commented 8 years ago

Another try gave this:

synth force /usr/local/etc/jail_ports.txt
Stand by, updating external repository catalogs ... done.
Scanning existing packages.
Scanning existing packages.
The following packages will be fetched:

New packages to be FETCHED:
    ca_root_nss-3.21 (0.79% of 41 MiB: 330 KiB)
    curl-7.46.0_2 (3.43% of 41 MiB: 1 MiB)
    cmake-3.4.2 (7.39% of 41 MiB: 3 MiB)
    dovecot2-2.2.21_1 (7.20% of 41 MiB: 3 MiB)
    mariadb100-client-10.0.23 (3.33% of 41 MiB: 1 MiB)
    uwsgi-2.0.12_1 (0.80% of 41 MiB: 336 KiB)
    openssl-1.0.2_8 (7.18% of 41 MiB: 3 MiB)
    openvpn-2.3.10 (0.98% of 41 MiB: 411 KiB)
    tor-0.2.7.6_1 (3.48% of 41 MiB: 1 MiB)
    mariadb100-server-10.0.23 (53.70% of 41 MiB: 22 MiB)
    git-2.7.0 (8.53% of 41 MiB: 3 MiB)
    dovecot-pigeonhole-0.4.11 (1.16% of 41 MiB: 486 KiB)
    rspamd-1.1.2 (2.02% of 41 MiB: 845 KiB)

The process will require 41 MiB more space.
41 MiB to be downloaded.
Fetching ca_root_nss-3.21.txz: 100%      0 B   0.0kB/s    00:01
pkg: cached package ca_root_nss-3.21: size mismatch, fetching from remote
Fetching ca_root_nss-3.21.txz: 100%      0 B   0.0kB/s    00:01
pkg: cached package ca_root_nss-3.21: size mismatch, cannot continue
Download failed: ca_root_nss-3.21.txz
Download failed: curl-7.46.0_2.txz
Download failed: cmake-3.4.2.txz
Download failed: dovecot2-2.2.21_1.txz
Download failed: mariadb100-client-10.0.23.txz
Download failed: uwsgi-2.0.12_1.txz
Download failed: openssl-1.0.2_8.txz
Download failed: openvpn-2.3.10.txz
Download failed: tor-0.2.7.6_1.txz
Download failed: mariadb100-server-10.0.23.txz
Download failed: git-2.7.0.txz
Download failed: dovecot-pigeonhole-0.4.11.txz
Download failed: rspamd-1.1.2.txz
At least one package failed to fetch, aborting build!
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Would you like to rebuild the local repository (Y/N)?
jrmarino commented 8 years ago

turn off the prefetching "[N]" option. It's not the default and it's only being tested now. At least that let you continue.

this message, "pkg: cached package ca_root_nss-3.21: size mismatch, fetching from remote" is curious. First I have to wonder if it's picked up the FreeBSD or the Synth repository. Secondly I have to wonder if the internal command needs to be altered to say "download and overwrite".

But yes, this non-default option is still a bit immature.

basbebe commented 8 years ago

I tried it but wasn't successful.

Synth configuration profile: LiveSystem
===============================================================================
   [A] Ports directory            /usr/ports
   [B] Packages directory         /var/synth/live_packages
   [C] Distfiles directory        /usr/ports/distfiles
   [D] Port options directory     /var/db/ports
   [E] Build logs directory       /var/log/synth
   [F] Build base directory       /usr/obj/synth-live
   [G] System root directory      /
   [H] Compiler cache directory   /var/cache/ccache
   [I] Num. concurrent builders   2
   [J] Max. jobs per builder      2
   [K] Use tmpfs for work area    true
   [L] Use tmpfs for /usr/local   true
   [M] Display using ncurses      true
   [N] Fetch prebuilt packages    false

   [>]   Switch/create profiles
   [RET] Exit

Press key of selection:
~ # ❯❯❯ synth status /usr/local/etc/jail_ports.txt
Scanning existing packages.
These are the ports that would be built:
  => mail/postfix-current
Total packages that would be built: 1
The complete build list can also be found at:
/tmp/synth_status_results.txt
~ # ❯❯❯ synth just-build /usr/local/etc/jail_ports.txt
Scanning existing packages.
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
~ # ❯❯❯ synth force mail/postfix-current
Scanning existing packages.
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Would you like to rebuild the local repository (Y/N)? n

For the [N] option it would also be really important to check all dependencies (for example I want to use libressl instead of openssl), I guess that's built in already.

I tried again with a synth force /usr/local/etc/jail_ports.txtand now 66 ports are being rebuilt. But there is also this line:

00:00:04 [--] ignored  mail/postfix-current                          --:--:--
basbebe commented 8 years ago

Sorry, I found out what the problem was:

SPF support is unavailable for postfix-3.0-20151003.
~ # ❯❯❯ make -C /usr/ports/mail/postfix-current rmconfig
===> Removing user-configured options for postfix-current-3.0.20151003_1,4
~ # ❯❯❯ synth just-build mail/postfix-current
~ # ❯❯❯ make -C /usr/ports/mail/postfix-current config

~ # ❯❯❯ synth just-build mail/postfix-current
Scanning existing packages.
postfix-current-3.0.20151003_1,4.txz failed option check.
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
~ # ❯❯❯ synth force mail/postfix-current
Scanning existing packages.
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Would you like to rebuild the local repository (Y/N)? n

~ # ❯❯❯ make -C /usr/ports/mail/postfix-current
===>  postfix-current-3.0.20151003_1,4 is marked as broken: At the moment,
SPF support is unavailable for postfix-3.0-20151003.
*** Error code 1

Stop.
make: stopped in /usr/ports/mail/postfix-current

feature request: make Synth show these messages

jrmarino commented 8 years ago

this would have been shown in the logs (00 .. 04), in this case it would have shown in the IGNORE log

basbebe commented 8 years ago

I guess I was too impatient and ignorant to look there. I guess it would add to Synth's transparency and the ease of use if those messages (or a hint) would be printed.

jrmarino commented 8 years ago

after every build, it says where the logs are. In this case it did not because nothing actually built, but they are in the man page I think.

jrmarino commented 8 years ago

I don't think this one has any left to discussion either.