package/google-breakpad: switch to the new git repository
authorRomain Naour <romain.naour@gmail.com>
Sun, 27 Nov 2016 16:16:39 +0000 (17:16 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 17 Dec 2016 15:15:30 +0000 (16:15 +0100)
Google-breakpad moved to a new git repository last year and the old svn
repository has been deleted. So, the Buildroot archive mirror is used.

svn: E160013: Unable to connect to a repository at URL 'http://google-breakpad.googlecode.com/svn/trunk'
svn: E160013: '/svn/trunk' path not found
--2016-11-27 10:42:34--  http://sources.buildroot.net/google-breakpad-1373.tar.gz

Swith to the git repository using the git hash corresponding to the
1373 svn revision. But there is an issue with the third parties...
Some of them are not bundled with Google-breakpad or as git submodule.
Even worst, the google-breakpad source code use #include
"third_party/lss" directly, so we can't provide missing third parties
with an external package.

That's why the linux-syscall-support package was added to Buildroot,
it provide the missing linux_syscall_support.h file which is must be
copied to src/third_party/lss/ in the Google-breakpad sources.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Pascal Huerst <pascal.huerst@gmail.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/google-breakpad/Config.in
package/google-breakpad/google-breakpad.hash [new file with mode: 0644]
package/google-breakpad/google-breakpad.mk

index c800974dbc71c69f987a8278d8f0ffc61c996053..5c3f2e8a682082e33bbda6a9a5c750d19b107187 100644 (file)
@@ -10,6 +10,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD
        depends on BR2_TOOLCHAIN_HAS_THREADS
        depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
        depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
+       select BR2_PACKAGE_LINUX_SYSCALL_SUPPORT
        help
          Google-Breakpad is a library and tool suite that allows you
          to distribute an application to users with compiler-provided
@@ -29,7 +30,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD
          needed to extract the debugging symbols from target
          binaries.
 
-         http://code.google.com/p/google-breakpad/
+         https://chromium.googlesource.com/breakpad/breakpad
 
 comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++ enabled"
        depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
diff --git a/package/google-breakpad/google-breakpad.hash b/package/google-breakpad/google-breakpad.hash
new file mode 100644 (file)
index 0000000..b66f43d
--- /dev/null
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 25466aac60b83b231ce03d1540b1f8528c02ddaa76b08aed779084b145f07516 google-breakpad-7883a8308274cc37847e4ff3b995a327588fe034.tar.gz
index 7a88c76500dfb403f2427f7478cf7dc97ece5e62..0805c25e3ecb88b34b4ce66915e3c2da29f69fc9 100644 (file)
@@ -4,16 +4,33 @@
 #
 ################################################################################
 
-GOOGLE_BREAKPAD_VERSION = 1373
-GOOGLE_BREAKPAD_SITE = http://google-breakpad.googlecode.com/svn/trunk
-GOOGLE_BREAKPAD_SITE_METHOD = svn
+GOOGLE_BREAKPAD_VERSION = 7883a8308274cc37847e4ff3b995a327588fe034
+GOOGLE_BREAKPAD_SITE = https://chromium.googlesource.com/breakpad/breakpad
+GOOGLE_BREAKPAD_SITE_METHOD = git
 GOOGLE_BREAKPAD_CONF_OPTS = --disable-processor --disable-tools
 # Only a static library is installed
 GOOGLE_BREAKPAD_INSTALL_TARGET = NO
 GOOGLE_BREAKPAD_INSTALL_STAGING = YES
 GOOGLE_BREAKPAD_LICENSE = BSD-3c
 GOOGLE_BREAKPAD_LICENSE_FILES = LICENSE
-GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad
+GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad linux-syscall-support
+
+HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support 
+
+# Avoid using depot-tools to download this file.
+define HOST_GOOGLE_BREAKPAD_LSS
+       $(INSTALL) -D -m 0644 \
+               $(HOST_DIR)/usr/include/linux_syscall_support.h \
+               $(@D)/src/third_party/lss/linux_syscall_support.h
+endef
+HOST_GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += HOST_GOOGLE_BREAKPAD_LSS
+
+define GOOGLE_BREAKPAD_LSS
+       $(INSTALL) -D -m 0644 \
+               $(STAGING_DIR)/usr/include/linux_syscall_support.h \
+               $(@D)/src/third_party/lss/linux_syscall_support.h
+endef
+GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += GOOGLE_BREAKPAD_LSS
 
 define GOOGLE_BREAKPAD_EXTRACT_SYMBOLS
        $(EXTRA_ENV) package/google-breakpad/gen-syms.sh $(STAGING_DIR) \