[darwinbuild-changes] [861] trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Aug 10 17:22:13 PDT 2010


Revision: 861
          http://trac.macosforge.org/projects/darwinbuild/changeset/861
Author:   wsiegrist at apple.com
Date:     2010-08-10 17:22:13 -0700 (Tue, 10 Aug 2010)
Log Message:
-----------
Merge PR-8279204

Added Paths:
-----------
    trunk/darwinbuild/digest.c

Removed Paths:
-------------
    trunk/darwinbuild/Makefile
    trunk/darwinup/Makefile
    trunk/darwinxref/Makefile

Property Changed:
----------------
    trunk/


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/PR-4841388:399-419
/branches/PR-6358021:442-443
/branches/PR-6392966:423-427
/branches/PR-6398060:433-434
/branches/PR-6493844:460-461
/branches/PR-6497694:466-468,471
/branches/PR-6634286:632-650
/branches/PR-6688645:479-490
/branches/PR-6722857:495-499
/branches/PR-6729491:655-664
/branches/PR-6973110:804-813
/branches/PR-7250612:635-650
/branches/PR-7341154:682-694
/branches/PR-7431723:660-664
/branches/PR-7461534:650-664
/branches/PR-7482850:670-671
/branches/PR-7489777:676-731
/branches/PR-7529688:692-694
/branches/PR-7593824:739-772
/branches/PR-7598640:703-731
/branches/PR-7748469:777-785
/branches/PR-7765119:790-791
/branches/PR-7798586:796-799
/branches/PR-7872907:830-840
/branches/PR-7935095:819-821
/branches/PR-8116613:849
   + /branches/PR-4841388:399-419
/branches/PR-6358021:442-443
/branches/PR-6392966:423-427
/branches/PR-6398060:433-434
/branches/PR-6493844:460-461
/branches/PR-6497694:466-468,471
/branches/PR-6634286:632-650
/branches/PR-6688645:479-490
/branches/PR-6722857:495-499
/branches/PR-6729491:655-664
/branches/PR-6973110:804-813
/branches/PR-7250612:635-650
/branches/PR-7341154:682-694
/branches/PR-7431723:660-664
/branches/PR-7461534:650-664
/branches/PR-7482850:670-671
/branches/PR-7489777:676-731
/branches/PR-7529688:692-694
/branches/PR-7593824:739-772
/branches/PR-7598640:703-731
/branches/PR-7748469:777-785
/branches/PR-7765119:790-791
/branches/PR-7798586:796-799
/branches/PR-7872907:830-840
/branches/PR-7935095:819-821
/branches/PR-8116613:849
/branches/PR-8279204:854-860

Deleted: trunk/darwinbuild/Makefile
===================================================================
--- trunk/darwinbuild/Makefile	2010-08-09 21:21:36 UTC (rev 860)
+++ trunk/darwinbuild/Makefile	2010-08-11 00:22:13 UTC (rev 861)
@@ -1,75 +0,0 @@
-include ../common.mk
-
-###
-### Variables for the 'install' phase
-###
-DATDIR:=$(DATDIR)/darwinbuild
-
-PrefixReplacements = darwinbuild \
-		     darwinmaster.sh \
-		     packageRoots.sh \
-		     thinPackages.sh \
-		     installXcode \
-		     installXcode32
-
-all: manifest prefixes
-
-manifest: manifest.c
-	cc $(CFLAGS) -Wall -Werror -o $(OBJROOT)/$@ -lcrypto $^
-
-prefixes: $(PrefixReplacements)
-
-$(PrefixReplacements): % : %.in
-	$(SED) -e 's,%%PREFIX%%,$(PREFIX),' $@.in > $@ ;			
-
-install: all
-	[ -d $(BINDIR) ] || $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(BINDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) darwinbuild $(BINDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) darwinmaster $(BINDIR)
-
-	[ -d $(DATDIR) ] || $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(DATDIR)
-	$(INSTALL) $(INSTALL_DOC_FLAGS) darwinbuild.common $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) installXcode $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) installXcode2 $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) installXcode3 $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) installXcode31 $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) installXcode32 $(DATDIR)
-	$(INSTALL) $(INSTALL_DOC_FLAGS) Info.plist $(DATDIR)
-	$(INSTALL) $(INSTALL_DOC_FLAGS) SDKSettings.plist $(DATDIR)
-
-	$(INSTALL) $(INSTALL_EXE_FLAGS) createChroot $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) $(OBJROOT)/manifest $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) ditto $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) buildlist $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) buildorder $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) packageRoots $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) synthfat $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) thinFile $(DATDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) thinPackages $(DATDIR)
-
-uninstall:
-	rm -f $(BINDIR)/darwinbuild
-	rm -f $(BINDIR)/darwinmaster
-	rm -f $(DATDIR)/darwinbuild.common
-	rm -f $(DATDIR)/installXcode
-	rm -f $(DATDIR)/installXcode2
-	rm -f $(DATDIR)/installXcode3
-	rm -f $(DATDIR)/installXcode31
-	rm -f $(DATDIR)/installXcode32
-	rm -f $(DATDIR)/Info.plist
-	rm -f $(DATDIR)/SDKSettings.plist
-	rm -f $(DATDIR)/createChroot
-	rm -f $(DATDIR)/manifest
-	rm -f $(DATDIR)/ditto
-	rm -f $(DATDIR)/buildlist
-	rm -f $(DATDIR)/buildorder
-	rm -f $(DATDIR)/packageRoots
-	rm -f $(DATDIR)/synthfat
-	rm -f $(DATDIR)/thinFile
-	rm -f $(DATDIR)/thinPackages
-	
-
-clean:
-	rm -f manifest
-	@$(foreach SCRIPT,$(PrefixReplacements), \
-		rm -f $(SCRIPT) ; )

Copied: trunk/darwinbuild/digest.c (from rev 860, branches/PR-8279204/darwinbuild/digest.c)
===================================================================
--- trunk/darwinbuild/digest.c	                        (rev 0)
+++ trunk/darwinbuild/digest.c	2010-08-11 00:22:13 UTC (rev 861)
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2010 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_BSD_LICENSE_HEADER_START@
+ *
+ * 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.
+ * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS 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 APPLE OR ITS 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.
+ *
+ * @APPLE_BSD_LICENSE_HEADER_END@
+ */
+
+#include <sys/types.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <CommonCrypto/CommonDigest.h>
+
+
+void print_usage() {
+	fprintf(stdout, "digest [-1]                               \n");
+	fprintf(stdout, "   Print digest hash of stdin to stdout.  \n");
+	fprintf(stdout, "                                          \n");
+	fprintf(stdout, "     -1       Use SHA1 hash (default)     \n");
+	fprintf(stdout, "                                          \n");
+}
+
+char* format_digest(const unsigned char* m) {
+	char* result = NULL;
+	// SHA-1
+	asprintf(&result,
+			 "%02x%02x%02x%02x"
+			 "%02x%02x%02x%02x"
+			 "%02x%02x%02x%02x"
+			 "%02x%02x%02x%02x"
+			 "%02x%02x%02x%02x",
+			 m[0], m[1], m[2], m[3],
+			 m[4], m[5], m[6], m[7],
+			 m[8], m[9], m[10], m[11],
+			 m[12], m[13], m[14], m[15],
+			 m[16], m[17], m[18], m[19]
+			 );
+	return result;
+}
+
+char* calculate_digest(int fd) {
+	unsigned char md[CC_SHA1_DIGEST_LENGTH];
+	CC_SHA1_CTX c;
+	CC_SHA1_Init(&c);
+	
+	memset(md, 0, CC_SHA1_DIGEST_LENGTH);
+	
+	ssize_t len;
+	const unsigned int blocklen = 8192;
+	unsigned char* block = (unsigned char*)malloc(blocklen);
+	if (!block) {
+		errno = ENOMEM;
+		return NULL;
+	}
+	while(1) {
+		len = read(fd, block, blocklen);
+		if (len == 0) { close(fd); break; }
+		if ((len < 0) && (errno == EINTR)) continue;
+		if (len < 0) { close(fd); return NULL; }
+		CC_SHA1_Update(&c, block, (size_t)len);
+	}
+	
+	CC_SHA1_Final(md, &c);
+	free(block);
+	return format_digest(md);
+}
+
+
+int main(int argc, char* argv[]) {
+	
+	int digest = 1; // default to SHA1
+	
+	int ch;
+	while ((ch = getopt(argc, argv, "1")) != -1) {
+		switch (ch) {
+			case '1':
+				digest = 1;
+				break;
+			case '?':
+			default:
+				print_usage();
+				exit(1);
+		}
+	}
+	argc -= optind;
+	argv += optind;
+	
+	fprintf(stdout, "%s\n", calculate_digest(fileno(stdin)));
+
+	return 0;
+}

Deleted: trunk/darwinup/Makefile
===================================================================
--- trunk/darwinup/Makefile	2010-08-09 21:21:36 UTC (rev 860)
+++ trunk/darwinup/Makefile	2010-08-11 00:22:13 UTC (rev 861)
@@ -1,30 +0,0 @@
-include ../common.mk
-
-CXXFLAGS=-g -Wall -Werror -Wno-non-virtual-dtor $(CFLAGS)
-# libredo.o is generated from cctools_ofiles
-REDO=$(shell if [ -f /usr/local/lib/libredo_prebinding.a ]; then \
-		echo /usr/local/lib/libredo_prebinding.a ; else \
-		echo libredo.o ; fi)
-
-all: darwinup
-
-darwinup: Archive.o Depot.o Digest.o File.o SerialSet.o Utils.o main.o \
-	$(REDO)
-	g++ $(CXXFLAGS) -lcrypto -lsqlite3 -o $@ $^
-
-Archive.o: Archive.cpp Archive.h Depot.h File.h Utils.h
-Depot.o: Depot.cpp Archive.h Depot.h File.h Utils.h
-Digest.o: Digest.cpp Digest.h
-File.o: File.cpp Archive.h Digest.h File.h Utils.h
-Utils.o: Utils.h
-main.o: main.cpp Depot.h Utils.h
-
-install: all
-	[ -d $(BINDIR) ] || $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(BINDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) darwinup $(BINDIR)
-
-uninstall:
-	rm -f $(BINDIR)/darwinup	
-
-clean:
-	rm -f darwinup Archive.o Depot.o Digest.o File.o SerialSet.o Utils.o main.o

Deleted: trunk/darwinxref/Makefile
===================================================================
--- trunk/darwinxref/Makefile	2010-08-09 21:21:36 UTC (rev 860)
+++ trunk/darwinxref/Makefile	2010-08-11 00:22:13 UTC (rev 861)
@@ -1,108 +0,0 @@
-include ../common.mk
-
-###
-### Variables for the 'install' phase
-###
-DATDIR:=$(DATDIR)/darwinxref
-INCDIR:=$(INCDIR)/darwinbuild
-
-SOURCES= \
-	DBDataStore.c \
-	DBPlugin.c \
-	DBTclPlugin.c \
-	cfutils.c \
-	main.c
-
-PLUGIN_SOURCES=$(wildcard plugins/*.c)
-PLUGIN_OBJECTS=$(PLUGIN_SOURCES:.c=.so) $(wildcard plugins/*.tcl)
-
-### todo: --with-plugin-path configuration
-CFLAGS+= \
-	-DDEFAULT_DB_FILE=\".build/xref.db\" \
-	-DDEFAULT_PLUGIN_PATH=\"$(subst $(DESTDIR),,$(DATDIR))/plugins\" \
-
-### todo: --with-tcl-plugins configuration
-TCL_CFLAGS=-DHAVE_TCL_PLUGINS=1
-TCL_LDFLAGS=-ltcl
-
-CFLAGS+=-g -Wall -Werror $(TCL_CFLAGS) $(SQLITEINC)
-LDFLAGS+=-framework CoreFoundation $(TCL_LDFLAGS)
-PLUGIN_CFLAGS=$(CFLAGS) -I.
-PLUGIN_LDFLAGS=$(LDFLAGS) -bundle -bundle_loader $(SYMROOT)/darwinxref
-
-CC = cc
-DSYMUTIL = dsymutil
-
-all: \
-	darwinxref \
-	$(PLUGIN_SOURCES:.c=.so) \
-	upgrade_plist \
-	apple_plugins
-
-install: all install_apple_plugins
-	[ -d $(BINDIR) ] || \
-		$(INSTALL) -d $(INSTALL_DIR_FLAGS) $(BINDIR)
-	$(INSTALL) $(INSTALL_EXE_FLAGS) $(SYMROOT)/darwinxref $(BINDIR)
-
-	[ -d $(DATDIR)/plugins ] || \
-		$(INSTALL) -d $(INSTALL_DIR_FLAGS) $(DATDIR)/plugins
-	$(INSTALL) $(INSTALL_DOC_FLAGS) $(OBJROOT)/plugins/*.so plugins/*.tcl $(DATDIR)/plugins
-
-	[ -d $(INCDIR) ] || \
-		$(INSTALL) -d $(INSTALL_DIR_FLAGS) $(INCDIR)
-	$(INSTALL) $(INSTALL_DOC_FLAGS) DBPlugin.h cfutils.h $(INCDIR)
-
-uninstall:
-	rm -f $(BINDIR)/darwinxref
-	[ ! -d $(DATDIR) ] || ( cd $(DATDIR) && rm -f $(PLUGIN_OBJECTS) )
-	-rmdir $(DATDIR)/plugins
-	-rmdir $(DATDIR)
-	
-	rm -f $(INCDIR)/DBPlugin.h
-	rm -f $(INCDIR)/cfutils.h
-	-rmdir $(INCDIR)
-
-clean:
-	rm -f darwinxref
-	rm -rf darwinxref.dSYM
-	rm -f $(SOURCES:.c=.o)
-	rm -f $(PLUGIN_SOURCES:.c=.so)
-	rm -rf $(PLUGIN_SOURCES:.c=.so.dSYM)
-	rm -f upgrade_plist
-	rm -rf upgrade_plist.dSYM
-
-darwinxref: $(SOURCES)
-	@for CFILE in $(SOURCES); do \
-		OFILE=$$(echo $$(basename $${CFILE}) | sed -e 's,\.[^.]*$$,.o,') ; \
-		CMD="$(CC) $(CFLAGS) -c -o $(OBJROOT)/$${OFILE} $${CFILE}"; \
-		echo $$CMD ; $$CMD || exit 1 ; \
-	done
-	$(CC) $(LDFLAGS) $(CFLAGS) -o $(SYMROOT)/darwinxref \
-		$(SQLITELIB) \
-		$(foreach OFILE, $(SOURCES:.c=.o), $(OBJROOT)/$(notdir $(OFILE)))
-	$(DSYMUTIL) --out $(SYMROOT)/darwinxref.dSYM $(SYMROOT)/darwinxref || true
-
-plugins/register.so: plugins/register.c DBPlugin.h darwinxref
-	@mkdir -p $(OBJROOT)/plugins
-	cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $(SQLITEINC) $(SQLITELIB) -lcrypto $<
-
-plugins/%.so: plugins/%.c DBPlugin.h darwinxref
-	@mkdir -p $(OBJROOT)/plugins
-	cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $<
-
-plugins-darwinports/%.so: plugins-darwinports/%.c DBPlugin.h darwinxref
-	cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $<
-
-apple_plugins:
-	@if [ -d plugins-apple ]; then			\
-		make -C plugins-apple;			\
-	fi
-
-install_apple_plugins:
-	@if [ -d plugins-apple ]; then			\
-		make -C plugins-apple install;		\
-	fi
-
-upgrade_plist: upgrade_plist.c cfutils.c
-	cc $(CFLAGS) -o $(OBJROOT)/$@ $(CFLAGS) $(LDFLAGS) $^
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/darwinbuild-changes/attachments/20100810/ee02c774/attachment-0001.html>


More information about the darwinbuild-changes mailing list