-
Notifications
You must be signed in to change notification settings - Fork 104
/
tar_scm.service.in
219 lines (201 loc) · 9.35 KB
/
tar_scm.service.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
===OBS_ONLY
<service name="obs_scm">
<summary>Create a special OBS archive from a SCM</summary>
<description>This service uses a SCM client to checkout or update from a given repository. Supported are svn, git, hg and bzr. The result will archived in a format which can be stored
incremental by the OBS source server, currently a cpio format. This archive will be extracted again inside of the build root.</description>
===
===TAR_ONLY
<service name="tar_scm">
<summary>Create a tarball from SCM repository</summary>
<description>This service uses a SCM client to checkout or update from a given repository. Supported are svn, git, hg and bzr.</description>
===
===GBP_ONLY
<service name="gbp_scm">
<summary>Create Debian source artefacts from SCM repository</summary>
<description>This service uses a Git to checkout or update from a given repository and create the Debian source artefacts (.dsc, .origin.tar.gz and .debian.tar.gz if non-native). Can only be used with (and implies) --scm git.</description>
<parameter name="gbp-build-args">
<description>Parameters passed to git-buildpackage. Default is '-nc -uc -us -S'.</description>
</parameter>
<parameter name="gbp-dch-release-update">
<description>Append OBS release number. Default is 'disable'.</description>
<allowedvalue>enable</allowedvalue>
<allowedvalue>disable</allowedvalue>
</parameter>
===
<parameter name="scm">
<description>Specify SCM to use.</description>
<allowedvalue>svn</allowedvalue>
<allowedvalue>git</allowedvalue>
<allowedvalue>hg</allowedvalue>
<allowedvalue>bzr</allowedvalue>
<required/>
</parameter>
<parameter name="url">
<description>Specify URL to checkout. Allowed URL types: (http/https/ftp/ftps/git/ssh)</description>
<required/>
</parameter>
<parameter name="user">
<description>
Specify the username to be used for authentication to the repository.
</description>
</parameter>
<parameter name="keyring-passphrase">
<description>
Specify the passphrase to decrypt credentials from the python keyring.
To store credentials please use the following command lines:
"sudo chown obsservicerun:obsrun /etc/obs/services/tar_scm.d"
"sudo -H -u obsservicerun XDG_DATA_HOME=/etc/obs/services/tar_scm.d keyring -b keyrings.alt.file.EncryptedKeyring set URL username"
Its only available for the following combination of SCM / protocols:
- git: ftp(s),http(s)
- svn
- bzr: bzr,ftp,http(s)
- hg: http(s)
</description>
</parameter>
<parameter name="subdir">
<description>Package just a subdirectory.</description>
</parameter>
<parameter name="version">
<description>
Specify version to be used in tarball. Defaults to automatically detected value formatted by versionformat parameter (_auto_).
Use _none_ to disable version rewriting and use what is defined in the spec or debian/changelog.
</description>
</parameter>
<parameter name="versionformat">
<description>
Auto-generate version from checked out source using this format
string. This parameter is used if the 'version' parameter is not
specified.
For git, the value is passed to git log --date=short --pretty=format:...
for the topmost commit, and the output from git is cleaned up to
remove some unhelpful characters. Here are some useful examples of
strings which are expanded, see the git-log documentation for more.
%ct Commit time as a UNIX timestamp, e.g. 1384855776.
This is the default.
%at Author time as a UNIX timestamp, e.g. 1384855776.
%cd Commit date in YYYYMMDD format, e.g. 20131119
%ad Author date in YYYYMMDD format, e.g. 20131119
%h Abbreviated hash, e.g. cc62c54
@PARENT_TAG@ The first tag that is reachable, e.g. v0.2.3
@TAG_OFFSET@ The commit count since @PARENT_TAG@, e.g. 9
For hg, the value is passed to hg log --template=.... See the
hg documentation for more information. The default is '{rev}'
For bzr and svn, '%r' is expanded to the revision, and is the default.
</description>
</parameter>
<parameter name="versionrewrite-pattern">
<description>
Regex used to rewrite the version which is applied post versionformat. For
example, to remove a tag prefix of "v" the regex "v(.*)" could be used.
See the versionrewrite-replacement parameter.
</description>
</parameter>
<parameter name="versionrewrite-replacement">
<description>
Replacement applied to rewrite pattern. Typically backreferences are
useful and as such defaults to \1.
</description>
</parameter>
<parameter name="versionprefix">
<description>Specify a base version as prefix.</description>
</parameter>
<parameter name="match-tag">
<description>
With this parameter you can specify a glob pattern (e.g. v*) to filter
relevant tags in your project e.g. if you use @PARENT_TAG@.
</description>
</parameter>
<parameter name="parent-tag">
<description>
This parameter allows overriding the tag that is being used for
computing @TAG_OFFSET@.
</description>
</parameter>
<parameter name="revision">
<description>
Specify revision of source to check out.
When using git, revision may refer to any of the following:
* explicit SHA1: a1b2c3d4....
- the SHA1 must be reachable from a default clone/fetch
(generally, must be reachable from some branch or tag on the
remote).
- set by: git checkout ${SHA1}
* short branch name: "master", "devel" etc.
- set by: git checkout ${branch}
git pull
* explicit ref: refs/heads/master, refs/tags/v1.2.3,
refs/changes/49/11249/1
- set by: git fetch ${url} ${revision}:${revision}
git checkout ${revision}
* the first tag that is reachable via git describe on the default branch: @PARENT_TAG@
</description>
</parameter>
<parameter name="filename">
<description>Specify name of package, which is used together with version to determine tarball name.</description>
</parameter>
<parameter name="extension">
<description>Specify suffix name of package, which is used together with filename to determine tarball name.</description>
</parameter>
<parameter name="exclude">
<description>Specify glob pattern to exclude when creating the tarball.</description>
</parameter>
<parameter name="include">
<description>Specify subset of files/subdirectories to pack in the tarball.</description>
</parameter>
<parameter name="extract">
<description>Specify a file/glob to be exported directly. Useful for build descriptions like spec files
which get maintained in the SCM. Can be used multiple times.</description>
</parameter>
<parameter name="package-meta">
<description>Package the metadata of SCM to allow the user or OBS to update after un-tar.</description>
<allowedvalue>yes</allowedvalue>
</parameter>
<parameter name="history-depth">
<description>Obsolete parameter which will be ignored.</description>
</parameter>
<parameter name="submodules">
<description>Specify whether to include git submodules. Default is 'enable'. main or master is override the specified commit with master or main branch.</description>
<allowedvalue>enable</allowedvalue>
<allowedvalue>master</allowedvalue>
<allowedvalue>main</allowedvalue>
<allowedvalue>disable</allowedvalue>
</parameter>
===OBS_ONLY
<parameter name="lfs">
<description>Specify whether to include git-lfs blobs. Default is 'disable'.</description>
<allowedvalue>enable</allowedvalue>
<allowedvalue>disable</allowedvalue>
</parameter>
===
<parameter name="sslverify">
<description>Specify Whether or not to check server certificate against installed CAs. Default is 'enable'.</description>
<allowedvalue>enable</allowedvalue>
<allowedvalue>disable</allowedvalue>
</parameter>
<parameter name="changesgenerate">
<description>Specify whether to generate changes file entries from SCM commit log since a given parent revision (see changesrevision). Default is 'disable'.</description>
<allowedvalue>enable</allowedvalue>
<allowedvalue>disable</allowedvalue>
</parameter>
<parameter name="changesauthor">
<description>Specify author of the changes file entry to be written. Defaults to first email entry in ~/.oscrc, or "obs-service-tar-scm@invalid" if there is no .oscrc found.</description>
</parameter>
<parameter name="locale">
<description>DEPRECATED - Please use "encoding" instead. Set locale while execution of service</description>
</parameter>
<parameter name="encoding">
<description>Set encoding while execution of service</description>
</parameter>
<parameter name="latest-signed-commit">
<description>Use the latest signed commit on a branch</description>
</parameter>
<parameter name="latest-signed-tag">
<description>Use the latest signed tag on a branch</description>
</parameter>
<parameter name="maintainers-asc">
<description>File which contains maintainers pubkeys (only used with '--latest-signed-*')</description>
</parameter>
<parameter name="without-version">
<description>Do not add version to output file.</description>
</parameter>
</service>