Project import generated by Copybara.

NOKEYCHECK=True
GitOrigin-RevId: 384139f328f879a75101c8c261ad9d0543d30fe1
diff --git a/sp-oops-extract.patches/sp-oops-extract-50.patch b/sp-oops-extract.patches/sp-oops-extract-50.patch
new file mode 100644
index 0000000..b72df34
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-50.patch
@@ -0,0 +1,9 @@
+diff --aruN a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -12,4 +12,5 @@ distclean: clean
+	for i in $(SUBDIRS); do $(MAKE) -C $$i distclean; done
+
+ install:
++	mkdir -p $(BIN)
+	install src/sp-oops-extract $(BIN)
diff --git a/sp-oops-extract.patches/sp-oops-extract-51.patch b/sp-oops-extract.patches/sp-oops-extract-51.patch
new file mode 100644
index 0000000..d8e301f
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-51.patch
@@ -0,0 +1,9 @@
+diff --aruN a/src/Makefile b/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -9,4 +9,4 @@
+	$(RM) $(TARGETS)
+
+ sp-oops-extract: oopslog.c
+-	gcc -Wall -s -o $@ $^
++	$(CC) -Wall -s -o $@ $^
diff --git a/sp-oops-extract.patches/sp-oops-extract-52.patch b/sp-oops-extract.patches/sp-oops-extract-52.patch
new file mode 100644
index 0000000..1c3a522
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-52.patch
@@ -0,0 +1,107 @@
+diff '--exclude=*~' -Nurp sp-oops-extract-0.0.7.orig/src/oopslog.c sp-oops-extract-0.0.7/src/oopslog.c
+Index: sp-oops-extract-0.0.7/src/oopslog.c
+===================================================================
+--- sp-oops-extract-0.0.7.orig/src/oopslog.c	2017-04-05 16:31:18.973231119 -0700
++++ sp-oops-extract-0.0.7/src/oopslog.c	2017-04-05 16:31:18.965231155 -0700
+@@ -37,11 +37,18 @@
+ #include <linux/fs.h>
+ #include <err.h>
+ #include <stdint.h>
++#include <stdlib.h>
++#include <limits.h>
+ 
+-#define OOPS_PAGE_SIZE 4096
++#define DEFAULT_OOPS_PAGE_SIZE 4096
++#define OOPS_PAGE_SIZE_ENV "OOPS_PAGE_SIZE"
++#define OOPS_RECORD_SIZE_PATH "/sys/module/mtdoops/parameters/record_size"
++#define INVALID_OOPS_PAGE_SIZE ULONG_MAX
+ 
+ #define MEMGETINFO                _IOR('M', 1, struct mtd_info_user)
+ 
++unsigned long OOPS_PAGE_SIZE = DEFAULT_OOPS_PAGE_SIZE;
++
+ struct mtd_info_user {
+ 	uint8_t type;
+ 	uint32_t flags;
+@@ -55,6 +62,72 @@
+ 	uint32_t eccsize;
+ };
+ 
++static unsigned long init_oops_page_size_from_env(void)
++{
++	char *from_env = getenv(OOPS_PAGE_SIZE_ENV);
++	char *endptr = NULL;
++	unsigned long val = INVALID_OOPS_PAGE_SIZE;
++
++	if (!from_env) {
++		return val;
++	}
++
++	errno = 0;
++	val = strtoul(from_env, &endptr, 0);
++	if (from_env == endptr) {
++		// invalid value. Ignore it.
++		val = INVALID_OOPS_PAGE_SIZE;
++	} else if (val == ULONG_MAX && errno == ERANGE) {
++		// invalid value. Ignore it.
++		val = INVALID_OOPS_PAGE_SIZE;
++	} else {
++		// good read, using value.
++	}
++
++	return val;
++}
++
++static unsigned long init_oops_page_size_from_module(void)
++{
++	FILE *fp = fopen(OOPS_RECORD_SIZE_PATH, "r");
++	unsigned long val = INVALID_OOPS_PAGE_SIZE;
++	int items;
++
++	if (!fp) {
++		return INVALID_OOPS_PAGE_SIZE;
++	}
++
++	items = fscanf(fp, "%lu", &val);
++	fclose(fp);
++	if (items != 1) {
++		val = INVALID_OOPS_PAGE_SIZE;
++	}
++
++	return val;
++}
++
++// Set OOPS_PAGE_SIZE value from either environment (OOPS_PAGE_SIZE)
++// or from the kernel module parameter.
++static void init_oops_page_size(void)
++{
++	unsigned long val;
++
++	val = init_oops_page_size_from_env();
++
++	if (val == INVALID_OOPS_PAGE_SIZE) {
++		val = init_oops_page_size_from_module();
++	}
++
++	if (val != INVALID_OOPS_PAGE_SIZE) {
++		OOPS_PAGE_SIZE = val;
++	}
++
++	fprintf(stderr, "Using OOPS_PAGE_SIZE=%lu\n", val);
++	if ((OOPS_PAGE_SIZE % 4096) != 0) {
++		fprintf(stderr, "Warning: OOPS_PAGE_SIZE is supposed to be a multiple of 4096\n");
++	}
++}
++
+ static int try_to_check_for_bad_blocks(void) {
+ 	/* FIXME
+ 	 * Checking for bad blocks should be implemented here.
+@@ -83,6 +156,8 @@
+ 
+ 	device = argv[1];
+ 
++	init_oops_page_size();
++
+ 	buf = malloc(OOPS_PAGE_SIZE);
+ 	if (!buf) {
+ 		err(-1, "Unable to allocate memory");
diff --git a/sp-oops-extract.tar.gz b/sp-oops-extract.tar.gz
new file mode 100644
index 0000000..aa655c1
--- /dev/null
+++ b/sp-oops-extract.tar.gz
Binary files differ
diff --git a/sp-oops-extract.url b/sp-oops-extract.url
new file mode 100644
index 0000000..19cee8f
--- /dev/null
+++ b/sp-oops-extract.url
@@ -0,0 +1 @@
+http://repository.maemo.org/pool/maemo5.0/free/s/sp-oops-extract/sp-oops-extract_0.0.7-1.tar.gz
diff --git a/sp-oops-extract.version b/sp-oops-extract.version
new file mode 100644
index 0000000..5a5831a
--- /dev/null
+++ b/sp-oops-extract.version
@@ -0,0 +1 @@
+0.0.7