Commit 8514c999 authored by Natanael Copa's avatar Natanael Copa

main/apk-tools: keep packages with no files with installed status

fixes #229 (and a minor bug with --interactive)
parent 4e0d760d
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
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
# 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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment