Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add ASSUME_ALWAYS_YES as a configuration option
Marin Atanasov Nikolov committed 14 years ago
commit aff164c5a9f765e6ae027b4a7ad9af8627980932
parent aea3e87
7 files changed +33 -1
modified libpkg/pkg_config.c
@@ -19,7 +19,8 @@ static struct _config {
	{ "PKG_CACHEDIR", "/var/cache/pkg", NULL},
	{ "PORTSDIR", "/usr/ports", NULL },
	{ "PUBKEY", "/etc/ssl/pkg.pub", NULL },
-
	{ "HANDLE_RC_SCRIPTS", NULL, NULL},
+
	{ "HANDLE_RC_SCRIPTS", NULL, NULL },
+
	{ "ASSUME_ALWAYS_YES", NULL, NULL }, 
	{ NULL, NULL, NULL}
};

modified pkg/autoremove.c
@@ -33,6 +33,7 @@ exec_autoremove(int argc, char **argv)
	int64_t oldsize = 0, newsize = 0;
	char size[7];
	int ch, yes = 0;
+
	const char *assume_yes = NULL;

	while ((ch = getopt(argc, argv, "y")) != -1) {
		switch (ch) {
@@ -101,6 +102,10 @@ exec_autoremove(int argc, char **argv)
	else
		printf("\nThe autoremove will require %s more space\n", size);

+
	assume_yes = pkg_config("ASSUME_ALWAYS_YES");
+
	if (assume_yes && (strcasecmp(assume_yes, "yes") == 0))
+
	    yes = 1;
+

	if (yes == 0)
		yes = query_yesno("\nProceed with autoremove of packages [y/N]: ");

modified pkg/delete.c
@@ -5,6 +5,7 @@
#include <sysexits.h>
#include <unistd.h>
#include <libutil.h>
+
#include <string.h>

#include <pkg.h>

@@ -35,6 +36,7 @@ exec_delete(int argc, char **argv)
	int recursive = 0;
	int64_t oldsize = 0, newsize = 0;
	char size[7];
+
	const char *assume_yes = NULL;

	while ((ch = getopt(argc, argv, "agxXfyr")) != -1) {
		switch (ch) {
@@ -120,6 +122,11 @@ exec_delete(int argc, char **argv)
		printf("\nThe deinstallation will save %s\n", size);
	else
		printf("\nThe deinstallation will require %s more space\n", size);
+

+
	assume_yes = pkg_config("ASSUME_ALWAYS_YES");
+
	if (assume_yes && (strcasecmp(assume_yes, "yes") == 0))
+
	    yes = 1;
+

	if (yes == 0)
		yes = query_yesno("\nProceed with deinstalling packages [y/N]: ");

modified pkg/install.c
@@ -34,6 +34,7 @@ exec_install(int argc, char **argv)
	int64_t oldsize = 0, newsize = 0;
	char size[7];
	match_t match = MATCH_EXACT;
+
	const char *assume_yes = NULL;

	while ((ch = getopt(argc, argv, "ygxX")) != -1) {
		switch (ch) {
@@ -115,6 +116,10 @@ exec_install(int argc, char **argv)
	humanize_number(size, sizeof(size), dlsize, "B", HN_AUTOSCALE, 0);
	printf("%s to be downloaded\n", size);
 
+
	assume_yes = pkg_config("ASSUME_ALWAYS_YES");
+
	if (assume_yes && (strcasecmp(assume_yes, "yes") == 0))
+
		yes = 1;
+

	if (yes == 0)
		yes = query_yesno("\nProceed with installing packages [y/N]: ");

modified pkg/pkg.conf.5
@@ -69,6 +69,14 @@ will automatically do start/stop of services during package
installation and deinstallation. Default value of this option is
set to
.Fa NO
+
.It Cm ASSUME_ALWAYS_YES
+
When this option is set to
+
.Fa YES
+
pkgng will automatically assume "yes" to all questions
+
which require confirmation before doing anything, as if it
+
the
+
.Fl y
+
flag specified.
.El
.Sh WARNING
.Sh ENVRIOMENT
modified pkg/pkg.conf.sample
@@ -8,3 +8,4 @@ PKG_CACHEDIR : /var/cache/pkg
PORTSDIR	    : /usr/ports
PUBKEY		    : /etc/ssl/pkg.conf
HANDLE_RC_SCRIPTS   : NO
+
ASSUME_ALWAYS_YES   : NO
modified pkg/upgrade.c
@@ -34,6 +34,7 @@ exec_upgrade(int argc, char **argv)
	int64_t dlsize = 0;
	char size[7];
	int ch, yes = 0;
+
	const char *assume_yes = NULL;

	if (geteuid() != 0) {
		warnx("upgrading can only be done as root");
@@ -105,6 +106,10 @@ exec_upgrade(int argc, char **argv)
	humanize_number(size, sizeof(size), dlsize, "B", HN_AUTOSCALE, 0);
	printf("%s to be downloaded\n", size);

+
	assume_yes = pkg_config("ASSUME_ALWAYS_YES");
+
	if (assume_yes && (strcasecmp(assume_yes, "yes") == 0))
+
	    yes = 1;
+

	if (yes == 0)
		yes = query_yesno("\nProceed with upgrading packages [y/N]: ");