From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id D11043858D1E; Sat, 19 Feb 2022 17:20:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D11043858D1E To: cygwin-apps-cvs@sourceware.org Subject: [cygport - the Cygwin packaging tool] branch master, updated. 0.34.2 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: f3d335651ee1b3efcc239b77eb7d94558fc16dbb X-Git-Newrev: fcb7a794919c8e96ca2d63d66151c72f0c56c608 Message-Id: <20220219172027.D11043858D1E@sourceware.org> Date: Sat, 19 Feb 2022 17:20:27 +0000 (GMT) From: Jon TURNEY X-BeenThere: cygwin-apps-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin-apps git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Feb 2022 17:20:27 -0000 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=fcb7a794919c8e96ca2d63d66151c72f0c56c608 commit fcb7a794919c8e96ca2d63d66151c72f0c56c608 Author: Jon Turney Date: Sat Feb 19 15:31:00 2022 +0000 Bump version to 0.34.2 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=b591c6af8331fd153a0db0c6495c6d38fc615639 commit b591c6af8331fd153a0db0c6495c6d38fc615639 Author: Jon Turney Date: Tue Jun 25 20:06:58 2019 +0100 Make meson output unbuffered Make meson output unbuffered, to better interact with build service Also make ninja output non-verbose, to make make output https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=256a600fd9884c01644812cfa36f2ae09e0291a3 commit 256a600fd9884c01644812cfa36f2ae09e0291a3 Author: Achim Gratz Date: Mon Jan 4 21:16:16 2021 +0100 cygclass/git.cygclass: use shallow clones for branches and tags also https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=4b8585f7b98b0e5291a20fb0e3ded1551c34b5da commit 4b8585f7b98b0e5291a20fb0e3ded1551c34b5da Author: Jon Turney Date: Tue Feb 1 15:36:38 2022 +0000 Don't use llvm-objdump This partially reverts commit e06359bca705624b9712fd16f4ec9945935fd608 This partially reverts commit 6f788165848084d2fb1597689b31faba7d4c483e The polynomially bad runtime of 'objdump' (which made 'llvm-objdump' the only practically usable tool on larger binaries) has been fixed since [1]. Meanwhile, 'llvm-objdump' now appears to have bugs which interfere with the correct operation of cygport. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=18025#c16 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=5d8828dfceec1ab6d44da5e2629b3a0dfd5dac0a commit 5d8828dfceec1ab6d44da5e2629b3a0dfd5dac0a Author: Jon Turney Date: Tue Feb 1 15:28:38 2022 +0000 postinst: Never remove an existing .gnu_debuglink Be more careful not to remove an existing .gnu_debuglink, even if we think this package has no useful debug symbols. (Some versions of 'llvm-objdump -l' fail to find line number info even though it's there. Don't break a package which manages it's own debug symbols (e.g. cygwin) when that happens.) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=97ba77d2a690fcdd640aab74fdb0164cd8a62162 commit 97ba77d2a690fcdd640aab74fdb0164cd8a62162 Author: Jon Turney Date: Sun Jan 9 18:43:04 2022 +0000 doc: Ignore .github directory Diff: --- NEWS | 5 +++++ cygclass/git.cygclass | 15 ++++++++++++--- cygclass/meson.cygclass | 2 +- cygclass/ninja.cygclass | 2 +- cygport.spec | 2 +- data/sample.cygport | 2 +- doc/robodoc.rc | 1 + lib/pkg_info.cygpart | 8 -------- lib/src_postinst.cygpart | 35 +++++++++++++++++++---------------- meson.build | 2 +- 10 files changed, 42 insertions(+), 32 deletions(-) diff --git a/NEWS b/NEWS index b5a8358..97dec9b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +0.34.2: + * Don't use llvm-objdump. + * git: also use shallow clones for tags and branches. + * Be more careful not to remove an existing .gnu_debuglink section. + 0.34.1: * Update many URLs in HOMEPAGE, mirrors and comments. Use https where appropriate diff --git a/cygclass/git.cygclass b/cygclass/git.cygclass index 8f30992..dd9aedb 100644 --- a/cygclass/git.cygclass +++ b/cygclass/git.cygclass @@ -33,7 +33,7 @@ # Linux kernel, it is widely used by a number of projects, including GNOME, # GStreamer, X.Org, and Xfce. # -# This cygclass creates source tarballs from Git checkouts. +# This cygclass creates source tarballs from Git repositories. # NOTE # This cygclass sets a special SRC_URI for the tarball it creates. If # additional sources are required, be sure to _add_ to SRC_URI rather than @@ -70,10 +70,19 @@ git_fetch() { check_prog_req git - if ! defined GIT_TAG && ! defined GIT_BRANCH && ! defined GIT_REV + if ! defined GIT_REV then - # fetching master/HEAD, so we don't need any history + # shallow fetch a ref (master, branch or tag) with --depth=1 + # (not allowed for a hash, unless remote is configured to permit + # it with allow*SHA1InWant). _depth="--depth 1" + if defined GIT_TAG + then + _depth+=" --branch ${GIT_TAG}" + elif defined GIT_BRANCH + then + _depth+=" --branch ${GIT_BRANCH}" + fi fi # T likely doesn't exist at this point, so create it first diff --git a/cygclass/meson.cygclass b/cygclass/meson.cygclass index 9f7a942..806449b 100644 --- a/cygclass/meson.cygclass +++ b/cygclass/meson.cygclass @@ -88,7 +88,7 @@ cygmeson() { # Flags in CYGMESON_ARGS follow, and therefore override, flags passed by # default to cygmeson. #**** - meson --prefix=$(__host_prefix) \ + PYTHONUNBUFFERED=1 meson --prefix=$(__host_prefix) \ --localstatedir=$(__host_localstatedir) \ --sysconfdir=$(__host_sysconfdir) \ --buildtype=plain --wrap-mode=nodownload \ diff --git a/cygclass/ninja.cygclass b/cygclass/ninja.cygclass index ef339d9..f5f2997 100644 --- a/cygclass/ninja.cygclass +++ b/cygclass/ninja.cygclass @@ -45,7 +45,7 @@ cygninja() { then error "cygninja: build.ninja: file not found" fi - ninja -v ${@} || error "cygninja: command failed: ${@:-all}" + ninja ${@} || error "cygninja: command failed: ${@:-all}" } #****T* ninja.cygclass/ninja_test diff --git a/cygport.spec b/cygport.spec index f350e15..cdfecb3 100644 --- a/cygport.spec +++ b/cygport.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: cygport -Version: 0.34.1 +Version: 0.34.2 Release: 1%{?dist} Summary: Cygwin package building tool diff --git a/data/sample.cygport b/data/sample.cygport index 653d855..aea8540 100644 --- a/data/sample.cygport +++ b/data/sample.cygport @@ -1,7 +1,7 @@ inherit meson NAME="cygport" -VERSION=0.34.1 +VERSION=0.34.2 RELEASE=1 CATEGORY="Devel" SUMMARY="Cygwin source packaging tool" diff --git a/doc/robodoc.rc b/doc/robodoc.rc index 90d2dfd..443097a 100644 --- a/doc/robodoc.rc +++ b/doc/robodoc.rc @@ -92,6 +92,7 @@ ignore files: *-pc-cygwin *-redhat-linux* .git + .github *.rc *.orig *.patch diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart index 4b18993..08ddd69 100644 --- a/lib/pkg_info.cygpart +++ b/lib/pkg_info.cygpart @@ -95,14 +95,6 @@ __list_deps() { dlltool="${CTARGET}-dlltool" fi - case ${CHOST} in - i?86-*|x86_64-*) - if check_prog llvm-objdump - then - objdump="llvm-objdump" - fi ;; - esac - pushd ${D} #****v* Information/DEPS_PATH diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart index d8bb226..4b51325 100644 --- a/lib/src_postinst.cygpart +++ b/lib/src_postinst.cygpart @@ -951,12 +951,7 @@ __prepstrip() { continue fi - if check_prog llvm-objdump && llvm-size "${exe}" &>/dev/null - then - objdump="llvm-objdump" - else - objdump=${objcopy/copy/dump} - fi + objdump=${objcopy/copy/dump} # Static libraries should not be fully stripped, but we can # still provide split debuginfo if desired @@ -1051,23 +1046,31 @@ __prepstrip() { lines=$(${objdump} -d -l "${exe}" 2>/dev/null | sed -ne "s|.*\(/usr/src/debug/${PF}/.*\):[0-9]*$|\1|gp" | sort -u | tee -a ${T}/.dbgsrc.out | wc -l); - if (( lines == 0 )) + # we expect --add-gnu-debuglink to fail if a + # .gnu_debuglink section already exists (e.g. binutils, + # which uses hardlinks, or cygwin which creates a custom + # .dbg file), but leave it alone to make sure we don't + # mess it up. + if ${objdump} -h "${exe}" | grep -q '\.gnu_deb' then - ${objcopy} --strip-all "${exe}"; continue; fi - # --add-gnu-debuglink will fail if .gnu_debuglink section - # already exists, e.g. binutils, which uses hardlinks, - # or cygwin which creates a custom .dbg file - if ! ${objdump} -h "${exe}" | grep -q '\.gnu_deb' + # only create split debuginfo if it's going to contain + # some symbols for which this package has the + # corresponding source files + if (( lines == 0 )) then - dodir "${dbg%/*}"; - ${objcopy} --long-section-names enable --add-gnu-debuglink=/dev/null --only-keep-debug "${exe}" "${D}${dbg}"; - chmod 0644 "${D}${dbg}"; ${objcopy} --strip-all "${exe}"; - ${objcopy} --long-section-names enable --add-gnu-debuglink="${D}${dbg}" "${exe}" 2>/dev/null; + continue; fi + + dodir "${dbg%/*}"; + ${objcopy} --long-section-names enable --add-gnu-debuglink=/dev/null --only-keep-debug "${exe}" "${D}${dbg}"; + chmod 0644 "${D}${dbg}"; + ${objcopy} --strip-all "${exe}"; + ${objcopy} --long-section-names enable --add-gnu-debuglink="${D}${dbg}" "${exe}" 2>/dev/null; + fi done } diff --git a/meson.build b/meson.build index 53c9331..4c03e55 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('cygport', - version: '0.34.1') + version: '0.34.2') bindir = join_paths(get_option('prefix'), get_option('bindir')) datadir = join_paths(get_option('prefix'), get_option('datadir'))