Bug 222389 - ports-mgmt/synth: Fails to test proposed update of mail/postfix-policyd-spf-python
Summary: ports-mgmt/synth: Fails to test proposed update of mail/postfix-policyd-spf-p...
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-17 11:37 UTC by Yasuhiro Kimura
Modified: 2017-12-03 20:04 UTC (History)
1 user (show)

See Also:


Attachments
synth build log of mail/postfix-policyd-spf-python (11.17 KB, text/plain)
2017-09-17 11:37 UTC, Yasuhiro Kimura
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-17 11:37:51 UTC
Created attachment 186455 [details]
synth build log of mail/postfix-policyd-spf-python

About 2 months ago I submitted update of mail/postfix-policyd-spf-python as bug #220706. But it was hold off because of known issue of poudriere. That is, while 'cd /usr/ports/mail/postfix-policyd-spf-python && make install' works fine without any errors, 'poudriere testport -o mail/postfix-policyd-spf-python' fails due to the issue reported in bug #206067. This is an introduction of this PR.

And today I wonder if synth can build my update. So I installed synth, configured it and tried 'synth test mail/postfix-policyd-spf-python'. But it failed as following:

root@rolling-vm-freebsd1[1646]# synth test mail/postfix-policyd-spf-python
Stand by, building pkg(8) first ... done!
                    



The task is complete.  Final tally:
Initial queue size: 15
    packages built: 14
           ignored: 0
           skipped: 0
            failed: 1

Duration: 00:05:00
The build logs can be found at: /usr0/synth/NoCustomization/log                                                              root@rolling-vm-freebsd1[1647]# 

By checking build log of mail/postfix-policyd-spf-python (it is attached to this PR) and listing built packages in repository directory, I am convinced that syth has same issue as poudriere. That is.

1. mail/postfix-policyd-spf-python has run-time dependency on mail/py-pyspf and mail/py-authres. So synth also build these ports.
2. mail/postfix-policyd-spf-python is Python 3 only ports (USES=python:3.3+). So synth build it as package for default Python 3 version, that is, 3.6.
3. Since mail/postfix-policyd-spf-python is built as Python 3.6 package, depending ports (mail/py-pyspf, maii/py-authres and there dependencies) also have to be built as Python 3.6 packages.
4. But mail/py-pyspf, mail/py-authres and etc themselves are compatible with all supported Python versions (USE=python). So synth build them as package for default Python version, that is, 2.7.
5. So when synth completed build of all dependencies and start building mail/postfix-policyd-spf-python, there are no required Python 3.6 packages in repository, and it results in build failure.

After all it seems the root of this issue is that synth builds depending ports as if they were master one. So in order to fix this issue synth must be changed so requirements of master port are inherited to build of dependencies in some way.
Comment 1 Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-17 11:58:23 UTC
How poudriere fixes same issue is discussed in following URL.

https://github.com/freebsd/poudriere/issues/259

It may help synth to fix this issue. Just FYI.
Comment 2 Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-23 10:08:15 UTC
Upstream author said he didn't intend to fix this problem.

https://github.com/jrmarino/synth/issues/96#issuecomment-330307815