public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* zsh 5.8: configure fails only on 32bit
@ 2020-06-12 21:05 Yasuhiro KIMURA
  2020-06-13  5:53 ` ASSI
  2020-06-13  6:18 ` Marco Atzeri
  0 siblings, 2 replies; 8+ messages in thread
From: Yasuhiro KIMURA @ 2020-06-12 21:05 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: Text/Plain, Size: 2496 bytes --]

Hello,

I'm trying to update zsh package to its latest version 5.8. Version
5.5.1-1 still uses custom build shell script. So I migrated to use
cygport. Attached files are .cygport file and patches. I blieve all
customizations and modifications of 5.5.1-1 are included. But
currently there is one problem.

On 64bit console 'cygport zsh.cygport all' completes successfully. But
on 32bit console it fails with configure error as following.

----------------------------------------------------------------------
checking for /dev/fd filesystem... /proc/self/fd
checking for RFS superroot directory... no
checking whether we should use the native getcwd... no
checking whether getcwd calls malloc to allocate memory... yes
checking for setproctitle... no
checking for library containing setproctitle... no
checking for NIS... no
checking for NIS+... no
checking for utmp file... /var/run/utmp
checking for wtmp file... no
checking for utmpx file... no
checking for wtmpx file... no
checking for brk() prototype in <unistd.h>... no
checking for sbrk() prototype in <unistd.h>... yes
checking for mknod prototype in <sys/stat.h>... yes
checking for ioctl prototype in <unistd.h> or <termios.h>... no
checking for ioctl prototype in <sys/ioctl.h>... yes
checking if named FIFOs work... yes
checking if link() works... yes
checking if kill(pid, 0) returns ESRCH correctly... yes
checking if POSIX sigsuspend() works... yes
checking if tcsetpgrp() actually works... yes
checking if getpwnam() is faked... no
checking base type of the third argument to accept... socklen_t
checking if your system has /dev/ptmx... yes
make: *** No targets specified and no makefile found.  Stop.
*** ERROR: make failed
yasu@rolling[1301]%  
----------------------------------------------------------------------

According to config.log configure script is executed with following options.

/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8/configure --srcdir=/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/zsh --htmldir=/usr/share/doc/zsh/html -C --enable-function-subdirs --enable-gdbm --enable-multibyte --enable-pcre --enable-zsh-secure-free

So I executed it directly from command line. Then it completed without
any error.

Why such difference happens? Does cygconf function do something other
than executing configure script?

Best Regards.

---
Yasuhiro KIMURA

[-- Attachment #2: zsh.cygport --]
[-- Type: Text/Plain, Size: 1234 bytes --]

NAME="zsh"
VERSION=5.8
RELEASE=1
CATEGORY="Shells"
SUMMARY="The Z-Shell"
DESCRIPTION="Zsh is a UNIX command interpreter (shell) usable as an
interactive login shell and as a shell script command processor. Of
the standard shells, zsh most closely resembles \`ksh\' but includes
many enhancements. Zsh has command line editing, builtin spelling
correction, programmable command completion, shell functions (with
autoloading), a history mechanism, and a host of other features."
HOMEPAGE="http://zsh.sourceforge.net/"
SRC_URI="http://www.zsh.org/pub/zsh-${VERSION}.tar.xz"
PATCH_URI="
	cygwin-Src_zsh_system.h.patch
	cygwin-add-files-specific-to-cygwin.patch
	cygwin-add-comletion-file-for-cygwin-commands.patch
	upstream-fix-make-install-error.patch
"
CYGCONF_ARGS+="
	--enable-function-subdirs
	--enable-gdbm
	--enable-multibyte
	--enable-pcre
	--enable-zsh-secure-free
"
zsh_REQUIRES="cygwin libncursesw10 libpcre1 libiconv2 libgdbm6"
KEEPDIRS="/usr/share/zsh/site-functions"
src_install() {
    cd ${B}
    cyginstall install.html install.info

    exeinto /usr/bin
    doexe ${S}/cygwin/bin/mkzsh
    insinto /etc
    doins ${S}/cygwin/startup-files/zprofile
    insinto /etc/profile.d
    doins ${S}/cygwin/profile.d/zshell.zsh
}

[-- Attachment #3: cygwin-Src_zsh_system.h.patch --]
[-- Type: Text/X-Patch, Size: 580 bytes --]

diff -Nru origsrc/zsh-5.8/Src/zsh_system.h src/zsh-5.8/Src/zsh_system.h
--- origsrc/zsh-5.8/Src/zsh_system.h	2020-02-15 07:06:57.000000000 +0900
+++ src/zsh-5.8/Src/zsh_system.h	2020-06-04 02:39:07.698004100 +0900
@@ -848,6 +848,10 @@
 #ifdef __CYGWIN__
 # include <sys/cygwin.h>
 # define IS_DIRSEP(c) ((c) == '/' || (c) == '\\')
+/* Cygwin Hack!  newlib doesn't define STDC ISO 10646, so hack it here */
+# if defined(HAVE_WCHAR_H) && defined(HAVE_WCTOMB) && !defined(__STDC_ISO_10646__)
+#  define __STDC_ISO_10646__
+# endif
 #else
 # define IS_DIRSEP(c) ((c) == '/')
 #endif

[-- Attachment #4: cygwin-add-comletion-file-for-cygwin-commands.patch --]
[-- Type: Text/X-Patch, Size: 14704 bytes --]

diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_mkgroup src/zsh-5.8/Completion/Cygwin/Command/_mkgroup
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_mkgroup	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_mkgroup	2020-06-04 02:19:49.941603900 +0900
@@ -0,0 +1,18 @@
+#compdef mkgroup
+
+_arguments -C \
+  '(-l)--local[print local group information]' \
+  '(--local)-l[print local group information]' \
+  '(-d)--domain[print global group information from the domain specified (or from the current domain if there is no domain specified)]' \
+  '(--domain)-d[print global group information from the domain specified (or from the current domain if there is no domain specified)]' \
+  '(-o)--id-offset[offset change the default offset (10000) added to uids in domain accounts]' \
+  '(--id-offset)-o[offset change the default offset (10000) added to uids in domain accounts]' \
+  '(-s)--no-sids[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(--no-sids)-s[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(-u)--users[print user list in gr_mem field]' \
+  '(--users)-u[print user list in gr_mem field]' \
+  '(-h)--help[print this message]' \
+  '(--help)-h[print this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  ':domain:'
diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_mkpasswd src/zsh-5.8/Completion/Cygwin/Command/_mkpasswd
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_mkpasswd	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_mkpasswd	2020-06-04 02:19:49.947559300 +0900
@@ -0,0 +1,24 @@
+#compdef mkpasswd
+
+_arguments -C \
+  '(-l)--local[print local group information]' \
+  '(--local)-l[print local group information]' \
+  '(-d)--domain[print domain accounts (from current domain if no domain specified)]' \
+  '(--domain)-d[print domain accounts (from current domain if no domain specified)]' \
+  '(-o)--id-offset[change the default offset (10000) added to uids in domain accounts]' \
+  '(--id-offset)-o[change the default offset (10000) added to uids in domain accounts]' \
+  '(-g)--local-groups[print local group information too if no domain specified]' \
+  '(--local-groups)-g[print local group information too if no domain specified]' \
+  '(-m)--no-mount[don\'t use mount points for home dir]' \
+  '(--no-mount)-m[don\'t use mount points for home dir]' \
+  '(-s)--no-sids[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(--no-sids)-s[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(-p)--path-to-home[use specified path instead of user account home dir]' \
+  '(--path-to-home)-p[use specified path instead of user account home dir]' \
+  '(-u)--username[only return information for the specified user]' \
+  '(--username)-u[only return information for the specified user]' \
+  '(-h)--help[displays this message]' \
+  '(--help)-h[displays this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  ':domain:'
diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_passwd src/zsh-5.8/Completion/Cygwin/Command/_passwd
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_passwd	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_passwd	2020-06-04 02:19:49.953543200 +0900
@@ -0,0 +1,22 @@
+#compdef passwd
+
+_arguments -C \
+  '(-l)--lock[lock USERS\'s account]' \
+  '(--lock)-l[lock USERS\'s account]' \
+  '(-u)--unlock[unlock USERS\'s account]' \
+  '(--unlock)-u[unlock USERS\'s account]' \
+  '(-S)--status[display password status for USER (locked, expired, etc.)]' \
+  '(--status)-S[display password status for USER (locked, expired, etc.)]' \
+  '(-i)--inactive[set NUM of days before inactive accounts are disabled (inactive accounts are those with expired passwords)]' \
+  '(--inactive)-i[set NUM of days before inactive accounts are disabled (inactive accounts are those with expired passwords)]' \
+  '(-n)--minage[set system minimum password age to MINDAYS]' \
+  '(--minage)-n[set system minimum password age to MINDAYS]' \
+  '(-x)--maxage[set system maximum password age to MAXDAYS]' \
+  '(--maxage)-x[set system maximum password age to MAXDAYS]' \
+  '(-L)--length[set system minimum password length to LEN]' \
+  '(--length)-L[set system minimum password length to LEN]' \
+  '(-h)--help[displays this message]' \
+  '(--help)-h[displays this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  '*:user:_users'
diff -Nru origsrc/zsh-5.8/Completion/Unix/Command/_ps src/zsh-5.8/Completion/Unix/Command/_ps
--- origsrc/zsh-5.8/Completion/Unix/Command/_ps	2018-12-16 10:39:51.000000000 +0900
+++ src/zsh-5.8/Completion/Unix/Command/_ps	2020-06-04 02:21:45.762232400 +0900
@@ -1,244 +1,22 @@
 #compdef ps
 
-_ps_props() {
-  local opts
-
-  if [[ $1 = -s ]]; then
-    shift
-    compset -P '[+-]' || _describe -t modifiers modifier \
-	'( +:ascending\ order -:descending\ order )' -S ''
-  fi
-
-  case $OSTYPE in
-    linux-gnu) opts=( ${${(f)"$(_call_program properties $words[1] L)"}%% *} ) ;;
-    *bsd*|dragonfly*|darwin*) opts=( $(_call_program properties $words[1] L) ) ;;
-    solaris*) opts=( ${=${(f)"$(_call_program properties $words[1] - 2>&1)"}[-3,-1]} ) ;;
-  esac
-
-  compadd "$@" -a opts
-}
-
-local curcontext="$curcontext" state line expl ret=1
-local short long pids
-local -a args bsd bsdarg
-local -A equivs
-
-args=(
-  '-a[select processes with tty except session leaders]'
-  {-A,-e}'[select every process]'
-  '-d[select all processes except session leaders]'
-  '*-p+[select processes by ID]:process ID:_sequence -s , _pids'
-  '*-G+[select processes by real group]:group:_sequence -s , _groups'
-  '*-g+[select processes by effective group or session]:group:_sequence -s , _groups'
-  '*-s+[select processes by session leaders]:session leader:_sequence -s , _pids'
-  '*-t+[select processes by attached terminal]:tty:_sequence -s , _ttys -Do'
-  '*-u+[select processes by effective user]:user:_sequence -s , _users'
-  '*-U+[select processes by real user]:user:_sequence -s , _users'
-  '-o+[specify output format]:property:_sequence -s , _ps_props -'
-
-  '-c[show scheduler properties]'
-  '-f[full listing]'
-  '-j[show session ID and process group ID]'
-  '-l[long listing]'
-  '-L[show information about each light weight process]'
-  '-y[show RSS in place of ADDR (used with -l)]'
-)
-
-bsd=(
-  'a[include processes belonging to other users]'
-  '(j s u v X)l[output in long format]'
-  '(l s u v X)j[output in job control format]'
-  'x[include processes with no controlling terminal]'
-  '(j l s u X)v[output in virtual memory format]'
-  '*w[wide output]'
-  'L[display all format specifiers]'
-  'S[include child process data with the parent]'
-  'T[select processes attached to current terminal]'
-)
-bsdarg=(
-  '*p[select processes by ID]'
-  '*t[select processes by attached terminal]'
-  'O[specify additional output fields]'
-  'o[specify output format]'
-)
-
-case $OSTYPE in
-  solaris2.<11->)
-    args+=(
-      '-h[select processes homed to the specified lgrp]:lgrp list'
-      '-H[show home lgroup of the process]'
-    )
-  ;|
-  solaris*)
-    args+=(
-      '-P[show processor to which the process or lwp is bound]'
-      '*-z[select processes by zone]:zone list:_sequence _zones'
-      '-Z[show zone with which process is associated]'
-    )
-  ;;
-  linux-gnu|dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsd+=(
-      'e[show environment after command]'
-      '(j l s v X)u[output in resource usage format]'
-    )
-    bsdarg+=(
-      'N[set namelist file for WCHAN display]'
-      '*U[select processes by effective user]'
-    )
-  ;|
-  linux-gnu|dragonfly*|freebsd*|openbsd*)
-    bsd+=( 'H[show threads as if they were processes]' )
-  ;|
-  darwin*|dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsd+=(
-      'A[select every process]'
-      'c[show just executable name for command]'
-      'h[repeat header lines, one per page of output]'
-      '(r)m[sort by memory usage]'
-      '(m)r[sort by CPU usage]'
-    )
-  ;|
-  darwin*|dragonfly*|freebsd*|netbsd*)
-    bsd+=( 'C[ignore resident time for CPU percentage]' )
-  ;|
-  dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsdarg+=( 'M[extract values from specified core]' )
-  ;|
-  linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;|
-  darwin*|freebsd*)
-    bsd+=( 'X[skip processes with no controlling terminal]' )
-    bsdarg+=( '*G[select processes by real group]' )
-  ;|
-  freebsd*|dragonfly*)
-    bsd+=( 'f[show command and environment for swapped out processes]' )
-  ;|
-  netbsd*|openbsd*)
-    bsdarg+=( 'W[extract swap information from specified file]' )
-  ;|
-  freebsd*|netbsd*)
-    bsd+=(
-      'd[show process hierarchy]'
-    )
-  ;|
-  darwin*)
-    bsd+=(
-      'd[select all processes except session leaders]'
-      'E[show environment after command]'
-      'f[full listing]'
-      'M[show threads corresponding to each process]'
-    )
-    bsdarg+=(
-      '*g[select processes by process group leader]'
-      '*U[select processes by real user]'
-    )
-    if [[ $words[CURRENT] = -* ]]; then
-      bsd+=( 'e[select every process]' )
-      bsdarg+=( 'u[select processes by user id]' )
-    else
-      bsd+=(
-        'e[show environment after command]'
-        '(j l v)u[output in resource usage format]'
-      )
-    fi
-  ;;
-  dragonfly*)
-    bsd+=( 'R[subsort by parent/child chain]' )
-  ;;
-  freebsd*)
-    bsd+=(
-      '*J[select processes by jail ID]'
-      'Z[show mac label]'
-    )
-  ;;
-  netbsd*) bsd+=( '(j l u v)s[output in thread format]' ) ;;
-  openbsd*)
-    bsd+=(
-      'k[display information about kernel threads]'
-    )
-  ;;
-  linux-gnu)
-    args+=(
-      '-O+[specify additional output fields]:property:_sequence -s , _ps_props -'
-      '(-N --deselect)'{-N,--deselect}'[negate selection: all processes except those selected]'
-      '*-C[select processes by command name]:command:_sequence -s , _command_names -e'
-      '*--ppid[select processes by parent process ID]:parent process:_sequence -S , _pids'
-      '(-f)-F[extra full format listing]'
-      '--context[show SELinux security context format]'
-      '-M[show security data]'
-      '(--forest -H)'{--forest,-H}'[show process hierarchy]'
-      '--headers[repeat header lines, one per page of output]'
-      '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width'
-      '(--lines --rows)'{--lines,--rows}'[set screen height]'
-      '--cumulative[include child process data with the parent]'
-      '-n[set namelist file for WCHAN display]:file:_files'
-      '(--no-headers --no-heading)'{--no-headers,--no-heading}'[suppress headers]'
-      '(-q --quick-pid -a -A -d -e -N --deselect -C -p --pid --ppid -G --Group -g --group -s --sid -t --tty -u --user -U --User --forest -H --sort)'{-q+,--quick-pid=}'[select processes by ID (quick mode)]:process ID:_sequence -s , _pids'
-      '--sort=[specify sort order]:order:_sequence -s , _ps_props -s'
-      '-w[wide output]'
-      '-m[show threads after processes]'
-      '-T[show threads, with SPID column]'
-      '-Z[show security context format (SELinux)]'
-      '(- *)--help[display help information]::subject:(simple list output threads misc all)'
-      '(- *)--info[display debugging information]'
-      '(- *)'{-V,--version}'[display version information]'
-    )
-    equivs=( G Group g group p pid s sid t tty U User u user o format )
-    for short long in ${(kv)equivs}; do
-      args+=( ${${(M)args:#(\*|)-$short*}/$short+/-$long=} )
-    done
-    bsd+=(
-      'c[show true command name]'
-      'f[show process hierarchy]'
-      'h[suppress header]'
-      'm[show threads after processes]'
-      'n[numeric output for WCHAN and USER]'
-      'r[select running processes]'
-      '(j l u v X)s[output in signal format]'
-      'V[display version information]'
-      '(j l s u v)X[output in register format]'
-      'Z[show security data]'
-    )
-    bsdarg+=( 'q[select processes by ID (quick mode)]' )
-  ;;
-esac
-
-if (( CURRENT > 1 )) && [[ $OSTYPE != (solaris*|linux-gnu) ||
-              ( $OSTYPE = linux-gnu && $words[CURRENT-1] != -* ) ]]; then
-  case $words[CURRENT-1] in
-    *k)
-      local sopt
-      [[ $OSTYPE = linux-gnu ]] && sopt='-s'
-      _wanted -C option-k-1 properties expl 'property' \
-		_sequence -s , _ps_props $sopt - && return ;;
-    *g) [[ $OSTYPE = darwin* ]] && _wanted -C option-g-1 processes \
-		expl 'process ID' _sequence -s , _pids && return ;;
-    *G) _sequence -s , _groups && return ;;
-    *J) _sequence _jails -0 && return ;;
-    *[MNW]) _files && return ;;
-    *t)
-      _wanted -C option-t-1 ttys expl tty _sequence -s , _ttys -Do && return
-    ;;
-    *[pq]) _wanted -C "option-${words[CURRENT-1][-1]}-1" processes \
-	expl 'process ID' _sequence -s , _pids && return ;;
-    *U) _wanted -C option-U-1 users expl user _sequence -s , _users && return ;;
-    *u) [[ $OSTYPE = darwin* && $words[CURRENT-1] = -* ]] && \
-	_wanted -C option-u-1 users expl user _sequence -s , _users && return ;;
-    *[oO]) _wanted -C "option-${words[CURRENT-1][-1]}-1" properties \
-        expl 'property' _sequence -s , _ps_props - && return ;;
-  esac
-fi
-
-if [[ $OSTYPE = (*bsd*|darwin*|dragonfly*) ]]; then
-  compset -P - && pids=1
-else
-  [[ $OSTYPE = solaris* ]] || args+=( '*:: :->rest' )
-  _arguments -C -s $args && ret=0
-  [[ -z "$state" ]] && return ret
-fi
-
-_values -s '' -S ' ' 'options' $bsd && ret=0
-_values -S ' ' 'options' $bsdarg && ret=0
-if [[ -z $pids ]]; then
-  _pids && ret=0
-fi
-return ret
+_arguments -C \
+  '(-a)--all[show processes of all users]' \
+  '(--all)-a[show processes of all users]' \
+  '(-e)--everyone[show processes of all users]' \
+  '(--everyone)-e[show processes of all users]' \
+  '(-f)--full[show process uids, ppids]' \
+  '(--full)-f[show process uids, ppids]' \
+  '(-l)--long[show process uids, ppids, pgids, winpids]' \
+  '(--long)-l[show process uids, ppids, pgids, winpids]' \
+  '(-s)--summary[show process summary]' \
+  '(--summary)-s[show process summary]' \
+  '(-u)--user[list processes owned by UID]' \
+  '(--user)-u[list processes owned by UID]' \
+  '(-W)--windows[show windows as well as cygwin processes]' \
+  '(--windows)-W[show windows as well as cygwin processes]' \
+  '(-h)--help[output usage information and exit]' \
+  '(--help)-h[output usage information and exit]' \
+  '(-v)--version[output version information and exit]' \
+  '(--version)-v[output version information and exit]' \
+  ':UID:'

[-- Attachment #5: cygwin-add-files-specific-to-cygwin.patch --]
[-- Type: Text/X-Patch, Size: 10499 bytes --]

diff -Nru cygwin/bin/mkzsh cygwin/bin/mkzsh
--- cygwin/bin/mkzsh	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/bin/mkzsh	2020-06-04 05:26:04.926454800 +0900
@@ -0,0 +1,73 @@
+#!/bin/zsh
+
+ME=`basename $0`
+batfile=/zsh.bat
+iconpath=/cygwin.ico
+shortcutname="Cygwin Zsh"
+
+all_opt=""
+do_desktop=""
+do_menu=""
+
+#rootpath=`regtool get '/machine/SOFTWARE/Cygnus Solutions/Cygwin/mounts v2/\//native'`
+rootpath=`mount | grep ' / ' | awk '{ print $1 }' | tr / '\\\\'`
+rootdrive=`echo "$rootpath" | sed 's/\(.:\).*/\1/'`
+
+CreateZshBat()
+{
+  echo "Creating $batfile ..."
+# Create the zsh.bat file
+
+ cat > $batfile <<EOF
+@echo off
+$rootdrive
+chdir $rootpath\bin
+zsh -l -i
+EOF
+
+ chmod a+rx $batfile
+}
+
+CreateDesktop()
+{
+ echo "Creating Desktop Icon..."
+ mkshortcut -D $all_opt --icon $iconpath --name "$shortcutname" --arguments="$rootpath" $batfile
+}
+
+CreateMenu()
+{
+ echo "Creating Menu Item..."
+ mkshortcut -P $all_opt --icon $iconpath --name "$shortcutname" --arguments="$rootpath" $batfile
+}
+
+Usage()
+{
+  cat << EOF
+Usage: $ME {-A} {-D} {-P} {-h|--help}
+  -A|--allusers      creates item for All Users instead of just current user
+  -D|--desktop       creates a Desktop icon for running $batfile
+  -P|--smprograms    creates a Program menu item for running $batfile
+  -h|--help          prints usage
+EOF
+  exit 2
+}
+
+# main
+
+while [ $# != 0 ]
+do
+ case "$1" in
+-A|--allusers)   all_opt="--allusers" ;;
+-D|--desktop)    do_desktop="1" ;;
+-P|--smprograms) do_menu="1" ;;
+-h|--help)       Usage ;;
+ esac
+ shift 
+done
+
+CreateZshBat
+
+[ "$do_desktop" != "" ] && CreateDesktop
+[ "$do_menu" != "" ] && CreateMenu
+
+exit 0
diff -Nru cygwin/profile.d/zshell.zsh cygwin/profile.d/zshell.zsh
--- cygwin/profile.d/zshell.zsh	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/profile.d/zshell.zsh	2020-06-04 05:26:04.929475400 +0900
@@ -0,0 +1,4 @@
+# set SHELL if not set
+if [ ! -z "$ZSH_NAME" -a -z "$SHELL" ]; then
+  export SHELL="/bin/zsh"
+fi
diff -Nru cygwin/startup-files/zprofile cygwin/startup-files/zprofile
--- cygwin/startup-files/zprofile	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/startup-files/zprofile	2020-06-04 05:26:04.932439500 +0900
@@ -0,0 +1,224 @@
+# derived from base-files version 4.2-3
+
+# WARNING
+#
+# IF THIS FILE IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
+# SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.
+
+# The latest version as installed by the Cygwin Setup program can
+# always be found at /usr/share/doc/zsh-X.Y.Z/StartupFiles/etc/zprofile
+
+# Some resources...
+
+# Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
+# Consistent BackSpace and Delete Configuration:
+#   http://www.ibb.net/~anne/keyboard.html
+# The Linux Documentation Project: http://www.tldp.org/
+# The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
+# Greg's Wiki http://mywiki.wooledge.org/
+
+# Setup some default paths. Note that this order will allow user installed
+# software to override 'system' software.
+# Modifying these default path settings can be done in different ways.
+# To learn more about startup files, refer to your shell's man page.
+
+# If you wish to change the path for all users, it is recommended you edit
+#    /etc/zshenv # runs before /etc/zprofile
+# or /etc/zshrc  # runs after /etc/zprofile (for interactive shells)
+# or /etc/zlogin # runs after /etc/zprofile (for login shells)
+
+# If you wish to change the path on a user by user basis, it is recommended you
+#  edit
+#    ~/.zshenv   # runs before ~/.zprofile
+# or ~/.zprofile # (for login shells)
+# or ~/.zshrc    # runs after ~/.zprofile (for interactive shells)
+# or ~/.zlogin   # runs after ~/.zprofile (for login shells)
+
+if [ -z "${PROFILEREAD+true}" ] ; then
+
+  # Setup some default paths. Note that this order will allow user installed
+  # software to override 'system' software.
+  # Modifying these default path settings can be done in different ways.
+  # To learn more about startup files, refer to your shell's man page.
+
+  : ${ORIGINAL_PATH=${PATH}}
+  if [ ${CYGWIN_NOWINPATH-addwinpath} = "addwinpath" ] ; then
+    PATH="/usr/local/bin:/usr/bin${PATH:+:${PATH}}"
+  else
+    PATH="/usr/local/bin:/usr/bin"
+  fi
+
+# see https://cygwin.com/ml/cygwin/2014-05/msg00352.html
+# MANPATH="/usr/local/man:/usr/share/man:/usr/man${MANPATH:+:${MANPATH}}"
+  INFOPATH="/usr/local/info:/usr/share/info:/usr/info${INFOPATH:+:${INFOPATH}}"
+
+  # Set the user id
+  USER="$(/usr/bin/id -un)"
+
+  # TMP and TEMP as defined in the Windows environment
+  # can have unexpected consequences for cygwin apps, so we define
+  # our own to match GNU/Linux behaviour.
+  unset TMP TEMP
+  TMP="/tmp"
+  TEMP="/tmp"
+
+  # Define default printer
+  p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
+  if [ -e "${p}" ] ; then
+    read -r PRINTER < "${p}"
+    PRINTER=${PRINTER%%,*}
+  fi
+  unset p
+
+  # Default to removing the write permission for group and other
+  #  (files normally created with mode 777 become 755; files created with
+  #  mode 666 become 644)
+  umask 022
+
+  # Here is how HOME is set, in order of priority, when starting from Windows
+  #  1) From existing HOME in the Windows environment, translated to a Posix path
+  #  2) from /etc/passwd, if there is an entry with a non empty directory field
+  #  3) from HOMEDRIVE/HOMEPATH
+  #  4) / (root)
+  # If the home directory doesn't exist, create it.
+  if [ ! -d "${HOME}" ]; then
+    if mkdir -p "${HOME}"; then
+      echo "Copying skeleton files."
+      echo "These files are for the users to personalise their cygwin experience."
+      echo
+      echo "They will never be overwritten nor automatically updated."
+      echo
+      if ! cd /etc/skel; then
+        echo "WARNING: Failed attempt to cd into /etc/skel!"
+      else
+        /usr/bin/find . -type f |
+	  while read f; do
+            fDest=${f#.}
+            if [ ! -e "${HOME}${fDest}" -a ! -L "${HOME}${fDest}" ]; then
+              /usr/bin/install -D -p -v "${f}" "${HOME}/${fDest}"
+            fi
+          done
+        unset fDest
+      fi
+    else
+      echo "${HOME} could not be created."
+      { [ -d "${TEMP}" ] && HOME="${TEMP}"; } ||
+      { [ -d "${TMP}" ] && HOME="${TMP}"; } ||
+      { [ -d /tmp ] && HOME=/tmp; } ||
+      HOME=/
+      echo "Setting HOME to ${HOME}."
+    fi
+  fi
+
+  readonly PROFILEREAD=true
+fi
+
+# Make sure we start in home unless invoked by CHERE
+if [ ! -z "${CHERE_INVOKING}" ]; then
+  unset CHERE_INVOKING
+else
+  cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
+fi
+
+# Shell dependent settings
+profile_d ()
+{
+  _LC_ALL_SET_="${LC_ALL+set}"
+  _LC_SAVE_="${LC_ALL-null}"
+  LC_ALL=C
+  if [ "${_LC_SAVE_}" = "null" ]; then
+    for file in /etc/profile.d/*.$1; do
+      [ -e "${file}" ] && . "${file}"
+    done
+    unset LC_ALL
+  else
+    for file in /etc/profile.d/*.$1; do
+      [ -e "${file}" ] && LC_ALL="${_LC_SAVE_}" . "${file}"
+    done
+    LC_ALL="${_LC_SAVE_}"
+  fi
+  unset file
+  unset _LC_ALL_SET_
+  unset _LC_SAVE_
+}
+
+HOSTNAME="$(/usr/bin/hostname)"
+profile_d sh
+if [ ! "x${BASH_VERSION}" = "x"  ]; then
+  [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
+elif [ ! "x${KSH_VERSION}" = "x" ]; then
+  typeset -l HOSTNAME="$(/usr/bin/hostname)"
+  [ "${PS1-null}" = "null" ] || PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ')
+elif [ ! "x${ZSH_VERSION}" = "x" ]; then
+  # zsh is in shell compatibility mode here, so we probably shouldn't do this
+  profile_d zsh
+elif [ ! "x${POSH_VERSION}" = "x" ]; then
+  : # [ "${PS1-null}" = "null" ] || PS1="$ "
+else
+  : # [ "${PS1-null}" = "null" ] || PS1="$ "
+fi
+
+# export PROFILEREAD PATH ORIGINAL_PATH MANPATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
+export PROFILEREAD PATH ORIGINAL_PATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
+
+# Check to see if mkpasswd/mkgroup needs to be run try and cut down the emails
+#   about this on the lists!
+#
+# The following are the conditions under which the group name special cases
+#   will appear (where uid and gid are the effective user and group ids
+#   for the current user, and pgsid is the primary group associated with the
+#   SID for the current user):
+#       mkpasswd:
+#         gid is not in /etc/group
+#         uid is not in /etc/passwd
+#       passwd/group_GID_clash(<gid>/<pgsid>):
+#         gid is not in /etc/group
+#         uid is in /etc/passwd
+#         pgsid is in /etc/group (and does not match gid)
+#       mkgroup:
+#         gid is not in /etc/group
+#         uid is in /etc/passwd
+#         pgsid is not in /etc/group
+#
+# If this message keeps appearing and you are sure it's a mistake (ie, don't
+#   email about it!), comment out the test below.
+case "$(/usr/bin/id -ng)" in
+mkpasswd )
+  echo "Your group is currently \"mkpasswd\".  This indicates that your"
+  echo "gid is not in /etc/group and your uid is not in /etc/passwd."
+  echo
+  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+passwd/group_GID_clash* )
+  echo "Your group is currently \"passwd/group_GID_clash(gid/pgsid)\".  This"
+  echo "indicates that your gid is not in /etc/group, but the pgsid (primary "
+  echo "group associated with your SID) is in /etc/group."
+  echo
+  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+mkgroup )
+  echo "Your group is currently \"mkgroup\".  This indicates that neither"
+  echo "your gid nor your pgsid (primary group associated with your SID)"
+  echo "is in /etc/group."
+  echo
+  echo "The /etc/group (and possibly /etc/passwd) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+esac

[-- Attachment #6: upstream-fix-make-install-error.patch --]
[-- Type: Text/X-Patch, Size: 802 bytes --]

diff --git a/configure.ac b/configure.ac
index e78ebf86b..995f010b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3178,6 +3178,22 @@ AC_CONFIG_COMMANDS([stamp-h], [echo >stamp-h])
 
 AC_OUTPUT
 
+dnl Copy pre-built man pages and help files, for tarball out-of-tree builds.
+for manpage in `cd ${srcdir} && echo Doc/*.1`; do
+  if test x"$manpage" != x"Doc/*.1" && ! test -e "${manpage}"; then
+    cp ${srcdir}/${manpage} ./Doc/
+  fi
+done
+if ! test -e Doc/help.txt; then
+  cp ${srcdir}/Doc/help.txt ./Doc/
+fi
+mkdir -p ./Doc/help
+for helpfile in `cd ${srcdir} && echo Doc/help/*`; do
+  if test x"$helpfile" != x"Doc/help/*" && ! test -e "${helpfile}"; then
+    cp ${srcdir}/${helpfile} ./Doc/help/
+  fi
+done
+
 eval "zshbin1=${bindir}"
 eval "zshbin2=${zshbin1}"
 eval "zshman1=${mandir}"

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-06-26 22:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mailman.16.1593086404.1464.cygwin-apps@cygwin.com>
2020-06-25 21:09 ` zsh 5.8: configure fails only on 32bit Peter A. Castro
2020-06-26 22:56   ` Peter A. Castro
2020-06-12 21:05 Yasuhiro KIMURA
2020-06-13  5:53 ` ASSI
2020-06-13  6:18 ` Marco Atzeri
2020-06-23 23:20   ` Yasuhiro KIMURA
2020-06-24  2:38     ` Mark Geisert
2020-06-24 23:28       ` Yasuhiro KIMURA

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).