On 10 July 2015 at 14:45, Johannes Pfau via D.gnu <d.gnu@puremagic.com> wrote:
> I thinks it's time to push some new binary releases to gdcproject.org > (gcc-5, intrinsics for checkedint, ...). We should first get some structure > into our download archive though: ftp://ftp.gdcproject.org/binaries/ > > The first question is whether we can break old download links. I've > hardcoded one or two toolchain URLs in the build scripts, but that could be > changed easily. > > > I think we can break anything that isn't a short name (should be a symlink on the server). We need to keep at least these for Travis to continue working. http://ftp.digitalmars.com/LATEST_GDC By all means, we can raise a PR with Travis to move it elsewhere, then remove the rest of the old structure later. > Another question is how exactly the new directory layout should look like. > I think we definitely need host folders as a top-level structure: > > /binaries > |- x86_64-linux-gnu > |- x86_64-w64-mingw32 > |- arm-linux-gnueabi > > Do we want to have the target as a directory? GCC version? Frontend > version? > I think the frontend version is usually more important for users than gcc > version. So if we don't use the GCC version we still have two options. > dmdversion/target or target/dmdversion: > > /binaries > |- x86_64-linux-gnu > | |- 2.061 > | | |- x86_64-w64-mingw32 > | | | |- x86_64-w64-mingw32_2.061.2_gcc4.8.2_AAAA_20140430.tar.xz > | | | |- x86_64-w64-mingw32_2.061.2_gcc4.8.2_BBBB_20140430.tar.xz > | | |- arm-linux-gnueabi > | |- 2.062 > |- x86_64-w64-mingw32 > |- arm-linux-gnueabi > > Another question: DMD frontend sub-releases in one folder? > (2.061|2.061.1|2.061.2) > > I think GCC releases should take precedence over D Frontend and architecture IMO. As that is the most recognisable (and important) aspect of the name. eg: /binaries |- 4.8.4 | |- x86_64-linux-gnu | | |- gdc-4.8.4+2.061.2.tar.xz | | |- gdc-4.8.4+2.062.tar.xz | | |- gdc-4.8.4-arm-linux-gnueabi+2.061.2.tar.xz | | |- gdc-4.8.4-arm-linux-gnueabi+2.062.tar.xz | | |- gdc-4.8.4-x86_64-w64-mingw32+2.061.2.tar.xz | | |- gdc-4.8.4-x86_64-w64-mingw32+2.062.tar.xz | |- arm-linux-gnueabi | | |- gdc-4.8.4+2.061.2.tar.xz | | |- gdc-4.8.4+2.062.tar.xz | |- x86_64-w64-mingw32 | | |- gdc-4.8.4+2.061.2.tar.xz | | |- gdc-4.8.4+2.062.tar.xz |- 4.9.2 | |- arm-linux-gnueabi | |- x86_64-linux-gnu | |- x86_64-w64-mingw32 |- 5.1.0 | |- arm-linux-gnueabi | |- x86_64-linux-gnu | |- x86_64-w64-mingw32 I want to avoid a situation where there is both gdc-4.8.2-2.061.2-20140430 and gdc-4.8.2-2.061.2-20150430 in the same directory. We are already overcrowding the name with a version number pair, adding in a timestamp just makes it unreadable. So, rather than having timestamps, I think we should just co-ordinate our binary releases around GCC major and minor updates. My preference being, if we really must push in an update tarball whose GCC/DMD version pair is already on our FTP server, I'd rather just overwrite the previous version, maybe moving the original into an old-releases directory. Regards Iain