diff options
Diffstat (limited to 'ubuntu/maverick/dependencies/libr/debian/patches')
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 |