代码拉取完成,页面将自动刷新
/* createrepo_c - Library of routines for manipulation with repodata
* Copyright (C) 2012 Tomas Mlcoch
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*/
#ifndef __C_CREATEREPOLIB_CMD_PARSER_H__
#define __C_CREATEREPOLIB_CMD_PARSER_H__
#include <glib.h>
#include "checksum.h"
#include "compression_wrapper.h"
#define DEFAULT_CHANGELOG_LIMIT 10
typedef enum {
CR_ARG_DUP_NEVRA_KEEP_ALL = 0,
CR_ARG_DUP_NEVRA_KEEP_LAST,
} CmdDupNevra;
/**
* Command line options
*/
struct CmdOptions {
/* Items filled by cmd option parser */
char *basedir; /*!< basedir for path to directories */
char *location_base; /*!< base URL location */
char *outputdir; /*!< output directory */
char **excludes; /*!< list of file globs to exclude */
char *pkglist; /*!< file with files to include */
char **includepkg; /*!< list of files to include */
char *groupfile; /*!< groupfile path or URL */
gboolean quiet; /*!< quiet mode */
gboolean verbose; /*!< verbosely more than usual (debug) */
gboolean update; /*!< update repo if metadata already exists */
gboolean pretty; /*!< generate pretty xml (just for compatibility) */
char **update_md_paths; /*!< list of paths to repositories which should
be used for update */
gboolean skip_stat; /*!< skip stat() call during --update */
gboolean split; /*!< generate split media */
gboolean version; /*!< print program version */
gboolean database; /*!< create sqlite database metadata */
gboolean no_database; /*!< do not create database */
gboolean filelists_ext; /*!< create filelists-ext metadata with file hashes */
char *checksum; /*!< type of checksum */
char *compress_type; /*!< which compression type to use */
char *general_compress_type;/*!< which compression type to use (even for
primary, filelists and other xml) */
gboolean skip_symlinks; /*!< ignore symlinks of packages */
gint changelog_limit; /*!< number of changelog messages in
other.(xml|sqlite) */
gboolean unique_md_filenames; /*!< include the file checksums in
the filenames */
gboolean simple_md_filenames; /*!< simple filenames (names without
checksums) */
gint retain_old; /*!< keep latest N copies of the old repodata */
char **distro_tags; /*!< distro tag and optional cpeid */
char **content_tags; /*!< tags for the content in the repository */
char **repo_tags; /*!< tags to describe the repo_tagsitory itself */
char *revision; /*!< user-specified revision */
gboolean set_timestamp_to_revision; /*!< use --revision instead of current
time for timestamps */
char *read_pkgs_list; /*!< output the paths to pkgs actually read */
gint workers; /*!< number of threads to spawn */
gboolean xz_compression; /*!< use xz for repodata compression */
gboolean zck_compression; /*!< generate zchunk files */
char *zck_dict_dir; /*!< directory with zchunk dictionaries */
gboolean keep_all_metadata; /*!< keep groupfile and updateinfo from source
repo during update */
gboolean discard_additional_metadata; /*!< Inverse option to keep_all_metadata */
gboolean ignore_lock; /*!< Ignore existing .repodata/ - remove it,
create the new one (empty) to serve as
a lock and use a .repodata.date.pid for
data generation. */
gboolean compatibility; /*!< Enforce maximal compatibility with
createrepo. I.e. mimics some dump
behavior like perseve old comps file(s)
during update etc.*/
char *retain_old_md_by_age; /*!< Remove all files in repodata/ older
then specified period of time,
during --update.
Value examples: "360" (360 sec),
"5d" (5 days), ..
Available units: (m - minutes, h - hours,
d - days) */
char *cachedir; /*!< Cache dir for checksums */
gboolean deltas; /*!< Is delta generation enabled? */
char **oldpackagedirs; /*!< Paths to look for older pks
to delta agains */
gint num_deltas; /*!< Number of older version to make
deltas against */
gint64 max_delta_rpm_size; /*!< Max size of an rpm that to run
deltarpm against */
gboolean local_sqlite; /*!< Gen sqlite locally into a directory for
temporary files.
For situations when sqlite has a trouble
to gen DBs on NFS mounts. */
gint cut_dirs; /*!< Ignore *num* of directory components
during repodata generation in location
href value. */
gchar *location_prefix; /*!< Append this prefix into location_href
during repodata generation. */
gchar *repomd_checksum; /*!< Checksum type for entries in repomd.xml */
gboolean error_exit_val; /*!< exit 2 on processing errors */
/* Items filled by check_arguments() */
char *groupfile_fullpath; /*!< full path to groupfile */
GSList *exclude_masks; /*!< list of exclude masks
(list of GPatternSpec pointers) */
GSList *include_pkgs; /*!< list of packages to include (build from
includepkg options and pkglist file) */
GSList *l_update_md_paths; /*!< list of repo from update_md_paths
(remote repo are downloaded) */
GSList *distro_cpeids; /*!< CPEIDs from --distro params */
GSList *distro_values; /*!< values from --distro params */
cr_ChecksumType checksum_type; /*!< checksum type */
cr_ChecksumType repomd_checksum_type; /*!< checksum type */
cr_CompressionType compression_type; /*!< compression type */
cr_CompressionType general_compression_type; /*!< compression type */
gint64 md_max_age; /*!< Max age of files in repodata/.
Older files will be removed
during --update.
Filled if --retain-old-md-by-age
is used */
char *checksum_cachedir; /*!< Path to cachedir */
GSList *oldpackagedirs_paths; /*!< paths to look for older pkgs to delta against */
GSList *modulemd_metadata; /*!< paths to all modulemd metadata */
gboolean recycle_pkglist;
gboolean delayed_dump; /*!< Load _all_ the packages (parallel workers)
first, and then dump the database. This
allows additional package filtering. */
CmdDupNevra nevra_duplicates; /*!< What to do about duplicated NEVRA */
};
/**
* Parses commandline arguments.
* @param argc pointer to argc
* @param argv pointer to argv
* @return CmdOptions filled by command line arguments
*/
struct CmdOptions *
parse_arguments(int *argc, char ***argv, GError **err);
/**
* Performs some checks of arguments and fill some other items.
* in the CmdOptions structure.
*/
gboolean
check_arguments(struct CmdOptions *options,
const char *inputdir,
GError **err);
/**
* Frees CmdOptions.
* @param options pointer to struct with command line options
*/
void
free_options(struct CmdOptions *options);
#endif /* __C_CREATEREPOLIB_CMD_PARSER_H__ */
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。