4.2 sources

sources’ file is a list of files and sources that will be put to the build directory during the build process. Those can be remote sources (such as tarballs), git repositories, and files that reside on the package directory.

The syntax is pretty simple for the ‘soures’ file; ‘src dest’. The ‘dest’ parameter is optional. It is the directory that the source will be placed in. Here is the ‘sources’ file for the ‘gst-plugins’ package:

https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz good
https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz   bad
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz ugly
https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.16.2.tar.xz               libav

This file is read from the package manager as space seperated. Files that begin with a ‘#’ comment are ignored. The first value points to the location of the source.

If it starts with a protcol url, (such as ftp:// http:// https://) it will be downloaded with ‘curl’.

If the source is a git repository, it shall be prefixed with a ‘git+’ git(1) will be used to do a shallow clone of the repository. If the commit is suffixed by a history pointer, git will checkout the relevant revision. So,

git+git://example.com/pub/repo@v1.2.3

will checkout the tag named "v1.2.3"

git+git://example.com/pub/repo#development

will checkout the branch named "development"

git+git://example.com/pub/repo#1a314s87

will checkout the commit named "1a314s87"

Other files are assumed to be residing in the package directory. They should be added with their paths relative to the package directory.