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-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 * 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 installed) without using the -u, --update option. This implements
GH #35 (https://github.com/voidlinux/xbps/issues/35). GH #35 (https://github.com/voidlinux/xbps/issues/35).

View File

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

View File

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