diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-06-16 09:59:21 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-06-16 09:59:21 +0000 |
commit | 20a1217e866f9fe15c4de3ed28144084509e4ffa (patch) | |
tree | 2bc0c87439ef575dfd565fc081a51d501f4737ce /src/add.c | |
parent | d8b1b851c713937bdb1a756f9419e3f97516d479 (diff) | |
download | apk-tools-20a1217e866f9fe15c4de3ed28144084509e4ffa.tar.gz apk-tools-20a1217e866f9fe15c4de3ed28144084509e4ffa.tar.bz2 apk-tools-20a1217e866f9fe15c4de3ed28144084509e4ffa.tar.xz apk-tools-20a1217e866f9fe15c4de3ed28144084509e4ffa.zip |
add: support for forced versions
Support version numbers specified with packages. For example:
apk add 'busybox<1.14'
apk add 'squid=>3.0'
Diffstat (limited to 'src/add.c')
-rw-r--r-- | src/add.c | 21 |
1 files changed, 5 insertions, 16 deletions
@@ -122,11 +122,7 @@ static int add_main(void *ctx, int argc, char **argv) md5_str(virtpkg->name->name, virtpkg->csum); virtpkg->version = strdup("0"); virtpkg->description = strdup("virtual meta package"); - virtdep = (struct apk_dependency) { - .name = virtpkg->name, - .version = virtpkg->version, - .result_mask = APK_VERSION_EQUAL, - }; + virtdep = apk_dep_from_pkg(&db, virtpkg); virtdep.name->flags |= APK_NAME_TOPLEVEL | APK_NAME_VIRTUAL; virtpkg = apk_db_pkg_add(&db, virtpkg); } @@ -143,17 +139,10 @@ static int add_main(void *ctx, int argc, char **argv) goto err; } - dep = (struct apk_dependency) { - .name = apk_db_get_name(&db, APK_BLOB_STR(pkg->name->name)), - .version = pkg->version, - .result_mask = APK_VERSION_EQUAL, - }; - } else { - dep = (struct apk_dependency) { - .name = apk_db_get_name(&db, APK_BLOB_STR(argv[i])), - .result_mask = APK_DEPMASK_REQUIRE, - }; - } + dep = apk_dep_from_pkg(&db, pkg); + } else + dep = apk_dep_from_str(&db, argv[i]); + if (virtpkg) { apk_deps_add(&virtpkg->depends, &dep); } else { |