[Midnightbsd-cvs] CVS Commit: pkg_install/add: Add -F option to nto fail on already

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Aug 9 20:17:10 EDT 2007


Log Message:
-----------
Add -F option to nto fail on already installed packages.
by:   Eugene Grosbein <eugen at grosbein.pp.ru>

Modified Files:
--------------
    src/usr.sbin/pkg_install/add:
        add.h (r1.2 -> r1.3)
        main.c (r1.4 -> r1.5)
        perform.c (r1.2 -> r1.3)
        pkg_add.1 (r1.2 -> r1.3)

-------------- next part --------------
Index: pkg_add.1
===================================================================
RCS file: /home/cvs/src/usr.sbin/pkg_install/add/pkg_add.1,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lusr.sbin/pkg_install/add/pkg_add.1 -Lusr.sbin/pkg_install/add/pkg_add.1 -u -r1.2 -r1.3
--- usr.sbin/pkg_install/add/pkg_add.1
+++ usr.sbin/pkg_install/add/pkg_add.1
@@ -24,7 +24,7 @@
 .Nd a utility for installing software package distributions
 .Sh SYNOPSIS
 .Nm
-.Op Fl vInfrRMSK
+.Op Fl vInfFrRMSK
 .Op Fl t Ar template
 .Op Fl p Ar prefix
 .Op Fl P Ar prefix
@@ -110,6 +110,8 @@
 .Nm
 will still try to find and auto-install missing prerequisite packages,
 a failure to find one will not be fatal.
+.It Fl F
+Already installed packages are not an error.
 .It Fl p Ar prefix
 Set
 .Ar prefix
Index: perform.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/pkg_install/add/perform.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lusr.sbin/pkg_install/add/perform.c -Lusr.sbin/pkg_install/add/perform.c -u -r1.2 -r1.3
--- usr.sbin/pkg_install/add/perform.c
+++ usr.sbin/pkg_install/add/perform.c
@@ -246,9 +246,9 @@
      */
     if ((isinstalledpkg(Plist.name) > 0 ||
          matchbyorigin(Plist.origin, NULL) != NULL) && !Force) {
-	warnx("package '%s' or its older version already installed",
-	      Plist.name);
-	code = 1;
+	warnx("package '%s' or its older version already installed%s",
+	      Plist.name, FailOnAlreadyInstalled ? "" : " (ignored)");
+	code = FailOnAlreadyInstalled != FALSE;
 	goto success;	/* close enough for government work */
     }
 
Index: add.h
===================================================================
RCS file: /home/cvs/src/usr.sbin/pkg_install/add/add.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lusr.sbin/pkg_install/add/add.h -Lusr.sbin/pkg_install/add/add.h -u -r1.2 -r1.3
--- usr.sbin/pkg_install/add/add.h
+++ usr.sbin/pkg_install/add/add.h
@@ -30,6 +30,7 @@
 extern Boolean	PrefixRecursive;
 extern Boolean	NoInstall;
 extern Boolean	NoRecord;
+extern Boolean	FailOnAlreadyInstalled;
 extern Boolean	KeepPackage;
 extern char	*Mode;
 extern char	*Owner;
Index: main.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/pkg_install/add/main.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -Lusr.sbin/pkg_install/add/main.c -Lusr.sbin/pkg_install/add/main.c -u -r1.4 -r1.5
--- usr.sbin/pkg_install/add/main.c
+++ usr.sbin/pkg_install/add/main.c
@@ -28,7 +28,7 @@
 #include "lib.h"
 #include "add.h"
 
-static char Options[] = "hvIRfnrp:P:SMt:C:K";
+static char Options[] = "hvIRfFnrp:P:SMt:C:K";
 
 char	*Prefix		= NULL;
 Boolean	PrefixRecursive	= FALSE;
@@ -37,6 +37,7 @@
 Boolean	NoRecord	= FALSE;
 Boolean Remote		= FALSE;
 Boolean KeepPackage	= FALSE;
+Boolean FailOnAlreadyInstalled	= TRUE;
 
 char	*Mode		= NULL;
 char	*Owner		= NULL;
@@ -61,7 +62,7 @@
 static char *getpackagesite(void);
 int getosreldate(void);
 
-static void usage __P((void));
+static void usage(void);
 
 int
 main(int argc, char **argv)
@@ -106,6 +107,10 @@
 	    Force = TRUE;
 	    break;
 
+	case 'F':
+	    FailOnAlreadyInstalled = FALSE;
+	    break;
+
 	case 'K':
 	    KeepPackage = TRUE;
 	    break;


More information about the Midnightbsd-cvs mailing list