Next: Tutorial, Previous: Requirements, Up: Build [Index]
Build process must not depend on the Internet access. You must be able to preliminary download all necessary source code needed for the skel. And as in most package build systems, that retrievable source code is called "distfile".
There are no requirements how you will get it. But in most cases that is either downloadable tarball or archive created from specific VCS commit. Modern DVCS’es commit is already self integrity checked tree of files. But tarball is just a bunch of bytes. You have to provide the URL where to get it, and checksum(s) to verify against, to be sure that it is not tampered or altered somehow. Moreover many distribution sites also provide a detached cryptographic signature of the tarball, which you can verify against some know author’s public key.
That is why Metalink4 files are used to get tarballs. They also tend to contain checksum hash present on the download website.
You can download all distfiles by invoking redo distfiles/all
target. An archive with all of them can be created with
distfiles/pack >distfiles.tar
command.
.meta4 files can be processed by either of three programs:
$META4_FETCHER=meta4ra-check
Use meta4ra-check -dl 0
command to download the first URL.
This is by default, because meta4ra
utilities are anyway
installed already. It won’t try to download other URLs, unlike other
fetch options there!
$META4_FETCHER=wget
Use wget
compiled with --with-metalink option. The
only drawback is that most OS distributions contain Wget without that
(--input-metalink) option.
$META4_FETCHER=aria2c
Use Aria2. Unfortunately it sometimes fails to deal with links on GitHub.com.
Next: Tutorial, Previous: Requirements, Up: Build [Index]