From 0d79aa47916b2f845b542a2f0931f307a1e0adf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Tue, 28 Mar 2023 18:01:05 +0200 Subject: [PATCH] Update to 1.20.1 --- .gitignore | 2 +- ...ss_operator_for_go-dap_compatibility.patch | 25 ++++ clean-empty-doc.patch | 16 --- delve.spec | 114 ++++++++---------- disable-default-compression-dwz-test.patch | 36 ------ integration-test-symlinks.patch | 27 ----- sources | 2 +- 7 files changed, 80 insertions(+), 142 deletions(-) create mode 100644 add_address_operator_for_go-dap_compatibility.patch delete mode 100644 clean-empty-doc.patch delete mode 100644 disable-default-compression-dwz-test.patch delete mode 100644 integration-test-symlinks.patch diff --git a/.gitignore b/.gitignore index 9cdee55..47fe7fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/delve-1.2.0.tar.gz +/delve-1.20.1.tar.gz diff --git a/add_address_operator_for_go-dap_compatibility.patch b/add_address_operator_for_go-dap_compatibility.patch new file mode 100644 index 0000000..0a53590 --- /dev/null +++ b/add_address_operator_for_go-dap_compatibility.patch @@ -0,0 +1,25 @@ +From 53683491e6826bc13bf7f333e689daa62d90b12e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lex=20S=C3=A1ez?= +Date: Tue, 21 Mar 2023 18:13:34 +0100 +Subject: [PATCH] Add address operator to make it compatible with go-dap 0.7.0 + +--- + service/dap/server.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/service/dap/server.go b/service/dap/server.go +index 07300295..3c953ddf 100644 +--- a/service/dap/server.go ++++ b/service/dap/server.go +@@ -1411,7 +1411,7 @@ func (s *Session) updateBreakpointsResponse(breakpoints []dap.Breakpoint, i int, + path := s.toClientPath(got.File) + breakpoints[i].Id = got.ID + breakpoints[i].Line = got.Line +- breakpoints[i].Source = dap.Source{Name: filepath.Base(path), Path: path} ++ breakpoints[i].Source = &dap.Source{Name: filepath.Base(path), Path: path} + } + } + +-- +2.39.2 + diff --git a/clean-empty-doc.patch b/clean-empty-doc.patch deleted file mode 100644 index 4c12416..0000000 --- a/clean-empty-doc.patch +++ /dev/null @@ -1,16 +0,0 @@ -From 9cb76893334154001489fb1bbd19fe926f0249e7 Mon Sep 17 00:00:00 2001 -From: Derek Parker -Date: Thu, 21 Feb 2019 12:15:37 -0800 -Subject: [PATCH] Documentation: Remove empty doc file - ---- - Documentation/usage/commands.md | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - delete mode 100644 Documentation/usage/commands.md - -diff --git a/Documentation/usage/commands.md b/Documentation/usage/commands.md -deleted file mode 100644 -index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 --- -2.16.5 - diff --git a/delve.spec b/delve.spec index bf6dbd8..88a2adb 100644 --- a/delve.spec +++ b/delve.spec @@ -3,7 +3,7 @@ # https://github.com/go-delve/delve %global goipath github.com/go-delve/delve -Version: 1.2.0 +Version: 1.20.1 %global common_description %{expand: Delve is a debugger for the Go programming language. The goal of the project @@ -12,10 +12,13 @@ easy to invoke and easy to use. Chances are if you're using a debugger, things aren't going your way. With that in mind, Delve should stay out of your way as much as possible.} +# Currently Delve only supports x86_64 and aarch64 +%global golang_arches x86_64 aarch64 + %gometa Name: delve -Release: 2%{?dist} +Release: %autorelease Summary: A debugger for the Go programming language # Detected licences # - Expat License at 'LICENSE' @@ -23,92 +26,81 @@ License: MIT URL: %{gourl} Source0: %{gosource} -# Currently Delve only supports x86_64 -ExcludeArch: ppc64le -ExcludeArch: s390x -ExcludeArch: aarch64 -ExcludeArch: i686 -ExcludeArch: armv7hl +# This dependencies are only in use in x86_64 +%ifarch x86_64 +BuildRequires: golang(github.com/cilium/ebpf) +BuildRequires: golang(github.com/cilium/ebpf/link) +BuildRequires: golang(github.com/cilium/ebpf/ringbuf) +%endif +BuildRequires: golang(github.com/cosiner/argv) +BuildRequires: golang(github.com/creack/pty) +BuildRequires: golang(github.com/derekparker/trie) +BuildRequires: golang(github.com/go-delve/liner) +BuildRequires: golang(github.com/google/go-dap) +BuildRequires: golang(github.com/hashicorp/golang-lru/simplelru) +BuildRequires: golang(github.com/mattn/go-isatty) +BuildRequires: golang(github.com/sirupsen/logrus) +BuildRequires: golang(github.com/spf13/cobra) +BuildRequires: golang(github.com/spf13/cobra/doc) +BuildRequires: golang(golang.org/x/arch/arm64/arm64asm) +BuildRequires: golang(golang.org/x/arch/ppc64/ppc64asm) +BuildRequires: golang(golang.org/x/arch/x86/x86asm) +BuildRequires: golang(golang.org/x/sys/unix) +BuildRequires: golang(golang.org/x/tools/go/packages) +BuildRequires: golang(gopkg.in/yaml.v2) +BuildRequires: golang(go.starlark.net/resolve) +BuildRequires: golang(go.starlark.net/starlark) +BuildRequires: golang(go.starlark.net/syntax) +BuildRequires: lsof +BuildRequires: git -Patch1: ./disable-default-compression-dwz-test.patch -Patch2: ./integration-test-symlinks.patch -Patch3: ./clean-empty-doc.patch - -BuildRequires: golang(github.com/cosiner/argv) -BuildRequires: golang(github.com/mattn/go-isatty) -BuildRequires: golang(github.com/peterh/liner) -BuildRequires: golang(github.com/pkg/profile) -BuildRequires: golang(github.com/sirupsen/logrus) -BuildRequires: golang(github.com/spf13/cobra) -BuildRequires: golang(golang.org/x/arch/x86/x86asm) -BuildRequires: golang(golang.org/x/sys/unix) -BuildRequires: golang(golang.org/x/sys/windows) -BuildRequires: golang(gopkg.in/yaml.v2) +# This patch won't be necessary in future releases. +# It makes 1.20.1 compatible with go-dap 0.7 instead of 0.6. +Patch0001: add_address_operator_for_go-dap_compatibility.patch %description %{common_description} - -%package -n %{goname}-devel -Summary: %{summary} -BuildArch: noarch - -%description -n %{goname}-devel -%{common_description} - -This package contains library source intended for -building other packages which use import path with -%{goipath} prefix. - - %prep -%forgeautosetup -p1 - -rm -rf vendor/ +echo "=== Start prep ===" +%goprep +%patch -P 0001 -p1 +%generate_buildrequires +%go_generate_buildrequires %build -%gobuildroot -%gobuild -o _bin/dlv %{goipath}/cmd/dlv - +echo "=== Start build ===" +%gobuild -o %{gobuilddir}/bin/dlv %{goipath}/cmd/dlv +echo "=== End build ===" %install -%goinstall -install -Dpm 0755 _bin/dlv %{buildroot}%{_bindir}/dlv - +%gopkginstall +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ %if %{with check} %check export GO111MODULE=off export GOPATH=%{buildroot}/%{gopath}:%{gopath} - delvepath=%{buildroot}/%{gopath}/src/%{goipath} cp -r _fixtures $delvepath cp -r pkg/dwarf/line/_testdata $delvepath/pkg/dwarf/line +cp -r pkg/proc/internal/ebpf $delvepath/pkg/proc/internal/ + pushd $delvepath -for d in $(go list ./... | grep -v cmd | grep -v scripts); do - %gotest ${d} -done -rm -rf $delvepath/_fixtures -rm -rf $delvepath/pkg/dwarf/line/_testdata +echo "=== Start tests ===" +%gotest $(go list ./... | awk '!/(cmd|scripts)/ {print $1}') +echo "=== End tests ===" +rm -rf $delvepath popd %endif - %files %license LICENSE %doc CONTRIBUTING.md CHANGELOG.md %doc Documentation/* %{_bindir}/dlv - -%files -n %{goname}-devel -f devel.file-list -%license LICENSE - - %changelog -* Wed Jul 24 2019 Fedora Release Engineering - 1.2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Nov 2 2018 Derek Parker - 1.2.0-1 -- First package for Fedora +%autochangelog diff --git a/disable-default-compression-dwz-test.patch b/disable-default-compression-dwz-test.patch deleted file mode 100644 index 244e4c8..0000000 --- a/disable-default-compression-dwz-test.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1f9597d3ca2e7d3497f9d28046bbae5522742306 Mon Sep 17 00:00:00 2001 -From: Derek Parker -Date: Wed, 20 Feb 2019 13:26:18 -0800 -Subject: [PATCH] pkg/proc: Disable default compression on DWZ test - -When compression is applied by default running the DWZ tool on the -resulting binary will crash. - -The actual default compression code will look and see if compression -makes any difference and if so replace the normal `.debug_*` section -with `.zdebug_*`. This is why it may not have been hit before. On one of -my workstations I build with 1.12rc1 and no compression happens, but on -a Fedora VM I build and the binary results in compressed DWARF sections. - -Adding this flag will make this test more consistent overall. ---- - pkg/proc/test/support.go | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/pkg/proc/test/support.go b/pkg/proc/test/support.go -index 9e09da861ec53657bfa0fb9cf76620a4fcd485dc..ccfc1c4939ef6e9c8abbbc67f4fbeaaf0e623de1 100644 ---- a/pkg/proc/test/support.go -+++ b/pkg/proc/test/support.go -@@ -125,6 +125,9 @@ func BuildFixture(name string, flags BuildFlags) Fixture { - if flags&BuildModePIE != 0 { - buildFlags = append(buildFlags, "-buildmode=pie") - } -+ if flags&EnableDWZCompression != 0 { -+ buildFlags = append(buildFlags, "-ldflags=-compressdwarf=false") -+ } - if path != "" { - buildFlags = append(buildFlags, name+".go") - } --- -2.16.5 - diff --git a/integration-test-symlinks.patch b/integration-test-symlinks.patch deleted file mode 100644 index 94e2545..0000000 --- a/integration-test-symlinks.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c4a4e442e2eee35bc26674cb1d2cb28336780891 Mon Sep 17 00:00:00 2001 -From: Derek Parker -Date: Wed, 20 Feb 2019 14:01:13 -0800 -Subject: [PATCH] service/test: Follow symlinks in integration tests - ---- - service/test/common_test.go | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/service/test/common_test.go b/service/test/common_test.go -index 2b58e371a12472c71beaad0790b001cf4258934c..ee56a53350a45ab790229dd359c472f2c9a952b0 100644 ---- a/service/test/common_test.go -+++ b/service/test/common_test.go -@@ -52,6 +52,10 @@ func testProgPath(t *testing.T, name string) string { - t.Fatal(err) - } - } -+ sympath, err := filepath.EvalSymlinks(fp) -+ if err == nil { -+ fp = strings.Replace(sympath, "\\", "/", -1) -+ } - return fp - } - --- -2.16.5 - diff --git a/sources b/sources index e33a23b..d113079 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (delve-1.2.0.tar.gz) = 8a19decbb47952671e5b73f6ec1707e318259376b02268509374e101cd9ee54c279fac0655885be6095e7cc82bfb09082cfe557f763475a2cd2f1f572f1a300e +SHA512 (delve-1.20.1.tar.gz) = e3edca19ce989f39e42f380ae6ff70c331f17e0233b2c6a4e1f68090de2ec16a5cb9dd9300ae780eb017d48bd3b9bef0758f53a3ff212e15265372c62d0e384b