summaryrefslogtreecommitdiff
path: root/packages/parted
diff options
context:
space:
mode:
Diffstat (limited to 'packages/parted')
-rw-r--r--packages/parted/parted-1.8.0/.mtn2git_empty0
-rw-r--r--packages/parted/parted-1.8.0/memory_allocation.patch42
-rw-r--r--packages/parted/parted_1.8.0.bb3
-rw-r--r--packages/parted/parted_1.8.2.bb16
4 files changed, 60 insertions, 1 deletions
diff --git a/packages/parted/parted-1.8.0/.mtn2git_empty b/packages/parted/parted-1.8.0/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/parted/parted-1.8.0/.mtn2git_empty
diff --git a/packages/parted/parted-1.8.0/memory_allocation.patch b/packages/parted/parted-1.8.0/memory_allocation.patch
new file mode 100644
index 0000000000..ba3709680b
--- /dev/null
+++ b/packages/parted/parted-1.8.0/memory_allocation.patch
@@ -0,0 +1,42 @@
+--- parted-1.8.0/libparted/exception.c_orig 2006-12-11 19:44:23.000000000 +0000
++++ parted-1.8.0/libparted/exception.c 2006-12-11 19:47:53.000000000 +0000
+@@ -231,6 +231,9 @@
+ PedExceptionOption ex_opts, const char* message, ...)
+ {
+ va_list arg_list;
++ int result;
++ static int size = 1000;
++
+
+ if (ex)
+ ped_exception_catch ();
+@@ -239,16 +242,22 @@
+ if (!ex)
+ goto no_memory;
+
+- ex->message = (char*) malloc (8192);
+- if (!ex->message)
+- goto no_memory;
+-
+ ex->type = ex_type;
+ ex->options = ex_opts;
+
+- va_start (arg_list, message);
+- vsnprintf (ex->message, 8192, message, arg_list);
+- va_end (arg_list);
++ while (1) {
++ ex->message = (char*) malloc (size);
++ if (!ex->message)
++ goto no_memory;
++ va_start (arg_list, message);
++ result = vsnprintf (ex->message, size, message, arg_list);
++ va_end (arg_list);
++
++ if (result > -1 && result < size)
++ break;
++ size += 10;
++ }
++
+
+ return do_throw ();
+
diff --git a/packages/parted/parted_1.8.0.bb b/packages/parted/parted_1.8.0.bb
index 8681055855..bff27a62e8 100644
--- a/packages/parted/parted_1.8.0.bb
+++ b/packages/parted/parted_1.8.0.bb
@@ -5,7 +5,8 @@ SECTION = "console/tools"
DEPENDS = "readline e2fsprogs-libs"
PR = "r0"
-SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.gz \
+ file://memory_allocation.patch;patch=0"
EXTRA_OECONF = "--disable-Werror"
#export CFLAGS = "-mstructure-size-boundary=8"
diff --git a/packages/parted/parted_1.8.2.bb b/packages/parted/parted_1.8.2.bb
new file mode 100644
index 0000000000..1185014aa3
--- /dev/null
+++ b/packages/parted/parted_1.8.2.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "parted, the GNU partition resizing program"
+HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
+LICENSE = "GPLv2"
+SECTION = "console/tools"
+DEPENDS = "readline e2fsprogs-libs"
+PR = "r0"
+
+SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.gz"
+
+#EXTRA_OECONF = "--disable-Werror"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}