summaryrefslogtreecommitdiff
path: root/recipes/slugtool
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/slugtool')
-rw-r--r--recipes/slugtool/slugtool-native.bb10
-rw-r--r--recipes/slugtool/slugtool.bb17
-rw-r--r--recipes/slugtool/slugtool/redboot_typo.patch57
3 files changed, 84 insertions, 0 deletions
diff --git a/recipes/slugtool/slugtool-native.bb b/recipes/slugtool/slugtool-native.bb
new file mode 100644
index 0000000000..2d1fe918de
--- /dev/null
+++ b/recipes/slugtool/slugtool-native.bb
@@ -0,0 +1,10 @@
+SECTION = "unknown"
+require slugtool.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/slugtool-${PV}', '${FILE_DIRNAME}/slugtool', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 slugtool ${STAGING_BINDIR}/
+}
diff --git a/recipes/slugtool/slugtool.bb b/recipes/slugtool/slugtool.bb
new file mode 100644
index 0000000000..fb7497931f
--- /dev/null
+++ b/recipes/slugtool/slugtool.bb
@@ -0,0 +1,17 @@
+SECTION = "unknown"
+DESCRIPTION = "Slugtool is a small app to disassemble and reassemble \
+flash images for the Linksys NSLU2 device."
+PR = "r1"
+LICENSE = "GPL"
+SRC_URI = "http://www.lantz.com/filemgmt_data/files/slugtool.tar.gz \
+ file://redboot_typo.patch;patch=1"
+S = "${WORKDIR}"
+
+do_compile () {
+ ${CC} ${CFLAGS} ${LDFLAGS} slugtool.c -o slugtool
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 slugtool ${D}${bindir}/
+}
diff --git a/recipes/slugtool/slugtool/redboot_typo.patch b/recipes/slugtool/slugtool/redboot_typo.patch
new file mode 100644
index 0000000000..e74e8fbe42
--- /dev/null
+++ b/recipes/slugtool/slugtool/redboot_typo.patch
@@ -0,0 +1,57 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- slugtool-1.0-r0/slugtool.c~redboot_typo.patch
++++ slugtool-1.0-r0/slugtool.c
+@@ -2,11 +2,11 @@
+
+ #define NULLFILE ((FILE *)NULL)
+
+-#define REDBOOK_START 0
+-#define REDBOOK_LENGTH 0x40000
++#define REDBOOT_START 0
++#define REDBOOT_LENGTH 0x40000
+
+ #define CONF_SECTION_LENGTH 0x20000
+-#define CONF_HEADER (REDBOOK_START + REDBOOK_LENGTH)
++#define CONF_HEADER (REDBOOT_START + REDBOOT_LENGTH)
+ #define CONF_HEADER_LENGTH 0x10
+ #define CONF_START (CONF_HEADER + CONF_HEADER_LENGTH)
+ #define CONF_LENGTH (CONF_SECTION_LENGTH - CONF_HEADER_LENGTH)
+@@ -96,10 +96,10 @@
+ printf ("Unpacking '%s'....\n", filename);
+ fpin = fopen (filename, "r");
+
+- fseek (fpin, REDBOOK_START, SEEK_SET);
+- printf ("\tRedbook....\n");
+- fpout = fopen ("Redbook", "w");
+- writefile (REDBOOK_LENGTH, fpin, fpout);
++ fseek (fpin, REDBOOT_START, SEEK_SET);
++ printf ("\tRedboot....\n");
++ fpout = fopen ("Redboot", "w");
++ writefile (REDBOOT_LENGTH, fpin, fpout);
+ fclose (fpout);
+
+ printf ("\tReading SysConf Header....\n");
+@@ -169,14 +169,14 @@
+
+ fpout = fopen (filename, "r+");
+
+- printf ("\tRedbook....\n");
+- fpin = fopen ("Redbook", "r");
++ printf ("\tRedboot....\n");
++ fpin = fopen ("Redboot", "r");
+ if (fpin == NULLFILE) {
+- printf ("File 'Redbook' not found!\n");
++ printf ("File 'Redboot' not found!\n");
+ usage ();
+ }
+- fseek (fpout, REDBOOK_START, SEEK_SET);
+- writefile (REDBOOK_LENGTH, fpin, fpout);
++ fseek (fpout, REDBOOT_START, SEEK_SET);
++ writefile (REDBOOT_LENGTH, fpin, fpout);
+ fclose (fpin);
+
+ printf ("\tSysConf....\n");