xbps-create(8): new option -t, --tags to store tags/categories metadata.

This commit is contained in:
Juan RP 2014-05-29 11:36:39 +02:00
parent e903731718
commit b9e44009d9
3 changed files with 27 additions and 14 deletions

4
NEWS
View File

@ -1,5 +1,9 @@
xbps-0.37 (???):
* xbps-create(8): new option `-t, --tags` to specify a list of tags
(categories) the package should be part of. This is just for metadata
purposes and querying packages by tags in the future.
* xbps-install(8): it's possible now to update a single package (if it's already
installed) without using the -u, --update option. This implements
GH #35 (https://github.com/voidlinux/xbps/issues/35).

View File

@ -71,7 +71,7 @@ static void __attribute__((noreturn))
usage(void)
{
fprintf(stdout,
"Usage: %s [OPTIONS] destdir\n\n"
"Usage: %s [OPTIONS] -A <arch> -n <pkgver> -s \"<desc>\" destdir\n\n"
"OPTIONS\n"
" -A --architecture Package architecture (e.g: noarch, i686, etc).\n"
" -B --built-with Package builder string (e.g: xbps-src-30).\n"
@ -96,6 +96,7 @@ usage(void)
" e.g: 'foo>=1.0 blah<2.0').\n"
" -S --long-desc Long description (80 cols per line).\n"
" -s --desc Short description (max 80 characters).\n"
" -t --tags A list of tags/categories (blank separated list).\n"
" -V --version Prints XBPS release version.\n"
" --build-options A string with the used build options.\n"
" --compression Compression format: gzip, bzip2, xz (default).\n"
@ -540,7 +541,7 @@ set_build_date(void)
int
main(int argc, char **argv)
{
const char *shortopts = "A:B:C:D:F:G:H:hl:M:m:n:P:pqR:S:s:V";
const char *shortopts = "A:B:C:D:F:G:H:hl:M:m:n:P:pqR:S:s:t:V";
const struct option longopts[] = {
{ "architecture", required_argument, NULL, 'A' },
{ "built-with", required_argument, NULL, 'B' },
@ -560,6 +561,7 @@ main(int argc, char **argv)
{ "replaces", required_argument, NULL, 'R' },
{ "long-desc", required_argument, NULL, 'S' },
{ "desc", required_argument, NULL, 's' },
{ "tags", required_argument, NULL, 't' },
{ "version", no_argument, NULL, 'V' },
{ "shlib-provides", required_argument, NULL, '0' },
{ "shlib-requires", required_argument, NULL, '1' },
@ -575,7 +577,7 @@ main(int argc, char **argv)
const char *provides, *pkgver, *replaces, *desc, *ldesc;
const char *arch, *config_files, *mutable_files, *version;
const char *buildopts, *shlib_provides, *shlib_requires;
const char *compression, *srcrevs = NULL;
const char *compression, *tags = NULL, *srcrevs = NULL;
char *pkgname, *binpkg, *tname, *p, cwd[PATH_MAX-1];
bool quiet = false, preserve = false;
int c, pkg_fd;
@ -644,6 +646,9 @@ main(int argc, char **argv)
case 's':
desc = optarg;
break;
case 't':
tags = optarg;
break;
case 'V':
printf("%s\n", XBPS_RELVER);
exit(EXIT_SUCCESS);
@ -724,6 +729,9 @@ main(int argc, char **argv)
if (srcrevs)
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
"source-revisions", srcrevs);
if (tags)
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
"tags", tags);
if (preserve)
xbps_dictionary_set_bool(pkg_propsd, "preserve", true);
if (buildopts)

View File

@ -1,4 +1,4 @@
.Dd April 21, 2014
.Dd May 29, 2014
.Os Void Linux
.Dt xbps-create 8
.Sh NAME
@ -25,15 +25,13 @@ if package doesn't contain any arch-dependent file.
The package builder string, free form.
.It Fl C, Fl -conflicts Ar list
A list of package patterns that this package should conflict with, separated
by a single blank. Example:
by whitespaces. Example:
.Ar 'foo>=1.0 blah<1.0' .
.It Fl D, Fl -dependencies Ar list
A list of package patterns this package depends on, separated by a single
blank. Example:
A list of package patterns this package depends on, separated by whitespaces. Example:
.Ar 'foo>=1.0 blah-1.0_1' .
.It Fl F, Fl -config-files Ar list
A list of configuration files this package provides, separated by a single
blank.
A list of configuration files this package provides, separated whitepaces.
.It Fl G, Fl --source-revisions Ar string
This justs sets a string with the git revisions of the sourcepkg that
was used to build this binary package. It is set automatically by xbps-src.
@ -44,26 +42,29 @@ Show help message.
.It Fl l, Fl -license Ar string
The package license.
.It Fl M, Fl -mutable-files Ar list
A list of mutable files this package provides, separated by a single blank.
A list of mutable files this package provides, separated by whitespaces.
.It Fl m, Fl -maintainer Ar string
The package maintainer name and/or email contact.
.It Fl n, Fl -pkgver Ar string
The package name/version tuple, e.g:
.Ar 'foo-1.0_1' .
.It Fl P, Fl -provides Ar list
A list of virtual packages this package provides, separated by a single blank. Example:
A list of virtual packages this package provides, separated by whitespaces. Example:
.Ar 'virtualpkg-9999 virtualpkg2-1.0_1' .
.It Fl p, Fl -preserve
If set the package files will be preserved after being updated.
.It Fl q, Fl -quiet
Enable quiet operation.
.It Fl R, Fl -replaces Ar list
A list of package patterns this package replaces, separated by a single blank. Example:
A list of package patterns this package replaces, separated by whitespaces. Example:
.Ar 'foo>=1.0 blah>=2.0' .
.It Fl S, Fl -long-desc Ar string
A long description for this package.
.It Fl s, Fl -desc Ar string
A short description for this package, one line with less than 80 characters.
.It Fl t, Fl -tags Ar list
A list of tags (categories) this package should be part of, separated by whitespaces. Example:
.Ar 'development nonfree' .
.It Fl V, Fl -version
Shows the XBPS version.
.It Fl -build-options Ar string
@ -72,10 +73,10 @@ A string containing the build options used in package.
Set the binary package compression format. If unset, defaults to
.Ar xz .
.It Fl -shlib-provides Ar list
A list of provided shared libraries, separated by a single blank. Example:
A list of provided shared libraries, separated by whitespaces. Example:
.Ar 'libfoo.so.2 libblah.so.1' .
.It Fl -shlib-requires Ar list
A list of required shared libraries, separated by a single blank. Example:
A list of required shared libraries, separated by whitespaces. Example:
.Ar 'libz.so.1 libfoo.so.2' .
.Sh SEE ALSO
.Xr xbps-checkvers 8 ,