[Pkg-zsh-devel] Bug#928194: zsh: Improvements to cross-buildability

Steve Langasek steve.langasek at canonical.com
Mon Apr 29 18:36:54 BST 2019


Package: zsh
Version: 5.7.1-1
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu eoan ubuntu-patch

Dear maintainers,

For a while, we have been carrying a patch to zsh in Ubuntu to make it
better cross-buildable.  Since I don't see any other patches filed in the
Debian BTS about cross-building, I assume that the zsh package will
cross-build without these changes, but that the result is possibly less
correct (misdetection of platform features, etc).

Would you consider including these changes in Debian?

I'm afraid I don't know why a build-dependency on libelf-dev is added,
except that libelf-dev provides nlist.h and I see references to nlist.h in
the zsh code.

Thanks for considering,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru zsh-5.7.1/debian/control zsh-5.7.1/debian/control
--- zsh-5.7.1/debian/control	2019-02-04 04:17:33.000000000 -0800
+++ zsh-5.7.1/debian/control	2019-04-29 10:18:01.000000000 -0700
@@ -9,6 +9,7 @@
                groff,
                groff-base,
                libcap-dev [linux-any],
+               libelf-dev,
                libncursesw5-dev,
                libpcre3-dev,
                texinfo (>= 5~),
diff -Nru zsh-5.7.1/debian/patches/cross-compile.diff zsh-5.7.1/debian/patches/cross-compile.diff
--- zsh-5.7.1/debian/patches/cross-compile.diff	1969-12-31 16:00:00.000000000 -0800
+++ zsh-5.7.1/debian/patches/cross-compile.diff	2016-08-23 03:35:26.000000000 -0700
@@ -0,0 +1,64 @@
+Description: Adjust cross-compile fallback values to yes.
+Origin: commit, revision id: dmitrijs.ledkovs at canonical.com-20121220153357-amh2d7kzw5d314mt
+Author: Dmitrijs Ledkovs <dmitrijs.ledkovs at canonical.com>
+Last-Update: 2012-12-20
+X-Bzr-Revision-Id: dmitrijs.ledkovs at canonical.com-20121220153357-amh2d7kzw5d314mt
+
+=== modified file 'aczsh.m4'
+--- old/aczsh.m4	2009-09-08 17:04:03 +0000
++++ new/aczsh.m4	2012-12-20 15:33:57 +0000
+@@ -171,7 +171,7 @@
+ }
+ ], [zsh_cv_shared_$1=yes],
+ [zsh_cv_shared_$1=no],
+-[zsh_cv_shared_$1=no]
++[zsh_cv_shared_$1=yes]
+ )
+ else
+     zsh_cv_shared_$1=no
+@@ -242,7 +242,7 @@
+ }
+ ], [zsh_cv_sys_dynamic_clash_ok=yes],
+ [zsh_cv_sys_dynamic_clash_ok=no],
+-[zsh_cv_sys_dynamic_clash_ok=no]
++[zsh_cv_sys_dynamic_clash_ok=yes]
+ )
+ else
+     zsh_cv_sys_dynamic_clash_ok=no
+@@ -315,7 +315,7 @@
+ }
+ ], [zsh_cv_sys_dynamic_rtld_global=yes],
+ [zsh_cv_sys_dynamic_rtld_global=no],
+-[zsh_cv_sys_dynamic_rtld_global=no]
++[zsh_cv_sys_dynamic_rtld_global=yes]
+ )
+ else
+     zsh_cv_sys_dynamic_rtld_global=no
+@@ -384,7 +384,7 @@
+ int fred () { return 42; }
+ ], [zsh_cv_sys_dynamic_execsyms=yes],
+ [zsh_cv_sys_dynamic_execsyms=no],
+-[zsh_cv_sys_dynamic_execsyms=no]
++[zsh_cv_sys_dynamic_execsyms=yes]
+ )
+     LDFLAGS=$save_ldflags
+ else
+@@ -457,7 +457,7 @@
+ int fred () { return 42; }
+ ], [zsh_cv_sys_dynamic_strip_exe=yes],
+ [zsh_cv_sys_dynamic_strip_exe=no],
+-[zsh_cv_sys_dynamic_strip_exe=no]
++[zsh_cv_sys_dynamic_strip_exe=yes]
+ )
+     LDFLAGS=$save_ldflags
+ else
+@@ -522,7 +522,7 @@
+ }
+ ], [zsh_cv_sys_dynamic_strip_lib=yes],
+ [zsh_cv_sys_dynamic_strip_lib=no],
+-[zsh_cv_sys_dynamic_strip_lib=no]
++[zsh_cv_sys_dynamic_strip_lib=yes]
+ )
+ else
+     zsh_cv_sys_dynamic_strip_lib=no
+
diff -Nru zsh-5.7.1/debian/patches/series zsh-5.7.1/debian/patches/series
--- zsh-5.7.1/debian/patches/series	2019-02-04 04:20:58.000000000 -0800
+++ zsh-5.7.1/debian/patches/series	2019-04-29 10:18:01.000000000 -0700
@@ -1,3 +1,4 @@
 further-mitigate-test-suite-hangs.patch
 update-debian-sections.patch
+cross-compile.diff
 example-shebang.patch
diff -Nru zsh-5.7.1/debian/rules zsh-5.7.1/debian/rules
--- zsh-5.7.1/debian/rules	2019-02-04 04:17:33.000000000 -0800
+++ zsh-5.7.1/debian/rules	2019-04-10 12:12:52.000000000 -0700
@@ -6,6 +6,7 @@
 
 DPKG_EXPORT_BUILDFLAGS = 1
 include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/architecture.mk
 include /usr/share/dpkg/pkg-info.mk
 H_LDFLAGS = $(LDFLAGS)
 
@@ -93,6 +94,8 @@
 
 	cd obj && $(MAKE) install.fns DESTDIR=$(CURDIR)/debian/zsh-common
 
+# move this to a non-root section; also drop it for cross-compiles
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 	awk '/^#define FPATH_DIR/     { head=$$3;       gsub(/"/,"",head); };        \
              /^#define FPATH_SUBDIRS/ { $$1=""; $$2=""; gsub(/[" ]/,""); tail=$$0; } \
              END                      { printf "%s/%s\n", head, tail; };'            \
@@ -103,6 +106,7 @@
 		 zcompile -U -M $$i.zwc $$i/*~*.zwc(^/);                  \
 		 chmod 644 $$i.zwc;                                       \
 	     done'
+endif
 
 # Docs: Info + HTML
 	cd obj && $(MAKE) install.info install.html \


More information about the Pkg-zsh-devel mailing list