[cygport - the Cygwin packaging tool] branch master, updated. 0.34.2

Jon TURNEY via Cygwin-apps-cvs <[email protected]>
Newsgroups gmane.os.cygwin.cvs.apps
Message-ID <[email protected]>


https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=fcb7a794919c8e96ca2d63d66151c72f0c56c608

commit fcb7a794919c8e96ca2d63d66151c72f0c56c608
Author: Jon Turney <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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'))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.