A Device Tree Compiler.
--- /dev/null
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
+
+name = dtc
+version = 1.3.0
+release = 1
+thisapp = %{name}-v%{version}
+
+groups = Development/Tools
+url = http://git.jdl.com/gitweb/?p=dtc.git;a=summary
+license = GPLv2+
+summary = Device Tree Compiler
+
+description
+ The Device Tree Compiler generates flattened Open Firmware style
+ device trees for use with PowerPC machines that lack an Open Firmware
+ implementation.
+end
+
+sources = %{thisapp}.tgz
+source_dl = http://www.jdl.com/software/
+
+build
+ requires
+ bison
+ flex
+ end
+
+ make_install_targets += PREFIX=/usr LIBDIR=%{libdir}
+
+ install_cmds
+ # we don't want or need ftdump and it conflicts with
+ # freetype-demos
+ rm -vf %{BUILDROOT}%{bindir}/ftdump
+ end
+end
+
+packages
+ package %{name}
+
+ package libfdt
+ template LIBS
+
+ files
+ %{libdir}/libfdt-%{version}.so
+ %{libdir}/libfdt.so.1
+ end
+ end
+
+ package libfdt-devel
+ template DEVEL
+
+ requires += libfdt = %{thisver}
+
+ files
+ %{includedir}
+ %{libdir}/libfdt.so
+ end
+ end
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
+end
--- /dev/null
+From jwboyer@linux.vnet.ibm.com Tue Jun 28 08:47:09 2011
+Date: Tue, 28 Jun 2011 08:47:09 -0400
+From: Josh Boyer <jwboyer@linux.vnet.ibm.com>
+To: Jon Loeliger <jdl@jdl.com>
+Cc: linuxppc-dev@lists.ozlabs.org
+Subject: [PATCH] dtc: Remove unused check variable
+Message-ID: <20110628124709.GC10237@zod.rchland.ibm.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.5.21 (2010-09-15)
+Status: RO
+Content-Length: 1315
+Lines: 49
+
+Commit 376ab6f2 removed the old style check functionality from DTC,
+however the check option and variable were not removed. This leads to
+build failures when -Werror=unused-but-set-variable is specified:
+
+ dtc.c: In function 'main':
+ dtc.c:102:17: error: variable 'check' set but not used [-Werror=unused-but-set-variable]
+ cc1: all warnings being treated as errors
+ make: *** [dtc.o] Error 1
+ make: *** Waiting for unfinished jobs....
+
+Remove the check variable.
+
+Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
+
+---
+
+t a/dtc.c b/dtc.c
+index cbc0193..15d2fc2 100644
+--- a/dtc.c
++++ b/dtc.c
+@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
+ const char *inform = "dts";
+ const char *outform = "dts";
+ const char *outname = "-";
+- int force = 0, check = 0, sort = 0;
++ int force = 0, sort = 0;
+ const char *arg;
+ int opt;
+ FILE *outf = NULL;
+@@ -111,7 +111,7 @@ int main(int argc, char *argv[])
+ minsize = 0;
+ padsize = 0;
+
+- while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fcqb:vH:s")) != EOF) {
++ while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fqb:vH:s")) != EOF) {
+ switch (opt) {
+ case 'I':
+ inform = optarg;
+@@ -137,9 +137,6 @@ int main(int argc, char *argv[])
+ case 'f':
+ force = 1;
+ break;
+- case 'c':
+- check = 1;
+- break;
+ case 'q':
+ quiet++;
+ break;
+
+
--- /dev/null
+From jwboyer@linux.vnet.ibm.com Tue Jun 28 09:42:53 2011
+Date: Tue, 28 Jun 2011 09:42:53 -0400
+From: Josh Boyer <jwboyer@linux.vnet.ibm.com>
+To: jdl@jdl.com, david@gibson.dropbear.id.au
+Cc: linuxppc-dev@lists.ozlabs.org
+Subject: [PATCH] dtc: Remove unused variable in flat_read_mem_reserve
+Message-ID: <20110628134253.GD10237@zod.rchland.ibm.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.5.21 (2010-09-15)
+Status: RO
+Content-Length: 1865
+Lines: 68
+
+The *p variable is declared and used to save inb->ptr, however p is
+later never used. This has been the case since commit 6c0f3676 and can
+lead to build failures with -Werror=unused-but-set-variable:
+
+ flattree.c: In function 'flat_read_mem_reserve':
+ flattree.c:700:14: error: variable 'p' set but not used [-Werror=unused-but-set-variable]
+ cc1: all warnings being treated as errors
+ make: *** [flattree.o] Error 1
+
+Remove the variable.
+
+Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
+
+---
+
+diff --git a/flattree.c b/flattree.c
+index ead0332..28d0b23 100644
+--- a/flattree.c
++++ b/flattree.c
+@@ -697,7 +697,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)
+ {
+ struct reserve_info *reservelist = NULL;
+ struct reserve_info *new;
+- const char *p;
+ struct fdt_reserve_entry re;
+
+ /*
+@@ -706,7 +705,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)
+ *
+ * First pass, count entries.
+ */
+- p = inb->ptr;
+ while (1) {
+ flat_read_chunk(inb, &re, sizeof(re));
+ re.address = fdt64_to_cpu(re.address);
+
+