




























@xexaxo This is backward. You can't symlink submodules - just configure git repo to refer to the local clone of the submodule.
merge: git am -s < <(curl -s https://files.catbox.moe/7lu6dx)
zstd compressed debugging information is broadly supported in modern toochains and in breakpad; introduce zstd dependence and enable support via configure argument
From c90910c588a88dc6db82481ac8e44bb171bda1c5 Mon Sep 17 00:00:00 2001
From: Donald Carr <d@chaos-reins.com>
Date: Tue, 13 May 2025 17:29:51 -0700
Subject: [PATCH] Add zstd compressed debugging information support
---
PKGBUILD | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/PKGBUILD b/PKGBUILD
index b7c29b5..d549c79 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,13 +4,13 @@
# Contributor: John Schoenick <john@pointysoftware.net>
# Contributor: Geoffrey Teale <tealeg@googlemail.com>
pkgname=google-breakpad-git
-pkgver=r2032.afc8daa2
+pkgver=r2231.9eeece27
pkgrel=1
pkgdesc="An open-source multi-platform crash reporting system"
arch=('i686' 'x86_64' 'armv7h')
url="https://chromium.googlesource.com/breakpad/breakpad/"
license=('BSD')
-makedepends=('git')
+makedepends=('git' 'zstd')
depends=('gcc-libs')
conflicts=('google-breakpad')
provides=('google-breakpad')
@@ -32,7 +32,7 @@ pkgver() {
build() {
cd "$srcdir/breakpad"
- ./configure --prefix=/usr --libexecdir=/usr/lib
+ ./configure --prefix=/usr --libexecdir=/usr/lib --enable-zstd
make
}
--
2.49.0
seems like they forgot to install some headers, so here is another updated version with that patch:
From 2995fd2394a88a2eb25025dce008c7abff3ada80 Mon Sep 17 00:00:00 2001
From: "Martin T. H. Sandsmark" <martin.sandsmark@kde.org>
Date: Wed, 21 Oct 2020 12:09:22 +0200
Subject: [PATCH] clean up
---
PKGBUILD | 28 ++++++++++++++--------------
fix-install.patch | 14 ++++++++++++++
2 files changed, 28 insertions(+), 14 deletions(-)
create mode 100644 fix-install.patch
diff --git a/PKGBUILD b/PKGBUILD
index 890bc44..5b79c2d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,36 +3,36 @@
# Contributor: John Schoenick <john@pointysoftware.net>
# Contributor: Geoffrey Teale <tealeg@googlemail.com>
pkgname=google-breakpad-git
-pkgver=r1668.072f86ca
+pkgver=r1878.78180df6
pkgrel=1
pkgdesc="An open-source multi-platform crash reporting system"
arch=('i686' 'x86_64' 'armv7h')
url="https://chromium.googlesource.com/breakpad/breakpad/"
license=('BSD')
-makedepends=('depot-tools-git')
-depends=()
+depends=('gcc-libs')
options=('staticlibs' '!strip')
conflicts=('google-breakpad-svn')
+source=(
+ 'git+https://github.com/google/breakpad.git'
+ 'git+https://chromium.googlesource.com/linux-syscall-support/'
+ 'fix-install.patch'
+)
+md5sums=('SKIP' 'SKIP' 'c33051d68f5ac539684241dc26431093')
prepare() {
- #remove any old source lying around, since I don't want to learn depot tools
- if [ -d "$srcdir/${pkgname}" ]; then
- rm -rf "$srcdir/${pkgname}"
- fi
-
- mkdir -p "$srcdir/${pkgname}"
- cd "$srcdir/${pkgname}"
- /opt/depot_tools/fetch breakpad
+ cd "$srcdir/breakpad"
+ ln -s $srcdir/linux-syscall-support src/third_party/lss
}
pkgver() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/breakpad"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/breakpad"
+ autoreconf -fi
msg2 "Configuring"
./configure --prefix=/usr
msg2 "Building"
@@ -40,7 +40,7 @@ build() {
}
package() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/breakpad"
make DESTDIR="$pkgdir" install
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/fix-install.patch b/fix-install.patch
new file mode 100644
index 0000000..158374c
--- /dev/null
+++ b/fix-install.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile.am b/Makefile.am
+index 9a25d9d4..4f3a03ae 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -92,6 +92,9 @@ endif
+ includegbcdir = $(includedir)/$(PACKAGE)/google_breakpad/common
+ includegbc_HEADERS = $(top_srcdir)/src/google_breakpad/common/*.h
+
++includegbpdir = $(includedir)/$(PACKAGE)/google_breakpad/processor
++includegbp_HEADERS = $(top_srcdir)/src/google_breakpad/processor/*.h
++
+ includecdir = $(includedir)/$(PACKAGE)/common
+ includec_HEADERS = $(top_srcdir)/src/common/*.h
+
--
2.28.0
To avoid the depot tools mess (and clean up some namcap warnings):
diff --git a/PKGBUILD b/PKGBUILD
index 890bc44..a95a3cd 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,45 +2,44 @@
# Contributor: Nephyrin Zey <nephyrin@doublezen.net>
# Contributor: John Schoenick <john@pointysoftware.net>
# Contributor: Geoffrey Teale <tealeg@googlemail.com>
-pkgname=google-breakpad-git
-pkgver=r1668.072f86ca
+_pkgname=breakpad
+pkgname=google-${_pkgname}-git
+pkgver=r1844.2ffe1163
pkgrel=1
pkgdesc="An open-source multi-platform crash reporting system"
arch=('i686' 'x86_64' 'armv7h')
url="https://chromium.googlesource.com/breakpad/breakpad/"
license=('BSD')
-makedepends=('depot-tools-git')
-depends=()
+makedepends=('git')
+depends=('gcc-libs')
options=('staticlibs' '!strip')
conflicts=('google-breakpad-svn')
+source=('git+https://chromium.googlesource.com/breakpad/breakpad'
+ 'git+https://chromium.googlesource.com/linux-syscall-support')
+md5sums=('SKIP' 'SKIP')
prepare() {
- #remove any old source lying around, since I don't want to learn depot tools
- if [ -d "$srcdir/${pkgname}" ]; then
- rm -rf "$srcdir/${pkgname}"
- fi
-
- mkdir -p "$srcdir/${pkgname}"
- cd "$srcdir/${pkgname}"
- /opt/depot_tools/fetch breakpad
+ cd "$srcdir/${_pkgname}"
+ ln -sT "${srcdir}/linux-syscall-support" "src/third_party/lss" || true # Don't fail if it exists
}
pkgver() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/${_pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/${_pkgname}"
- msg2 "Configuring"
+ echo "Configuring"
+ autoreconf
./configure --prefix=/usr
- msg2 "Building"
+ echo "Building"
make
}
package() {
- cd "$srcdir/${pkgname}/src"
+ cd "$srcdir/${_pkgname}"
make DESTDIR="$pkgdir" install
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
}
If build fails because of deprecation warnings.
Add this before make
find ./ -type f -exec sed -i -e 's/-Werror//g' {} \;
Build failed with same error like RemoteAdmin.
I'm not able to build this package anymore (clean chroot). It's always failing in prepare with:
Traceback (most recent call last):
File "/opt/depot_tools/gclient.py", line 1929, in <module>
@metrics.collector.collect_metrics('gclient recurse')
File "/opt/depot_tools/metrics.py", line 193, in _decorator
if self.config.opted_in == False or not self.config.is_googler:
File "/opt/depot_tools/metrics.py", line 84, in opted_in
self._ensure_initialized()
File "/opt/depot_tools/metrics.py", line 70, in _ensure_initialized
self._write_config()
File "/opt/depot_tools/metrics.py", line 75, in _write_config
gclient_utils.FileWrite(CONFIG_FILE, json.dumps(self._config))
File "/opt/depot_tools/gclient_utils.py", line 150, in FileWrite
with codecs.open(filename, mode=mode, encoding='utf-8') as f:
File "/usr/lib/python2.7/codecs.py", line 898, in open
file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 13] Permission denied: '/opt/depot_tools/metrics.cfg'
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one has been created
Traceback (most recent call last):
File "/opt/depot_tools/gclient.py", line 1929, in <module>
@metrics.collector.collect_metrics('gclient recurse')
File "/opt/depot_tools/metrics.py", line 193, in _decorator
if self.config.opted_in == False or not self.config.is_googler:
File "/opt/depot_tools/metrics.py", line 84, in opted_in
self._ensure_initialized()
File "/opt/depot_tools/metrics.py", line 70, in _ensure_initialized
self._write_config()
File "/opt/depot_tools/metrics.py", line 75, in _write_config
gclient_utils.FileWrite(CONFIG_FILE, json.dumps(self._config))
File "/opt/depot_tools/gclient_utils.py", line 150, in FileWrite
with codecs.open(filename, mode=mode, encoding='utf-8') as f:
File "/usr/lib/python2.7/codecs.py", line 898, in open
file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 13] Permission denied: '/opt/depot_tools/metrics.cfg'
Running: /usr/bin/python2 /opt/depot_tools/gclient.py root
Running: /usr/bin/python2 /opt/depot_tools/gclient.py config --spec 'solutions = [
{
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"managed": False,
"name": "src",
"custom_deps": {},
},
]
'
Traceback (most recent call last):
File "/opt/depot_tools/fetch.py", line 306, in <module>
sys.exit(main())
File "/opt/depot_tools/fetch.py", line 301, in main
return run(options, spec, root)
File "/opt/depot_tools/fetch.py", line 295, in run
return checkout.init()
File "/opt/depot_tools/fetch.py", line 129, in init
self.run_gclient('config', '--spec', self._format_spec())
File "/opt/depot_tools/fetch.py", line 82, in run_gclient
return self.run(cmd_prefix + cmd, **kwargs)
File "/opt/depot_tools/fetch.py", line 71, in run
subprocess.check_call(cmd, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '('/usr/bin/python2', '/opt/depot_tools/gclient.py', 'config', '--spec', u'solutions = [\n {\n "url": "https://chromium.googlesource.com/breakpad/breakpad.git",\n "managed": False,\n "name": "src",\n "custom_deps": {},\n },\n]\n')' returned non-zero exit status 1
@Lenovsky I added you as a co-maintainer. That should mean that you can make changes, right?
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
@sirspudd thanks for the suggestion/patch - applied with a couple of tweaks.
@bartus hmm didn't knew the wiki guidelines has recommendations for git submodules.
Would have been amazing if the suggestion wasn't phrased so poorly. The "pipe this random file into
git am" is the cherry on top :-)Nevertheless, thanks for the input and the patience everyone. Not sure how this slipped through the cracks.