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