We are planning to migrate windows.php.net to a new server. During the
migration period, we want the uploads to go to both the current and the
new machine. We accomplish that by having an additional credentials
file (credentials_ftps2.php), and running the upload routines twice.
Since LuaSandbox is not compatible with latest Lua versions[1], we use
lua 5.1.5. It should be noted that the lua-5.1.5 packages are not
suitable to build the lua extension.
[1] <https://bugs.php.net/80850>
This is a follow up on the quick fix for exporting from the php-src
Github mirror[1]. Instead of hard-coding everything in the code, we
introduce a configurable `gh_url`, and use it if given. We cannot use
the repository URL, though, because the toplevel folder inside the
downloaded archive would have a different name (the shortened revision
number is expanded again); downloading from the codeload subdomain
gives the desired result.
[1] <9e1ca1002a>
Due to server overload, the snapshot downloads from http://git.php.net/
have been recently disabled. Therefore, we have to fetch the snapshots
from Github. Unfortunately, rmtools expect everything available via
GitWeb, so we can't just change the configuration in the respective INI
files, so we hack around by hard-coding the download URL. Even worse,
`wget()` apparently does not yet support redirects, so we use the
codeload subdomain directly.
For now this seems to resolve the snapshot build issues, but needs to
be properly resolved soonish.
Some extensions have the actual extension code in a subfolder of the
toplevel package folder, and as such can't currently be built. For
instance, xhprof has `xhprof-x.y.z/extension/config.w32`, but we only
check for `xhprof-x.y.z/config.w32` and `config.w32`.
Changing `PeclExt::tmp_extract_path` to point to the subfolder which
contains ' config.w32` wouldn't work, though, because then the folders
in package.xml won't match anymore. Therefore, we attempt to copy the
whole subfolder one level up, and resume the build process.
If a PGO build is requested, but a build error occurs after the PGI
build has succeeded and before the PGO build has even been attempted
(for instance, if the PGO training fails), we may get a bogus archive
containing the PGI build, without any hint.
We apply a quick fix which bails out early, because if the PGI build
failed, it makes no sense to do the PGO build, and if the binaries
couldn't be built, it makes no sense to create the archive. However,
we still allow the PGO training to fail for snapshot builds.