From fc01782d160690890ee6080e077884f9dec9b887 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 25 Dec 2009 15:09:38 +0000 Subject: main/apk-tools: keep packages with no files with installed status fixes #229 (and a minor bug with --interactive) (cherry picked from commit 8514c999c17a359f36e704995adfb177cae3c627) --- ...1-state-Default-interactive-action-is-Yes.patch | 27 +++++++++++++ ...kages-with-no-files-with-installed-status.patch | 46 ++++++++++++++++++++++ main/apk-tools/APKBUILD | 8 +++- 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 main/apk-tools/0001-state-Default-interactive-action-is-Yes.patch create mode 100644 main/apk-tools/0002-db-keep-packages-with-no-files-with-installed-status.patch diff --git a/main/apk-tools/0001-state-Default-interactive-action-is-Yes.patch b/main/apk-tools/0001-state-Default-interactive-action-is-Yes.patch new file mode 100644 index 00000000..b025a9b7 --- /dev/null +++ b/main/apk-tools/0001-state-Default-interactive-action-is-Yes.patch @@ -0,0 +1,27 @@ +From d67ee300b6cbd9deaaa8c5e506e836e253f7b77d Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Fri, 25 Dec 2009 07:02:32 +0000 +Subject: [PATCH 1/2] state: Default interactive action is Yes + +When pressing only on the question "..continue [Y/n]?" then +lets take that as a "yes" +--- + src/state.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/state.c b/src/state.c +index 94afe86..1bd29bf 100644 +--- a/src/state.c ++++ b/src/state.c +@@ -771,7 +771,7 @@ int apk_state_commit(struct apk_state *state, + printf("Do you want to continue [Y/n]? "); + fflush(stdout); + r = fgetc(stdin); +- if (r != 'y' && r != 'Y') ++ if (r != 'y' && r != 'Y' && r != '\n') + return -1; + } + } +-- +1.6.5.7 + diff --git a/main/apk-tools/0002-db-keep-packages-with-no-files-with-installed-status.patch b/main/apk-tools/0002-db-keep-packages-with-no-files-with-installed-status.patch new file mode 100644 index 00000000..3061ed56 --- /dev/null +++ b/main/apk-tools/0002-db-keep-packages-with-no-files-with-installed-status.patch @@ -0,0 +1,46 @@ +From 3f9fe4c28be7987bd404f06e27ed03aafd8e8b52 Mon Sep 17 00:00:00 2001 +From: Timo Teras +Date: Fri, 25 Dec 2009 14:14:40 +0200 +Subject: [PATCH 2/2] db: keep packages with no files with installed status + +got broke few commits ago when apk_pkg_installed() call was +moved to happen after the package name has been read. +--- + src/database.c | 16 ++++++++++------ + 1 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/src/database.c b/src/database.c +index 5118f5c..2fcb275 100644 +--- a/src/database.c ++++ b/src/database.c +@@ -587,17 +587,21 @@ int apk_db_index_read(struct apk_database *db, struct apk_bstream *bs, int repo) + } + + /* Standard index line? */ +- if (apk_pkg_add_info(db, pkg, field, l) == 0) ++ if (apk_pkg_add_info(db, pkg, field, l) == 0) { ++ if (repo == -1 && field == 'S') { ++ /* Instert to installed database; this needs to ++ * happen after package name has been read, but ++ * before first FDB entry. */ ++ ipkg = apk_pkg_install(db, pkg); ++ diri_node = hlist_tail_ptr(&ipkg->owned_dirs); ++ } + continue; ++ } + +- if (repo != -1) { ++ if (repo != -1 || ipkg == NULL) { + apk_error("Invalid index entry '%c'", field); + return -1; + } +- if (ipkg == NULL) { +- ipkg = apk_pkg_install(db, pkg); +- diri_node = hlist_tail_ptr(&ipkg->owned_dirs); +- } + + /* Check FDB special entries */ + switch (field) { +-- +1.6.5.7 + diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD index 6120185e..3db72d34 100644 --- a/main/apk-tools/APKBUILD +++ b/main/apk-tools/APKBUILD @@ -1,12 +1,14 @@ # Maintainer: Natanael Copa pkgname=apk-tools pkgver=2.0 -pkgrel=0 +pkgrel=1 pkgdesc="Alpine Package Keeper - package manager for alpine" subpackages="$pkgname-static" depends= makedepends="zlib-dev openssl-dev pkgconfig" source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 + 0001-state-Default-interactive-action-is-Yes.patch + 0002-db-keep-packages-with-no-files-with-installed-status.patch " @@ -40,4 +42,6 @@ static() { "$subpkgdir"/sbin/apk.static } -md5sums="dc827e62065c940bbcec1c93099a5718 apk-tools-2.0.tar.bz2" +md5sums="dc827e62065c940bbcec1c93099a5718 apk-tools-2.0.tar.bz2 +36e514cbc781759dbb6eb84e35f6072d 0001-state-Default-interactive-action-is-Yes.patch +180368300d46c5b6de0d5eb43d90547e 0002-db-keep-packages-with-no-files-with-installed-status.patch" -- cgit v1.2.3