aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-12-25 15:09:38 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-12-25 15:11:31 +0000
commitfc01782d160690890ee6080e077884f9dec9b887 (patch)
treef38e8d37a1388e0b8163697ba60b95ed9ed1762b
parent02822ef9cfa2cfb933f5e63e51f5851177ada29f (diff)
downloadaports-fc01782d160690890ee6080e077884f9dec9b887.tar.bz2
aports-fc01782d160690890ee6080e077884f9dec9b887.tar.xz
main/apk-tools: keep packages with no files with installed status
fixes #229 (and a minor bug with --interactive) (cherry picked from commit 8514c999c17a359f36e704995adfb177cae3c627)
-rw-r--r--main/apk-tools/0001-state-Default-interactive-action-is-Yes.patch27
-rw-r--r--main/apk-tools/0002-db-keep-packages-with-no-files-with-installed-status.patch46
-rw-r--r--main/apk-tools/APKBUILD8
3 files changed, 79 insertions, 2 deletions
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 0000000000..b025a9b783
--- /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 <ncopa@alpinelinux.org>
+Date: Fri, 25 Dec 2009 07:02:32 +0000
+Subject: [PATCH 1/2] state: Default interactive action is Yes
+
+When pressing only <enter> 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 0000000000..3061ed5609
--- /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 <timo.teras@iki.fi>
+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 6120185ed5..3db72d348d 100644
--- a/main/apk-tools/APKBUILD
+++ b/main/apk-tools/APKBUILD
@@ -1,12 +1,14 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
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"