diff --git a/NEWS b/NEWS index 5d722ce7..3c44e369 100644 --- a/NEWS +++ b/NEWS @@ -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). diff --git a/bin/xbps-create/main.c b/bin/xbps-create/main.c index eacb4277..d710d665 100644 --- a/bin/xbps-create/main.c +++ b/bin/xbps-create/main.c @@ -71,7 +71,7 @@ static void __attribute__((noreturn)) usage(void) { fprintf(stdout, - "Usage: %s [OPTIONS] destdir\n\n" + "Usage: %s [OPTIONS] -A -n -s \"\" 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) diff --git a/bin/xbps-create/xbps-create.8 b/bin/xbps-create/xbps-create.8 index 8cc24892..6192363d 100644 --- a/bin/xbps-create/xbps-create.8 +++ b/bin/xbps-create/xbps-create.8 @@ -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 ,