[Midnightbsd-cvs] src: libexec/mport.delete: Add libexec/mport.delete

ctriv at midnightbsd.org ctriv at midnightbsd.org
Sat Jan 5 17:21:12 EST 2008


Log Message:
-----------
Add libexec/mport.delete

Added Files:
-----------
    src/libexec/mport.delete:
        Makefile (r1.1)
        mport.delete.c (r1.1)

-------------- next part --------------
--- /dev/null
+++ libexec/mport.delete/mport.delete.c
@@ -0,0 +1,110 @@
+/*-
+ * Copyright (c) 2007 Chris Reinhardt
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $MidnightBSD: src/libexec/mport.delete/mport.delete.c,v 1.1 2008/01/05 22:21:12 ctriv Exp $
+ */
+
+
+
+#include <sys/cdefs.h>
+__MBSDID("$MidnightBSD: src/libexec/mport.delete/mport.delete.c,v 1.1 2008/01/05 22:21:12 ctriv Exp $");
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <err.h>
+#include <string.h>
+#include <unistd.h>
+#include <mport.h>
+
+
+static void usage(void);
+
+int main(int argc, char *argv[]) 
+{
+  int ch, force;
+  mportInstance *mport;
+  mportPackageMeta **packs;
+  const char *arg, *where = NULL;
+  force = 0;
+    
+  while ((ch = getopt(argc, argv, "fo:n:")) != -1) {
+    switch (ch) {
+      case 'f':
+        force = 1;
+        break;
+      case 'o':
+        where = "origin=%Q";
+        arg   = optarg;
+        break;
+      case 'n':
+        where = "pkg=%Q";
+        arg   = optarg;
+        break;
+      case '?':
+      default:
+        usage();
+        break; 
+    }
+  } 
+
+  argc -= optind;
+  argv += optind;
+
+  if (arg == NULL)
+    usage();
+
+  mport = mport_instance_new();
+  
+  if (mport_instance_init(mport, NULL) != MPORT_OK) {
+    warnx("%s", mport_err_string());
+    exit(1);
+  }
+
+  if (mport_get_meta_from_master(mport, &packs, where, arg) != MPORT_OK) {
+    warnx("%s", mport_err_string());
+    exit(1);
+  }
+  
+  while (*packs != NULL) {
+    if (mport_delete_primative(mport, *packs, force) != MPORT_OK) {
+      warnx("%s", mport_err_string());
+      exit(1);
+    }
+    packs++;
+  }
+
+  mport_instance_free(mport); 
+  
+  return 0;
+}
+
+
+static void usage() 
+{
+  fprintf(stderr, "Usage: mport.delete [-f] -n pkgname\n");
+  fprintf(stderr, "Usage: mport.delete [-f] -o origin\n");
+  exit(2);
+}
--- /dev/null
+++ libexec/mport.delete/Makefile
@@ -0,0 +1,11 @@
+PROG= mport.delete
+
+CFLAGS+=	-I${.CURDIR}/../../lib/libmport/
+WARNS?= 	4
+
+NO_MAN=		yes
+
+LDADD= 	${LIBMPORT} ${LIBSQLITE3} ${LIBMD} ${LIBARCHIVE} ${LIBBZ2}
+DPADD= 	${LIBMPORT} ${LIBSQLITE3} ${LIBMD} ${LIBARCHIVE} ${LIBBZ2}
+
+.include <bsd.prog.mk>


More information about the Midnightbsd-cvs mailing list