1CREATEREPO_C(8) CREATEREPO_C(8)
2
3
4
6 createrepo_c - Create rpm-md format (xml-rpm-metadata) repository
7
9 createrepo_c [options] <directory>
10
12 Uses rpm packages from <directory> to create repodata.
13
14 If compiled with libmodulemd support modular metadata inside <direc‐
15 tory> identified by the patterns below and all their compressed vari‐
16 ants are automatically collected, merged and added to the repodata.
17
18 The patterns are:
19
20 • *.modulemd.yaml (recommended file name: N:S:V:C:A.modulemd.yaml)
21
22 • *.modulemd-defaults.yaml (recommended file name: N.modulemd-de‐
23 faults.yaml)
24
25 • modules.yaml (recommended way of importing multiple documents at
26 once)
27
29 -V --version
30 Show program's version number and exit.
31
32 -q --quiet
33 Run quietly.
34
35 -v --verbose
36 Run verbosely.
37
38 -x --excludes PACKAGE_NAME_GLOB
39 Path patterns to exclude, can be specified multiple times. The pat‐
40 terns are matched against relative paths to RPMs. Note that the fea‐
41 ture uses g_pattern_match() function, not glob(), for semantic differ‐
42 ences see https://developer.gnome.org/glib/stable/glib-Glob-style-pat‐
43 tern-matching.html
44
45 --basedir BASEDIR
46 Basedir for path to directories.
47
48 -u --baseurl URL
49 Optional base URL location for all files.
50
51 -g --groupfile GROUPFILE
52 Path to groupfile to include in metadata.
53
54 -s --checksum CHECKSUM_TYPE
55 Choose the checksum type used in repomd.xml and for packages in the
56 metadata. The default is now sha256.
57
58 -p --pretty
59 Make sure all xml generated is formatted (default)
60
61 -d --database
62 Generate sqlite databases for use with yum.
63
64 --no-database
65 Do not generate sqlite databases in the repository.
66
67 --update
68 If metadata already exists in the outputdir and an rpm is unchanged
69 (based on file size and mtime) since the metadata was generated, reuse
70 the existing metadata rather than recalculating it. In the case of a
71 large repository with only a few new or modified rpms this can signifi‐
72 cantly reduce I/O and processing time.
73
74 --update-md-path
75 Existing metadata from this path are loaded and reused in addition to
76 those present in the outputdir (works only with --update). Can be spec‐
77 ified multiple times.
78
79 --skip-stat
80 Skip the stat() call on a --update, assumes if the filename is the same
81 then the file is still the same (only use this if you're fairly trust‐
82 ing or gullible).
83
84 --split
85 Run in split media mode. Rather than pass a single directory, take a
86 set of directories corresponding to different volumes in a media set.
87 Meta data is created in the first given directory
88
89 -i --pkglist FILENAME
90 Specify a text file which contains the complete list of files to in‐
91 clude in the repository from the set found in the directory. File for‐
92 mat is one package per line, no wildcards or globs.
93
94 -n --includepkg PACKAGE
95 Specify pkgs to include on the command line. Takes urls as well as lo‐
96 cal paths.
97
98 --recycle-pkglist
99 Useful only with --update. Read the list of packages from old meta‐
100 data, and reuse it instead of (perhaps expensive) directory traversal.
101 This doesn't collide with explicitly selected packages by --pkglist or
102 --includepkg, such packages are appended to the recycled list. This
103 option is useful for I/O optimal repo modifications (package removal by
104 --exclude, and additions with --pkglist).
105
106 -o --outputdir URL
107 Optional output directory.
108
109 -S --skip-symlinks
110 Ignore symlinks of packages.
111
112 --changelog-limit NUM
113 Only import the last N changelog entries, from each rpm, into the meta‐
114 data.
115
116 --unique-md-filenames
117 Include the file's checksum in the metadata filename, helps HTTP
118 caching (default).
119
120 --simple-md-filenames
121 Do not include the file's checksum in the metadata filename.
122
123 --retain-old-md NUM
124 Specify NUM to 0 to remove all repodata present in old repomd.xml or
125 any other positive number to keep all old repodata. Use --compatibility
126 flag to get the behavior of original createrepo: Keep around the latest
127 (by timestamp) NUM copies of the old repodata (works only for primary,
128 filelists, other and their DB variants).
129
130 --distro DISTRO
131 Distro tag and optional cpeid: --distro'cpeid,textname'.
132
133 --content CONTENT_TAGS
134 Tags for the content in the repository.
135
136 --repo REPO_TAGS
137 Tags to describe the repository itself.
138
139 --revision REVISION
140 User-specified revision for this repository.
141
142 --set-timestamp-to-revision
143 Set timestamp fields in repomd.xml and last modification times of cre‐
144 ated repodata to a value given with --revision. This requires --revi‐
145 sion to be a timestamp formatted in 'date +%s' format.
146
147 --read-pkgs-list READ_PKGS_LIST
148 Output the paths to the pkgs actually read useful with --update.
149
150 --workers
151 Number of workers to spawn to read rpms.
152
153 --xz
154 Use xz for repodata compression.
155
156 --compress-type COMPRESSION_TYPE
157 Which compression type to use.
158
159 --general-compress-type COMPRESSION_TYPE
160 Which compression type to use (even for primary, filelists and other
161 xml).
162
163 --zck
164 Generate zchunk files as well as the standard repodata.
165
166 --zck-dict-dir ZCK_DICT_DIR
167 Directory containing compression dictionaries for use by zchunk
168
169 --keep-all-metadata
170 Keep all additional metadata (not primary, filelists and other xml or
171 sqlite files, nor their compressed variants) from source repository
172 during update (default).
173
174 --discard-additional-metadata
175 Discard all additional metadata (not primary, filelists and other xml
176 or sqlite files, nor their compressed variants) from source repository
177 during update.
178
179 --compatibility
180 Enforce maximal compatibility with classical createrepo (Affects only:
181 --retain-old-md).
182
183 --retain-old-md-by-age AGE
184 During --update, remove all files in repodata/ which are older then the
185 specified period of time. (e.g. '2h', '30d', ...). Available units (m -
186 minutes, h - hours, d - days)
187
188 -c --cachedir CACHEDIR.
189 Set path to cache dir
190
191 --deltas
192 Tells createrepo to generate deltarpms and the delta metadata.
193
194 --oldpackagedirs PATH
195 Paths to look for older pkgs to delta against. Can be specified multi‐
196 ple times.
197
198 --num-deltas INT
199 The number of older versions to make deltas against. Defaults to 1.
200
201 --max-delta-rpm-size MAX_DELTA_RPM_SIZE
202 Max size of an rpm that to run deltarpm against (in bytes).
203
204 --local-sqlite
205 Gen sqlite DBs locally (into a directory for temporary files). Some‐
206 times, sqlite has a trouble to gen DBs on a NFS mount, use this option
207 in such cases. This option could lead to a higher memory consumption if
208 TMPDIR is set to /tmp or not set at all, because then the /tmp is used
209 and /tmp dir is often a ramdisk.
210
211 --cut-dirs NUM
212 Ignore NUM of directory components in location_href during repodata
213 generation
214
215 --location-prefix PREFIX
216 Append this prefix before location_href in output repodata
217
218 --repomd-checksum CHECKSUM_TYPE
219 Checksum type to be used in repomd.xml
220
221 --error-exit-val
222 Exit with retval 2 if there were any errors during processing (option
223 deprecated, on by default)
224
225 --ignore-lock
226 Expert (risky) option: Ignore an existing .repodata/. (Remove the ex‐
227 isting .repodata/ and create an empty new one to serve as a lock for
228 other createrepo instances. For the repodata generation, a different
229 temporary dir with the name in format .repodata.time.microseconds.pid/
230 will be used). NOTE: Use this option on your own risk! If two createre‐
231 pos run simultaneously, then the state of the generated metadata is not
232 guaranteed - it can be inconsistent and wrong.
233
234
235
236
237 2021-09-23 CREATEREPO_C(8)