Skip to content

Commit

Permalink
xbps-create: add abi field.
Browse files Browse the repository at this point in the history
  • Loading branch information
ericonr committed Sep 7, 2020
1 parent 05ff04a commit 9e0096a
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
12 changes: 10 additions & 2 deletions bin/xbps-create/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -784,7 +784,7 @@ process_archive(struct archive *ar,
int
main(int argc, char **argv)
{
const char *shortopts = "A:B:C:c:D:F:G:H:hl:M:m:n:P:pqr:R:S:s:t:V";
const char *shortopts = "A:B:C:c:D:F:G:H:hl:M:m:n:P:pqr:R:S:s:t:a:V";
const struct option longopts[] = {
{ "architecture", required_argument, NULL, 'A' },
{ "built-with", required_argument, NULL, 'B' },
Expand Down Expand Up @@ -813,6 +813,7 @@ main(int argc, char **argv)
{ "compression", required_argument, NULL, '3' },
{ "alternatives", required_argument, NULL, '4' },
{ "changelog", required_argument, NULL, 'c'},
{ "abi", required_argument, NULL, 'a'},
{ NULL, 0, NULL, 0 }
};
struct archive *ar;
Expand All @@ -823,7 +824,7 @@ main(int argc, char **argv)
const char *provides, *pkgver, *replaces, *reverts, *desc, *ldesc;
const char *arch, *config_files, *mutable_files, *version, *changelog;
const char *buildopts, *shlib_provides, *shlib_requires, *alternatives;
const char *compression, *tags = NULL, *srcrevs = NULL;
const char *compression, *tags, *srcrevs, *abi;
char pkgname[XBPS_NAME_SIZE], *binpkg, *tname, *p, cwd[PATH_MAX-1];
bool quiet = false, preserve = false;
int c, pkg_fd;
Expand All @@ -833,6 +834,7 @@ main(int argc, char **argv)
provides = pkgver = replaces = reverts = desc = ldesc = bwith = NULL;
buildopts = config_files = mutable_files = shlib_provides = NULL;
alternatives = shlib_requires = changelog = NULL;
tags = srcrevs = abi = NULL;

while ((c = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) {
if (optarg && strcmp(optarg, "") == 0)
Expand Down Expand Up @@ -920,6 +922,9 @@ main(int argc, char **argv)
case '4':
alternatives = optarg;
break;
case 'a':
abi = optarg;
break;
case '?':
default:
usage(true);
Expand Down Expand Up @@ -997,6 +1002,9 @@ main(int argc, char **argv)
if (changelog)
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
"changelog", changelog);
if (abi)
xbps_dictionary_set_cstring_nocopy(pkg_propsd,
"abi", abi);

/* Optional arrays */
process_array("run_depends", deps);
Expand Down
20 changes: 20 additions & 0 deletions tests/xbps/xbps-create/basic_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,25 @@ reject_fifo_file_body() {
atf_check_equal $? 1
}

atf_test_case set_abi

set_abi_head() {
atf_set "descr" "xbps-create(1): create package with abi field"
}

set_abi_body() {
mkdir -p repo pkg_A/usr/include/gsm
touch -f pkg_A/usr/include/gsm/gsm.h
cd repo
xbps-create -A noarch -n foo-1.0_1 -s "foo pkg" -a 1 ../pkg_A
atf_check_equal $? 0
cd ..
xbps-rindex -d -a repo/*.xbps
atf_check_equal $? 0
rv="$(xbps-query -r root --repository=repo -p abi foo)"
atf_check_equal $rv 1
}

atf_init_test_cases() {
atf_add_test_case hardlinks_size
atf_add_test_case symlink_relative_target
Expand All @@ -187,4 +206,5 @@ atf_init_test_cases() {
atf_add_test_case restore_mtime
atf_add_test_case reproducible_pkg
atf_add_test_case reject_fifo_file
atf_add_test_case set_abi
}

0 comments on commit 9e0096a

Please sign in to comment.