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 04-10-2011, 11:39 AM
Rémy Oudompheng
 
Default pacman: add a configuration key for signature checking command

Signed-off-by: Rémy Oudompheng <remy@archlinux.org>
---
etc/pacman.conf.in | 1 +
src/pacman/callback.c | 5 +++++
src/pacman/callback.h | 3 +++
src/pacman/conf.h | 1 +
src/pacman/pacman.c | 4 ++++
5 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/etc/pacman.conf.in b/etc/pacman.conf.in
index 1105db9..3b92351 100644
--- a/etc/pacman.conf.in
+++ b/etc/pacman.conf.in
@@ -18,6 +18,7 @@ HoldPkg = pacman glibc
SyncFirst = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl -C - -f %u > %o
+#ChecksigCommand = /usr/bin/gpg --verify - %f
#CleanMethod = KeepInstalled
Architecture = auto

diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 08c1cf3..1ff9a47 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -687,4 +687,9 @@ void cb_log(pmloglevel_t level, const char *fmt, va_list args)
}
}

+/* Callback to check signatures with an external command */
+int cb_checksig(const char *path, const pmpgpsig_t *sig) {
+ return 0;
+}
+
/* vim: set ts=2 sw=2 noet: */
diff --git a/src/pacman/callback.h b/src/pacman/callback.h
index 1109a3b..3e2cfb1 100644
--- a/src/pacman/callback.h
+++ b/src/pacman/callback.h
@@ -43,6 +43,9 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total);
/* callback to handle messages/notifications from pacman library */
void cb_log(pmloglevel_t level, const char *fmt, va_list args);

+/* callback to check signatures with an external command */
+int cb_checksig(const char *path, const pmpgpsig_t *sig);
+
#endif /* _PM_CALLBACK_H */

/* vim: set ts=2 sw=2 noet: */
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index bb11bab..9aa8492 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -78,6 +78,7 @@ typedef struct __config_t {
alpm_list_t *holdpkg;
alpm_list_t *syncfirst;
char *xfercommand;
+ char *checksigcommand;
} config_t;

/* Operations */
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 74659c5..9aad3a3 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -1052,6 +1052,10 @@ static int _parse_options(const char *key, char *value,
config->xfercommand = strdup(value);
alpm_option_set_fetchcb(download_with_xfercommand) ;
pm_printf(PM_LOG_DEBUG, "config: xfercommand: %s
", value);
+ } else if (strcmp(key, "ChecksigCommand") == 0) {
+ config->checksigcommand = strdup(value);
+ alpm_option_set_checksigcb(cb_checksig);
+ pm_printf(PM_LOG_DEBUG, "config: checksigcommand: %s
", value);
} else if (strcmp(key, "CleanMethod") == 0) {
setrepeatingoption(value, "CleanMethod", option_add_cleanmethod);
} else {
--
1.7.4.4
 

Thread Tools




All times are GMT. The time now is 07:15 PM.

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