These tarballs are automatically generated from the OpenJDK repositories at hg.openjdk.java.net. These are source tarballs, without Mercurial metadata. If you want to check out Mercurial repository and/or explore code in repository branches, consider checking out workspaces tarballs.
Archive names are derived from the names of the tracked repositories. Snapshots are rotated daily, using the source-snapshot-pack-*.sh below. While daily rotation would include the latest work in most repositories, it could miss the work done thorought the last day in the active ones.
Builds require a few build dependencies. Configure script usually tells what dependencies to install on the concrete OS flavor. On recent Debian/Ubuntu, this should be enough:
$ sudo apt install build-essential libx11-dev libxext-dev libxrender-dev \ libxtst-dev libxt-dev libcups2-dev libfontconfig1-dev \ libasound2-dev libfreetype6-dev libpng-dev
Example to checkout and build JDK 8u or derivatives:
$ curl https://builds.shipilev.net/source-snapshots/jdk8u-jdk8u.tar.xz | tar xJf -; \ cd jdk8u-jdk8u; \ sh ./configure \ make images; \ build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java -version
Example to checkout and build JDK 10+ or derivatives:
$ curl https://builds.shipilev.net/source-snapshots/jdk-jdk.tar.xz | tar xJf -; \ cd jdk-jdk; \ sh ./configure \ make images; \ build/linux-x86_64-normal-server-release/images/jdk/image/bin/java -version
Depending on your environment, "configure" might require a few options that deal with compiler warnings on too old or too new toolchains. The #YOLO option is most probably --disable-warnings-as-errors or --with-extra-cflags=-Wno-error.