Skip to content

Commit e014406

Browse files
committed
bin/xbps-create: add sourcepkg metadata variable
This can be used similar to source-revisions, it should be set to the pkgver of the template. This then allows to find removed subpackages by looking for packages with outdated sourcepkg versions.
1 parent 3054047 commit e014406

1 file changed

Lines changed: 21 additions & 14 deletions

File tree

bin/xbps-create/main.c

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -827,33 +827,34 @@ main(int argc, char **argv)
827827
{
828828
const char *shortopts = "A:B:C:c:D:F:G:H:hl:M:m:n:P:pqr:R:S:s:t:V";
829829
const struct option longopts[] = {
830+
{ "alternatives", required_argument, NULL, '4' },
830831
{ "architecture", required_argument, NULL, 'A' },
832+
{ "build-options", required_argument, NULL, '2' },
831833
{ "built-with", required_argument, NULL, 'B' },
832-
{ "source-revisions", required_argument, NULL, 'G' },
834+
{ "changelog", required_argument, NULL, 'c'},
835+
{ "compression", required_argument, NULL, '3' },
836+
{ "config-files", required_argument, NULL, 'F' },
833837
{ "conflicts", required_argument, NULL, 'C' },
834838
{ "dependencies", required_argument, NULL, 'D' },
835-
{ "config-files", required_argument, NULL, 'F' },
836-
{ "homepage", required_argument, NULL, 'H' },
839+
{ "desc", required_argument, NULL, 's' },
837840
{ "help", no_argument, NULL, 'h' },
841+
{ "homepage", required_argument, NULL, 'H' },
838842
{ "license", required_argument, NULL, 'l' },
839-
{ "mutable-files", required_argument, NULL, 'M' },
843+
{ "long-desc", required_argument, NULL, 'S' },
840844
{ "maintainer", required_argument, NULL, 'm' },
845+
{ "mutable-files", required_argument, NULL, 'M' },
841846
{ "pkgver", required_argument, NULL, 'n' },
842-
{ "provides", required_argument, NULL, 'P' },
843847
{ "preserve", no_argument, NULL, 'p' },
848+
{ "provides", required_argument, NULL, 'P' },
844849
{ "quiet", no_argument, NULL, 'q' },
845850
{ "replaces", required_argument, NULL, 'R' },
846851
{ "reverts", required_argument, NULL, 'r' },
847-
{ "long-desc", required_argument, NULL, 'S' },
848-
{ "desc", required_argument, NULL, 's' },
849-
{ "tags", required_argument, NULL, 't' },
850-
{ "version", no_argument, NULL, 'V' },
851852
{ "shlib-provides", required_argument, NULL, '0' },
852853
{ "shlib-requires", required_argument, NULL, '1' },
853-
{ "build-options", required_argument, NULL, '2' },
854-
{ "compression", required_argument, NULL, '3' },
855-
{ "alternatives", required_argument, NULL, '4' },
856-
{ "changelog", required_argument, NULL, 'c'},
854+
{ "source-revisions", required_argument, NULL, 'G' },
855+
{ "sourcepkg", required_argument, NULL, '5'},
856+
{ "tags", required_argument, NULL, 't' },
857+
{ "version", no_argument, NULL, 'V' },
857858
{ NULL, 0, NULL, 0 }
858859
};
859860
struct archive *ar;
@@ -864,7 +865,7 @@ main(int argc, char **argv)
864865
const char *provides, *pkgver, *replaces, *reverts, *desc, *ldesc;
865866
const char *arch, *config_files, *mutable_files, *version, *changelog;
866867
const char *buildopts, *shlib_provides, *shlib_requires, *alternatives;
867-
const char *compression, *tags = NULL, *srcrevs = NULL;
868+
const char *compression, *tags = NULL, *srcrevs = NULL, *sourcepkg = NULL;
868869
char pkgname[XBPS_NAME_SIZE], *binpkg, *tname, *p, cwd[PATH_MAX-1];
869870
bool quiet = false, preserve = false;
870871
int c, pkg_fd;
@@ -961,6 +962,9 @@ main(int argc, char **argv)
961962
case '4':
962963
alternatives = optarg;
963964
break;
965+
case '5':
966+
sourcepkg = optarg;
967+
break;
964968
case '?':
965969
default:
966970
usage(true);
@@ -1028,6 +1032,9 @@ main(int argc, char **argv)
10281032
if (srcrevs)
10291033
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
10301034
"source-revisions", srcrevs);
1035+
if (sourcepkg)
1036+
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
1037+
"sourcepkg", sourcepkg);
10311038
if (tags)
10321039
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
10331040
"tags", tags);

0 commit comments

Comments
 (0)