FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 06-19-2012, 04:04 AM
Allan McRae
 
Default Allow cleaning only some cachedirs

On 16/06/12 09:12, Jan Alexander Steffens (heftig) wrote:
> From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
>
> When cleaning the cache, ask for each cachedir separately.
>
> Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
> ---
> src/pacman/sync.c | 30 ++++++++++++++++--------------
> 1 file changed, 16 insertions(+), 14 deletions(-)
>

Ack - the output looks a bit clumped though:


> sudo ./src/pacman/pacman -Sc
Packages to keep:
All current sync database packages
Cache directory: /home/arch/pkgcache/
Do you want to remove all other packages from cache? [Y/n] n
Cache directory: /home/allan/
Do you want to remove all other packages from cache? [Y/n] n

Database directory: /var/lib/pacman/
Do you want to remove unused repositories? [Y/n] n


Adding:

diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 5210bbf..9f13687 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -186,6 +186,7 @@ static int sync_cleancache(int level)
printf(_(" All current sync database packages
"));
}
}
+ printf("
");

for(i = cachedirs; i; i = alpm_list_next(i)) {
const char *cachedir = i->data;
@@ -196,11 +197,13 @@ static int sync_cleancache(int level)

if(level == 1) {
if(!yesno(_("Do you want to remove all other packages from cache?"))) {
+ printf("
");
continue;
}
printf(_("removing old packages from cache...
"));
} else {
if(!noyes(_("Do you want to remove ALL files from cache?"))) {
+ printf("
");
continue;
}
printf(_("removing all files from cache...
"));
@@ -301,6 +304,7 @@ static int sync_cleancache(int level)
}
}
closedir(dir);
+ printf("
");
}

return ret;
@@ -921,7 +925,6 @@ int pacman_sync(alpm_list_t *targets)
}

ret += sync_cleancache(config->op_s_clean);
- printf("
");
ret += sync_cleandb_all();

if(trans_release() == -1) {


Makes the output:

> sudo ./src/pacman/pacman -Sc
Packages to keep:
All current sync database packages

Cache directory: /home/arch/pkgcache/
Do you want to remove all other packages from cache? [Y/n] n

Cache directory: /home/allan/
Do you want to remove all other packages from cache? [Y/n] n

Database directory: /var/lib/pacman/
Do you want to remove unused repositories? [Y/n] n


I have committed the patch with those minor changes to my working branch.

Allan
 

Thread Tools




All times are GMT. The time now is 08:04 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org