PERFORCE change 178837 for review
Ivan Voras
ivoras at FreeBSD.org
Wed May 26 21:15:38 UTC 2010
http://p4web.freebsd.org/@@178837?ac=10
Change 178837 by ivoras at betelgeuse on 2010/05/26 21:14:59
Skeleton for patch operations
Affected files ...
.. //depot/projects/soc2010/pkg_patch/src/patch/Makefile#3 edit
.. //depot/projects/soc2010/pkg_patch/src/patch/hashjob.c#2 edit
.. //depot/projects/soc2010/pkg_patch/src/patch/hashjob.h#2 edit
.. //depot/projects/soc2010/pkg_patch/src/patch/main.c#3 edit
.. //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.c#1 add
.. //depot/projects/soc2010/pkg_patch/src/patch/mkpatch.h#1 add
.. //depot/projects/soc2010/pkg_patch/src/patch/pkg_patch.h#1 add
Differences ...
==== //depot/projects/soc2010/pkg_patch/src/patch/Makefile#3 (text+ko) ====
@@ -3,11 +3,11 @@
.include <bsd.own.mk>
PROG= pkg_patch
-SRCS= main.c hashjob.c
+SRCS= main.c mkpatch.c hashjob.c
WARNS?= 4
WFORMAT?= 1
-LDADD= -lmd
+LDADD= -lmd -pthread
.include <bsd.prog.mk>
==== //depot/projects/soc2010/pkg_patch/src/patch/hashjob.c#2 (text+ko) ====
==== //depot/projects/soc2010/pkg_patch/src/patch/hashjob.h#2 (text+ko) ====
==== //depot/projects/soc2010/pkg_patch/src/patch/main.c#3 (text+ko) ====
@@ -1,8 +1,6 @@
-/*
+/*-
+ * Copyright 2010. Ivan Voras <ivoras at freebsd.org>
*
- * FreeBSD install - a package for the installation and maintainance
- * of non-core utilities.
- *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -11,9 +9,10 @@
* 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.
- *
- * Ivan Voras
- * 21 May 2010
+ */
+/*
+ * FreeBSD install - a package for the installation and maintainance
+ * of non-core utilities.
*
* This is the "binary patch" module.
*/
@@ -27,21 +26,74 @@
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
+#include <err.h>
+#include <pkg.h>
+#define PKG_PATCH_MAIN
+#include "pkg_patch.h"
+#include "mkpatch.h"
-#include <pkg.h>
int argc;
char **argv;
+enum PP_OP patch_op = PP_NONE;
+
+
+static void usage_short(void);
+static void proc_args(void);
+
+
+static void
+usage_short() {
+ printf("usage: %s -m [flags] package_file_1 package_file_2\n", argv[0]);
+}
+
+
+static void
+proc_args() {
+ int ch;
+
+ while ((ch = getopt(argc, argv, "mh")) != -1) {
+ switch (ch) {
+ case 'm':
+ patch_op = PP_MKPATCH;
+ break;
+ case 'h':
+ usage_short();
+ exit(0);
+ break;
+ default:
+ usage_short();
+ exit(1);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+}
+
void
cleanup(int __unused sig)
{
}
+
int main(int _argc, char **_argv)
{
argc = _argc;
argv = _argv;
+
+ proc_args();
+ if (patch_op == PP_NONE)
+ errx(1, "No operation switch given");
+
+ switch (patch_op) {
+ case PP_MKPATCH:
+ perform_mkpatch();
+ break;
+ default:
+ errx(1, "This should not happen - unknown patch_op");
+ }
+
return (0);
}
More information about the p4-projects
mailing list