This is an Open Build Service source service. It uses an SCM client to checkout or update a package by creating a source tarball from a source code repository.
It supports many options, e.g. it can adjust resulting tarball parameters, include or exclude particular files when creating this tarball or generate an rpm changelog from the SCM commit log. For the full list of options please see tar_scm.service.in.
Apart from various SCM like git, hg, bzr or svn it additionally supports --url
option that allows you to specify URL of the upstream tarball to be downloaded.
This is the git repository for openSUSE:Tools/obs-service-tar_scm. The authoritative source is https://github.com/openSUSE/obs-service-tar_scm
The service can be used in combination with other services like download_files, extract_file, recompress or set_version e.g. within the GIT integration workflow.
The obscpio
archive format is the new OBS specific archive format based on cpio
which can be consumed and generated by the OBS Delta Store to store changes in an incremental way independently from your chosen SCM.
The obs_scm
service generates archives in this format, which is basically the cpio
newc
format.
The standard tar
archive format is used as output format by the tar
and tar_scm
source services.
tar_scm
is the legacy source service used to create a source tarball from a source code management tool.
obs_scm
uses the new obscpio
archive format to store the sources.
It is recommended to use obs_scm
in favour to tar_scm
, because it helps to save a lot of disk space on the server side, especially when used in continuous integration (e.g. nightly builds etc.).
The usual source tarballs can be regenerated from this at build-time using the tar
and recompress
source services, so no changes to .spec
files are required when switching to obs_scm
and obscpio
.
obs_scm
additionally generates a file named <package>.obsinfo
which includes useful information from your SCM system, so this data can be accessed at build-time.
The tar
source service creates a tarball out of obscpio
archives.
The snapcraft
source service can be used to fetch sources before building a snappy
app (a.k.a. snap).
It parses a snapcraft.yml
file, for the SCM related parts and executes the corresponding services.
The appimage
source service can be used to fetch sources before building an AppImage app.
It parses an appimage.yml
file for the SCM related parts and executes the corresponding services.
The files in this top-level directory need to be installed using the following:
make install
See the TESTING.md file.
See the CONTRIBUTING.md file.