pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/pkgtools/plist-utils Import plist-utils as pkgtools/pl...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/133f6b881b4e
branches:  trunk
changeset: 353268:133f6b881b4e
user:      kamil <kamil%pkgsrc.org@localhost>
date:      Sat Oct 01 18:37:15 2016 +0000

description:
Import plist-utils as pkgtools/plist-utils

The plist-utils suite aims to facilitate management of PLIST entries.
It handles PLIST options and variables, and is especially useful for
keeping PLISTs of packages with quickly changing file-lists, such
as those closely tracking upstream development branch, up to date.

Import approved by <wiz>.

diffstat:

 pkgtools/plist-utils/DESCR                 |    4 +
 pkgtools/plist-utils/Makefile              |   21 ++
 pkgtools/plist-utils/PLIST                 |    7 +
 pkgtools/plist-utils/TODO                  |    8 +
 pkgtools/plist-utils/files/Makefile        |   14 +
 pkgtools/plist-utils/files/add.c           |  116 +++++++++++++
 pkgtools/plist-utils/files/del.c           |  116 +++++++++++++
 pkgtools/plist-utils/files/plist-add.1     |   68 ++++++++
 pkgtools/plist-utils/files/plist-del.1     |   67 +++++++
 pkgtools/plist-utils/files/plist-sort.1    |   64 +++++++
 pkgtools/plist-utils/files/plist_getline.c |   80 +++++++++
 pkgtools/plist-utils/files/plist_getline.h |   40 ++++
 pkgtools/plist-utils/files/plist_tree.c    |  244 +++++++++++++++++++++++++++++
 pkgtools/plist-utils/files/plist_tree.h    |   49 +++++
 pkgtools/plist-utils/files/sort.c          |  114 +++++++++++++
 15 files changed, 1012 insertions(+), 0 deletions(-)

diffs (truncated from 1072 to 300 lines):

diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/DESCR        Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,4 @@
+The plist-utils suite aims to facilitate management of PLIST entries.
+It handles PLIST options and variables, and is especially useful for
+keeping PLISTs of packages with quickly changing file-lists, such
+as those closely tracking upstream development branch, up to date.
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/Makefile     Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1 2016/10/01 18:37:15 kamil Exp $
+#
+
+PKGNAME=       plist-utils-20160731
+CATEGORIES=    pkgtools
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+#HOMEPAGE=
+COMMENT=       Utility to facilitate management of PLIST files
+LICENSE=       2-clause-bsd
+
+USE_BSD_MAKEFILE=      yes
+USE_TOOLS=             nroff
+
+INSTALLATION_DIRS+=    bin ${PKGMANDIR}/man1
+PKGSRC_LOCKTYPE=       none    # avoid "bootstrapping problem"
+
+do-extract:
+       ${CP} -R ${FILESDIR} ${WRKSRC}
+
+.include "../../mk/bsd.pkg.mk"
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/PLIST        Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,7 @@
+@comment $NetBSD: PLIST,v 1.1 2016/10/01 18:37:15 kamil Exp $
+bin/plist-add
+bin/plist-del
+bin/plist-sort
+man/man1/plist-add.1
+man/man1/plist-del.1
+man/man1/plist-sort.1
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/TODO
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/TODO Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,8 @@
+1. Recognize ${KEY} and replace in keys with VALUE
+Spawn a command like:
+make show-var VARNAME=KEY
+And get the KEY value
+
+2. Port to !NetBSD platforms with libnbcompat
+
+3. Use popular precomputed ${KEYS} used in PLISTs like ${PKGBASE}
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/files/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/files/Makefile       Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,14 @@
+#      $NetBSD: Makefile,v 1.1 2016/10/01 18:37:15 kamil Exp $
+
+PROGS=                 plist-sort plist-add plist-del
+
+SRCS.plist-sort=       plist_getline.c plist_tree.c sort.c
+MAN.plist-sort=                plist-sort.1
+
+SRCS.plist-add=                plist_getline.c plist_tree.c add.c
+MAN.plist-add=         plist-add.1
+
+SRCS.plist-del=                plist_getline.c plist_tree.c del.c
+MAN.plist-del=         plist-del.1
+
+.include <bsd.prog.mk>
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/files/add.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/files/add.c  Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,116 @@
+/* $NetBSD: add.c,v 1.1 2016/10/01 18:37:15 kamil Exp $ */
+
+/*-
+ * Copyright (c) 2016 The NetBSD Foundation, Inc.
+ * 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 COPYRIGHT HOLDERS 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
+ * COPYRIGHT HOLDERS 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.
+ */
+
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: add.c,v 1.1 2016/10/01 18:37:15 kamil Exp $");
+
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+#include "plist_getline.h"
+#include "plist_tree.h"
+
+int
+main(int argc, char **argv)
+{
+       int ch;
+       int iflag = 0;
+       char *buffer;
+       FILE *stream;
+       char *firstline;
+       int i;
+
+       setprogname(argv[0]);
+
+       while((ch = getopt(argc, argv, "i")) != -1) {
+               switch (ch) {
+               case 'i':
+                       iflag = 1;
+                       break;
+               default:
+                       errx(EXIT_FAILURE, "Invalid parameter specified");
+                       /* NOTREACHED */
+               }
+       }
+
+       argc -= optind;
+       argv += optind;
+
+       if (argc < 2)
+               errx(EXIT_FAILURE, "Missing arguments");
+
+       plist_tree_init();
+
+       /* No files specified - read from a file */
+       stream = fopen(argv[0], "r");
+       if (!stream) {
+               err(EXIT_FAILURE, "fopen");
+       }
+
+       /* Read entries and put into tree */
+       /* The first line is special */
+       if ((buffer = plist_getline(stream)) != NULL) {
+               firstline = buffer;
+       }
+
+       while ((buffer = plist_getline(stream)) != NULL) {
+               plist_tree_insert(buffer);
+               free(buffer);
+       }
+
+       /* Add entries from command line */
+       for (i = 1; i < argc; i++) {
+               plist_tree_insert(argv[i]);
+       }
+
+       /* Prepare for write */
+
+       if (iflag > 0) { /* If there is in-place mode, reopen the file */
+               /* Truncate file to 0 */
+               stream = freopen(argv[0], "w", stream);
+               if (!stream)
+                       err(EXIT_FAILURE, "open");
+               /* Is this needed? */
+               rewind(stream);
+       } else { /* Set stream to stdout */
+               stream = stdout;
+       }
+
+       fprintf(stream, "%s\n", firstline);
+       plist_tree_dump(stream);
+
+       return EXIT_SUCCESS;
+}
diff -r 2fcaa56e7ee8 -r 133f6b881b4e pkgtools/plist-utils/files/del.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/plist-utils/files/del.c  Sat Oct 01 18:37:15 2016 +0000
@@ -0,0 +1,116 @@
+/* $NetBSD: del.c,v 1.1 2016/10/01 18:37:15 kamil Exp $ */
+
+/*-
+ * Copyright (c) 2016 The NetBSD Foundation, Inc.
+ * 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 COPYRIGHT HOLDERS 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
+ * COPYRIGHT HOLDERS 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.
+ */
+
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: del.c,v 1.1 2016/10/01 18:37:15 kamil Exp $");
+
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+#include "plist_getline.h"
+#include "plist_tree.h"
+
+int
+main(int argc, char **argv)
+{
+       int ch;
+       int iflag = 0;
+       char *buffer;
+       FILE *stream;
+       char *firstline;
+       int i;
+
+       setprogname(argv[0]);
+
+       while((ch = getopt(argc, argv, "i")) != -1) {
+               switch (ch) {
+               case 'i':
+                       iflag = 1;
+                       break;
+               default:
+                       errx(EXIT_FAILURE, "Invalid parameter specified");
+                       /* NOTREACHED */
+               }
+       }
+
+       argc -= optind;
+       argv += optind;
+
+       if (argc < 2)
+               errx(EXIT_FAILURE, "Missing arguments");
+
+       plist_tree_init();
+
+       /* No files specified - read from a file */
+       stream = fopen(argv[0], "r");
+       if (!stream) {
+               err(EXIT_FAILURE, "fopen");
+       }
+
+       /* Read entries and put into tree */
+       /* The first line is special */
+       if ((buffer = plist_getline(stream)) != NULL) {
+               firstline = buffer;
+       }
+
+       while ((buffer = plist_getline(stream)) != NULL) {
+               plist_tree_insert(buffer);
+               free(buffer);
+       }
+
+       /* Add entries from command line */
+       for (i = 1; i < argc; i++) {
+               plist_tree_remove(argv[i]);
+       }
+
+       /* Prepare for write */
+
+       if (iflag > 0) { /* If there is in-place mode, reopen the file */
+               /* Truncate file to 0 */



Home | Main Index | Thread Index | Old Index