summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick/dependencies/libr/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/maverick/dependencies/libr/debian/patches')
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/000-fix-stack-smashing.diff24
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/001-fix-arm-builds.diff56
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/002-fix-crash-on-malformed-icon.diff34
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/003-fix-gtk-includes.diff12
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/004-fix-force-arch.diff138
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/005-fix-arm-mangled-section.diff44
-rw-r--r--ubuntu/maverick/dependencies/libr/debian/patches/series6
7 files changed, 314 insertions, 0 deletions
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/000-fix-stack-smashing.diff b/ubuntu/maverick/dependencies/libr/debian/patches/000-fix-stack-smashing.diff
new file mode 100644
index 000000000..ae5862c79
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/000-fix-stack-smashing.diff
@@ -0,0 +1,24 @@
+diff -ru libr-0.6.0~maverick/src/libr-bfd.h libr-0.6.0/src/libr-bfd.h
+--- libr-0.6.0~maverick/src/libr-bfd.h 2009-12-03 18:51:50.000000000 +0000
++++ libr-0.6.0/src/libr-bfd.h 2012-09-12 20:08:35.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef __LIBR_BFD_H
+ #define __LIBR_BFD_H
+
++#include "config.h"
++
+ #include <sys/types.h>
+ #include <stdint.h>
+ #include <bfd.h>
+diff -ru libr-0.6.0~maverick/src/libr-internal.h libr-0.6.0/src/libr-internal.h
+--- libr-0.6.0~maverick/src/libr-internal.h 2010-05-01 19:07:32.000000000 +0000
++++ libr-0.6.0/src/libr-internal.h 2012-09-12 20:08:35.000000000 +0000
+@@ -7,7 +7,7 @@
+ #define EXPORT_FN __attribute__((visibility ("protected")))
+ #define INTERNAL_FN __attribute__ ((visibility ("internal")))
+ #define LIBR_TEMPFILE "/tmp/libr-temp.XXXXXX"
+-#define LIBR_TEMPFILE_LEN 21
++#define LIBR_TEMPFILE_LEN 22
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/001-fix-arm-builds.diff b/ubuntu/maverick/dependencies/libr/debian/patches/001-fix-arm-builds.diff
new file mode 100644
index 000000000..368fad44e
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/001-fix-arm-builds.diff
@@ -0,0 +1,56 @@
+diff -ru libr-0.6.0~maverick/configure libr-0.6.0/configure
+--- libr-0.6.0~maverick/configure 2011-03-05 20:21:12.000000000 +0000
++++ libr-0.6.0/configure 2013-07-19 03:43:01.000000000 +0000
+@@ -13072,6 +13072,10 @@
+ ARCH="i386";
+ elif test "$UNAMEM" = "i686" ; then
+ ARCH="i386";
++elif test "$UNAMEM" = "armv5tejl" ; then
++ ARCH="armel";
++elif test "$UNAMEM" = "armv6l" ; then
++ ARCH="armhf";
+ elif test "$UNAMEM" = "x86_64"; then
+ ARCH="amd64";
+ fi
+@@ -13083,6 +13087,14 @@
+ CFLAGS="$CFLAGS -m64";
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for 64-bit compilation." >&5
+ $as_echo "$as_me: Ready for 64-bit compilation." >&6;};
++elif test "$ARCH" = "armel" ; then
++ CFLAGS="$CFLAGS";
++ { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for armel compilation." >&5
++$as_echo "$as_me: Ready for armel compilation." >&6;};
++elif test "$ARCH" = "armhf" ; then
++ CFLAGS="$CFLAGS";
++ { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for armhf compilation." >&5
++$as_echo "$as_me: Ready for armhf compilation." >&6;};
+ else
+ as_fn_error $? "Target architecture ${ARCH} is invalid!" "$LINENO" 5 ;
+ fi
+diff -ru libr-0.6.0~maverick/configure.ac libr-0.6.0/configure.ac
+--- libr-0.6.0~maverick/configure.ac 2011-03-05 20:20:50.000000000 +0000
++++ libr-0.6.0/configure.ac 2013-07-19 03:41:27.000000000 +0000
+@@ -81,6 +81,10 @@
+ ARCH="i386";
+ elif test "$UNAMEM" = "i686" ; then
+ ARCH="i386";
++elif test "$UNAMEM" = "armv5tejl" ; then
++ ARCH="armel";
++elif test "$UNAMEM" = "armv6l" ; then
++ ARCH="armhf";
+ elif test "$UNAMEM" = "x86_64"; then
+ ARCH="amd64";
+ fi
+@@ -90,6 +94,12 @@
+ elif test "$ARCH" = "amd64" ; then
+ CFLAGS="$CFLAGS -m64";
+ AC_MSG_NOTICE([Ready for 64-bit compilation.]);
++elif test "$ARCH" = "armel" ; then
++ CFLAGS="$CFLAGS";
++ AC_MSG_NOTICE([Ready for armel compilation.]);
++elif test "$ARCH" = "armhf" ; then
++ CFLAGS="$CFLAGS";
++ AC_MSG_NOTICE([Ready for armhf compilation.]);
+ else
+ AC_MSG_ERROR([Target architecture ${ARCH} is invalid!]);
+ fi
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/002-fix-crash-on-malformed-icon.diff b/ubuntu/maverick/dependencies/libr/debian/patches/002-fix-crash-on-malformed-icon.diff
new file mode 100644
index 000000000..757075f0e
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/002-fix-crash-on-malformed-icon.diff
@@ -0,0 +1,34 @@
+diff -ru libr-0.6.0~maverick/src/libr-icons.c libr-0.6.0/src/libr-icons.c
+--- libr-0.6.0~maverick/src/libr-icons.c 2011-03-02 22:22:33.000000000 +0000
++++ libr-0.6.0/src/libr-icons.c 2012-09-12 20:08:35.000000000 +0000
+@@ -330,18 +330,20 @@
+ if(entry->type == LIBR_SVG)
+ {
+ libr_icon *icon = libr_icon_geticon_byname(handle, entry->name);
+- libr_icon *icon_onecanvas;
+- char *buffer;
++ if (icon) {
++ libr_icon *icon_onecanvas;
++ char *buffer;
+
+- /* should we report the requested size for SVG? */
+- icon->icon_size = iconsize;
++ /* should we report the requested size for SVG? */
++ icon->icon_size = iconsize;
+
+- /* if the SVG is a "one canvas" document then extract the correctly sized icon */
+- if((buffer = onecanvas_geticon_bysize(icon->buffer, iconsize)) != NULL)
+- {
+- libr_icon_close(icon);
+- icon_onecanvas = new_icon_handle(LIBR_SVG, iconsize, buffer, strlen(buffer));
+- return icon_onecanvas;
++ /* if the SVG is a "one canvas" document then extract the correctly sized icon */
++ if((buffer = onecanvas_geticon_bysize(icon->buffer, iconsize)) != NULL)
++ {
++ libr_icon_close(icon);
++ icon_onecanvas = new_icon_handle(LIBR_SVG, iconsize, buffer, strlen(buffer));
++ return icon_onecanvas;
++ }
+ }
+ return icon;
+ }
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/003-fix-gtk-includes.diff b/ubuntu/maverick/dependencies/libr/debian/patches/003-fix-gtk-includes.diff
new file mode 100644
index 000000000..d300beeca
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/003-fix-gtk-includes.diff
@@ -0,0 +1,12 @@
+diff -ru libr-0.6.0~maverick/src/libr-gtk.c libr-0.6.0/src/libr-gtk.c
+--- libr-0.6.0~maverick/src/libr-gtk.c 2009-12-01 23:11:37.000000000 +0000
++++ libr-0.6.0/src/libr-gtk.c 2012-09-12 20:08:35.000000000 +0000
+@@ -33,7 +33,7 @@
+
+ /* For loading GTK/GDK images */
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+-#include <glib/gthread.h>
++#include <glib.h>
+
+ /* For loading GLADE files */
+ #include <glade/glade.h>
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/004-fix-force-arch.diff b/ubuntu/maverick/dependencies/libr/debian/patches/004-fix-force-arch.diff
new file mode 100644
index 000000000..9c25095ea
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/004-fix-force-arch.diff
@@ -0,0 +1,138 @@
+Index: b/Makefile.in
+===================================================================
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -136,7 +136,6 @@
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+ AR = @AR@
+-ARCH = @ARCH@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+Index: b/configure
+===================================================================
+--- a/configure
++++ b/configure
+@@ -746,7 +746,6 @@
+ am__EXEEXT_TRUE
+ LTLIBOBJS
+ LIBOBJS
+-ARCH
+ BACKEND_PKG
+ LIBR_BACKEND
+ BACKEND_NAME
+@@ -13062,44 +13061,6 @@
+
+
+
+-## Handle target architecture configuration
+-UNAMEM=`uname -m`;
+-if test "$UNAMEM" = "i386" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i486" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i586" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i686" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "armv5tejl" ; then
+- ARCH="armel";
+-elif test "$UNAMEM" = "armv6l" ; then
+- ARCH="armhf";
+-elif test "$UNAMEM" = "x86_64"; then
+- ARCH="amd64";
+-fi
+-if test "$ARCH" = "i386" ; then
+- CFLAGS="$CFLAGS -m32";
+- { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for 32-bit compilation." >&5
+-$as_echo "$as_me: Ready for 32-bit compilation." >&6;};
+-elif test "$ARCH" = "amd64" ; then
+- CFLAGS="$CFLAGS -m64";
+- { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for 64-bit compilation." >&5
+-$as_echo "$as_me: Ready for 64-bit compilation." >&6;};
+-elif test "$ARCH" = "armel" ; then
+- CFLAGS="$CFLAGS";
+- { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for armel compilation." >&5
+-$as_echo "$as_me: Ready for armel compilation." >&6;};
+-elif test "$ARCH" = "armhf" ; then
+- CFLAGS="$CFLAGS";
+- { $as_echo "$as_me:${as_lineno-$LINENO}: Ready for armhf compilation." >&5
+-$as_echo "$as_me: Ready for armhf compilation." >&6;};
+-else
+- as_fn_error $? "Target architecture ${ARCH} is invalid!" "$LINENO" 5 ;
+-fi
+-
+-## END Handle target architecture configuration
+
+ ac_config_headers="$ac_config_headers config.h"
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,40 +71,6 @@
+ AC_SUBST(LIBR_BACKEND)
+ AC_SUBST(BACKEND_PKG)
+
+-## Handle target architecture configuration
+-UNAMEM=`uname -m`;
+-if test "$UNAMEM" = "i386" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i486" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i586" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "i686" ; then
+- ARCH="i386";
+-elif test "$UNAMEM" = "armv5tejl" ; then
+- ARCH="armel";
+-elif test "$UNAMEM" = "armv6l" ; then
+- ARCH="armhf";
+-elif test "$UNAMEM" = "x86_64"; then
+- ARCH="amd64";
+-fi
+-if test "$ARCH" = "i386" ; then
+- CFLAGS="$CFLAGS -m32";
+- AC_MSG_NOTICE([Ready for 32-bit compilation.]);
+-elif test "$ARCH" = "amd64" ; then
+- CFLAGS="$CFLAGS -m64";
+- AC_MSG_NOTICE([Ready for 64-bit compilation.]);
+-elif test "$ARCH" = "armel" ; then
+- CFLAGS="$CFLAGS";
+- AC_MSG_NOTICE([Ready for armel compilation.]);
+-elif test "$ARCH" = "armhf" ; then
+- CFLAGS="$CFLAGS";
+- AC_MSG_NOTICE([Ready for armhf compilation.]);
+-else
+- AC_MSG_ERROR([Target architecture ${ARCH} is invalid!]);
+-fi
+-AC_SUBST(ARCH)
+-## END Handle target architecture configuration
+
+ AC_CONFIG_HEADERS(config.h)
+ AC_OUTPUT(
+Index: b/man/Makefile.in
+===================================================================
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -81,7 +81,6 @@
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+ AR = @AR@
+-ARCH = @ARCH@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+Index: b/src/Makefile.in
+===================================================================
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -103,7 +103,6 @@
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+ AR = @AR@
+-ARCH = @ARCH@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/005-fix-arm-mangled-section.diff b/ubuntu/maverick/dependencies/libr/debian/patches/005-fix-arm-mangled-section.diff
new file mode 100644
index 000000000..141c4c92e
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/005-fix-arm-mangled-section.diff
@@ -0,0 +1,44 @@
+Index: libr-0.6.0/src/libr-bfd.c
+===================================================================
+--- libr-0.6.0.orig/src/libr-bfd.c 2011-03-02 22:06:52.000000000 +0000
++++ libr-0.6.0/src/libr-bfd.c 2014-03-30 10:57:27.132041406 +0000
+@@ -159,7 +159,18 @@
+ continue; /* Section has been marked for deletion */
+ }
+ /* Use SEC_LINKER_CREATED to ask the libbfd backend to take care of configuring the section */
+- oscn = bfd_make_section_anyway_with_flags(ohandle, iscn->name, iscn->flags | SEC_LINKER_CREATED);
++
++ // Keep the ARM_ATTRIBUTES section type intact on armhf systems
++ // If this is not done, readelf -A will not print any architecture information for the modified library,
++ // and ldd will report that the library cannot be found
++ if (strcmp(iscn->name, ".ARM.attributes") == 0)
++ {
++ oscn = bfd_make_section_anyway_with_flags(ohandle, iscn->name, iscn->flags);
++ }
++ else
++ {
++ oscn = bfd_make_section_anyway_with_flags(ohandle, iscn->name, iscn->flags | SEC_LINKER_CREATED);
++ }
+ if(oscn == NULL)
+ {
+ printf("failed to create out section: %s\n", bfd_errmsg(bfd_get_error()));
+@@ -262,6 +273,7 @@
+ reloc_count = bfd_canonicalize_reloc(ihandle, iscn, reloc_buffer, symtab_buffer);
+ bfd_set_reloc(ohandle, oscn, reloc_buffer, reloc_count);
+ }
++
+ if(bfd_get_section_flags(ihandle, iscn) & SEC_HAS_CONTENTS)
+ {
+ /* NOTE: if the section is just being copied then do that, otherwise grab
+@@ -286,6 +298,11 @@
+ return false;
+ }
+ free(buffer);
++ if(!bfd_copy_private_section_data(ihandle, iscn, ohandle, oscn))
++ {
++ printf("failed to copy private section data: %s\n", bfd_errmsg(bfd_get_error()));
++ return false;
++ }
+ }
+ }
+ if(!bfd_copy_private_bfd_data(ihandle, ohandle))
diff --git a/ubuntu/maverick/dependencies/libr/debian/patches/series b/ubuntu/maverick/dependencies/libr/debian/patches/series
new file mode 100644
index 000000000..844430de6
--- /dev/null
+++ b/ubuntu/maverick/dependencies/libr/debian/patches/series
@@ -0,0 +1,6 @@
+000-fix-stack-smashing.diff
+001-fix-arm-builds.diff
+002-fix-crash-on-malformed-icon.diff
+003-fix-gtk-includes.diff
+004-fix-force-arch.diff
+005-fix-arm-mangled-section.diff