New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Always install the main port from source #12
Conversation
We already do some protection to avoid rebuilding existing ports, so there's no need to avoid building from source on the buildbot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok.
However, now that I saw macports/mpbot-github@18b6ba2: how do you NOT skip the submitted ports on Travis? On the buildbot we would skip building any ports that can be found on the server. This is not desired on Travis, but I don't see any options to turn this functionality on/off.
And ... we should better address https://trac.macports.org/ticket/55041 some time soon? A trivial force-rebuild of 200 ports took 2 hours just to list the ports on an intel VM (it's not just ppc that's slow).
func ListSubports(port string) ([]string, error) {
listCmd := exec.Command("mpbb", "list-subports", "--archive-site=", "--archive-site-private=", port) Setting if [[ -n "${archive_site_public}" || -n "${archive_site_private}" ]]; then
[...]
if [[ -n "${archive_site}" ]] && curl -fIsL "${archive_site}/${port}/${archive_basename}" > /dev/null; then
exclude=1
exclude_reasons+=("it is ${archive_distributable} and has already been built and uploaded to the ${archive_type} server")
fi |
Oh, sorry, perfect! Now only the performance issues with port listing :) |
At first glance, I would say yes, this is unwanted on buildbot. If we get to the point of installing a port that exists on the server, we want to use that archive from the server; we don't want to waste time building it from source. |
But if a package already existis, the buildbot should not even enter this loop, in particular not now that we have the correctly sorted build order? Or am I missing something? |
If the archive exists on the server, but does not exist on the buildbot worker, then a build will be scheduled. We would want to download and install the existing archive on the worker; we would not want to rebuild from source. If the archive exists on the buildbot worker, but does not exist on the server, then a build will be scheduled. We would want to upload the existing archive from the worker to the server; we would not want to rebuild from source. |
Well, if the archive exists on the right (public or private) server, then a build will not be scheduled. But if the archive exists on the wrong (public or private) server, then a build will be scheduled so that it can be uploaded to the right server. |
Oh, mea culpa. But let's fix it in a proper way then rather than simply reverting this commit. I propose that we add support for something like mpbb install-port [--source] portname which would tell |
I can't think of any problem with that proposal! 😄 |
Any unwanted side effects on the Buildbot?