pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS


msnfs41client: bintarball backup 2023-12-11
Posted by Anonymous on Mon 11th Dec 2023 15:44
raw | new post

  1. From b8c2f085d6f7c95573c9075b6e3bd1ca909cd087 Mon Sep 17 00:00:00 2001
  2. From: Roland Mainz <roland.mainz@nrubsig.org>
  3. Date: Mon, 11 Dec 2023 00:16:29 +0100
  4. Subject: [PATCH 1/4] cygwin/Makefile: Add Makefile target for Cygwin binary
  5.  release tarball
  6.  
  7. Add Makefile target bintarball to create a binary release tarball which
  8. can be unpacked into a Cygwin installation.
  9.  
  10. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  11. ---
  12. cygwin/Makefile | 33 ++++++++++++++++++++++++++-------
  13.  1 file changed, 26 insertions(+), 7 deletions(-)
  14.  
  15. diff --git a/cygwin/Makefile b/cygwin/Makefile
  16. index b7a3b1e..e423d6f 100644
  17. --- a/cygwin/Makefile
  18. +++ b/cygwin/Makefile
  19. @@ -57,7 +57,12 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  20.         fi
  21.         mkdir -p $(DESTDIR)
  22.         mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/sbin/
  23. -       mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/usr/bin
  24. +       # /usr/bin is a bind mount to C:/cygwin64/bin, so copy binaries to /cygdrive/c/cygwin64/bin
  25. +       mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/bin
  26. +       # /usr/lib is a bind mount to C:/cygwin64/lib, so copy library data to /cygdrive/c/cygwin64/lib
  27. +       mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/lib
  28. +       mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client
  29. +       mkdir -p $(DESTDIR)/cygdrive/c/cygwin64/src/msnfs41client
  30.         cp -r $(VS_BUILD_DIR)/nfsd.exe          $(DESTDIR)/cygdrive/c/cygwin64/sbin/nfsd_debug.exe
  31.         cp -r $(VS_BUILD_DIR)/nfsd.pdb          $(DESTDIR)/cygdrive/c/cygwin64/sbin/nfsd_debug.pdb
  32.         cp -r $(VS_BUILD_DIR)/nfs_mount.*       $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  33. @@ -68,17 +73,23 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  34.         cp -r $(VS_BUILD_DIR)/libtirpc.*        $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  35.         cp $(PROJECT_BASEDIR_DIR)/nfs41rdr.inf  $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  36.         cp $(PROJECT_BASEDIR_DIR)/etc_netconfig $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  37. -       cp $(PROJECT_BASEDIR_DIR)/ms-nfs41-idmap.conf $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  38. -       cp $(CYGWIN_MAKEFILE_DIR)/devel/msnfs41client.bash $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  39. +       cp $(PROJECT_BASEDIR_DIR)/ms-nfs41-idmap.conf           $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  40. +       cp $(CYGWIN_MAKEFILE_DIR)/devel/msnfs41client.bash      $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  41. +       cp $(PROJECT_BASEDIR_DIR)/cygwin_idmapper.ksh           $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  42. +       @ printf "# Package sources and diffs\n"
  43. +       git bundle create "$(DESTDIR)/cygdrive/c/cygwin64/src/msnfs41client/msnfs41client_git.bundle" HEAD
  44. +       git diff -w     >"$(DESTDIR)/cygdrive/c/cygwin64/src/msnfs41client/msnfs41client_diff_w.diff"
  45. +       git diff        >"$(DESTDIR)/cygdrive/c/cygwin64/src/msnfs41client/msnfs41client_diff.diff"
  46. +       @ printf "# Package utilties\n"
  47.         cp $(CYGWIN_MAKEFILE_DIR)/utils/mount_sshnfs/mount_sshnfs.ksh $(DESTDIR)/cygdrive/c/cygwin64/sbin/mount_sshnfs
  48.         chmod a+x $(DESTDIR)/cygdrive/c/cygwin64/sbin/mount_sshnfs
  49.         cp $(CYGWIN_MAKEFILE_DIR)/utils/sshnfs/sshnfs.ksh $(DESTDIR)/cygdrive/c/cygwin64/sbin/sshnfs
  50.         chmod a+x $(DESTDIR)/cygdrive/c/cygwin64/sbin/sshnfs
  51.         @ printf "# Package tests\n"
  52. -       cp tests/winfsinfo1/winfsinfo.exe $(DESTDIR)/cygdrive/c/cygwin64/usr/bin/winfsinfo.exe
  53. +       cp tests/winfsinfo1/winfsinfo.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/winfsinfo.exe
  54.         @ printf "# Package ksh93&co (if available) since Cygwin does not ship with it yet\n"
  55. -       [[ -x /usr/bin/ksh93.exe ]] && cp /usr/bin/ksh93.exe $(DESTDIR)/cygdrive/c/cygwin64/usr/bin/ksh93.exe
  56. -       [[ -x /usr/bin/shcomp.exe ]] && cp /usr/bin/shcomp.exe $(DESTDIR)/cygdrive/c/cygwin64/usr/bin/shcomp.exe
  57. +       [[ -x /usr/bin/ksh93.exe ]] && cp /usr/bin/ksh93.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/ksh93.exe
  58. +       [[ -x /usr/bin/shcomp.exe ]] && cp /usr/bin/shcomp.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/shcomp.exe
  59.         @ printf "# Set file flags\n"
  60.         (cd $(DESTDIR)/cygdrive/c/cygwin64/sbin/ ; chmod a+x *.exe *.dll *.sys *.bash)
  61.         @printf "\n#\n# TEST sbin dir is %s\n#\n" "$(DESTDIR)/cygdrive/c/cygwin64/sbin/"
  62. @@ -86,6 +97,14 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  63.         @printf "\n#\n# Now use\n# $$ cd '%s' && bash ./msnfs41client.bash install #\n# to install the kernel driver as Admin\n#\n" \
  64.                 "$(DESTDIR)/cygdrive/c/cygwin64/sbin/"
  65.  
  66. +bintarball: installdest
  67. +       (cd destdir && \
  68. +       tar -cvf - \
  69. +               --owner=SYSTEM \
  70. +               --group=SYSTEM \
  71. +               cygdrive/c/cygwin64 | \
  72. +                       bzip2 -9 >msnfs41client_cygwin_binaries.tar.bz2)
  73. +
  74.  #
  75.  # clean destdir/, but only if nfsd*.exe does not use it right now
  76.  #
  77. @@ -94,6 +113,6 @@ cleandest:
  78.                 printf 'DIR %q is in use by a process\n' "$DESTDIR" 1>&2 ; \
  79.                 exit 1 ; \
  80.         fi
  81. -       rm -r "$(DESTDIR)"
  82. +       rm -rvf "$(DESTDIR)"
  83.  
  84.  # EOF.
  85. --
  86. 2.42.1
  87.  
  88. From 906ccbd3899217736ba398abacb6c684c7ce1b37 Mon Sep 17 00:00:00 2001
  89. From: Roland Mainz <roland.mainz@nrubsig.org>
  90. Date: Mon, 11 Dec 2023 00:22:50 +0100
  91. Subject: [PATCH 2/4] daemon: Fix Cygwin idmapper script path
  92.  
  93. Set Cygwin idmapper script patch to
  94. /cygdrive/c/cygwin64/lib/msnfs41client/cygwin_idmapper.ksh
  95.  
  96. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  97. ---
  98. daemon/idmap_cygwin.c | 2 +-
  99.  1 file changed, 1 insertion(+), 1 deletion(-)
  100.  
  101. diff --git a/daemon/idmap_cygwin.c b/daemon/idmap_cygwin.c
  102. index 64c1bff..f8bb74e 100644
  103. --- a/daemon/idmap_cygwin.c
  104. +++ b/daemon/idmap_cygwin.c
  105. @@ -40,7 +40,7 @@
  106.  
  107.  #define CYGWIN_IDMAPPER_SCRIPT \
  108.      ("C:\\cygwin64\\bin\\ksh93.exe " \
  109. -    "/home/roland_mainz/work/msnfs41_uidmapping/ms-nfs41-client/cygwin_idmapper.ksh")
  110. +    "/cygdrive/c/cygwin64/lib/msnfs41client/cygwin_idmapper.ksh")
  111.  
  112.  
  113.  #ifdef NFS41_DRIVER_FEATURE_NAMESERVICE_CYGWIN
  114. --
  115. 2.42.1
  116.  
  117. From 044535a00a1e38fc0d7b900c5abd3a6496345cd6 Mon Sep 17 00:00:00 2001
  118. From: Roland Mainz <roland.mainz@nrubsig.org>
  119. Date: Mon, 11 Dec 2023 00:30:04 +0100
  120. Subject: [PATCH 3/4] mount_sshnfs: PATH+='/sbin:...' as Cygwin has
  121.  nfs_mount.exe in /sbin
  122.  
  123. Add PATH+=':/sbin:/usr/sbin:/usr/bin:/bin' because Cygwin binary
  124. tarball installs nfs_mount.exe in /sbin
  125.  
  126. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  127. ---
  128. cygwin/utils/mount_sshnfs/mount_sshnfs.ksh | 10 +++++-----
  129.  1 file changed, 5 insertions(+), 5 deletions(-)
  130.  
  131. diff --git a/cygwin/utils/mount_sshnfs/mount_sshnfs.ksh b/cygwin/utils/mount_sshnfs/mount_sshnfs.ksh
  132. index 9b5c76e..4193d56 100755
  133. --- a/cygwin/utils/mount_sshnfs/mount_sshnfs.ksh
  134. +++ b/cygwin/utils/mount_sshnfs/mount_sshnfs.ksh
  135. @@ -312,7 +312,7 @@ function cmd_mount
  136.  
  137.         # fixme: Need better text layout for $ mount_sshnfs mount --man #
  138.         typeset -r mount_sshnfs_cmdmount_usage=$'+
  139. -       [-?\n@(#)\$Id: mount_sshnfs mount (Roland Mainz) 2023-07-24 \$\n]
  140. +       [-?\n@(#)\$Id: mount_sshnfs mount (Roland Mainz) 2023-12-08 \$\n]
  141.         [-author?Roland Mainz <roland.mainz@nrubsig.org>]
  142.         [+NAME?mount_sshnfs mount - mount NFSv4 filesystem through ssh
  143.                 tunnel]
  144. @@ -668,7 +668,7 @@ function cmd_umount
  145.         typeset mydebug=false # fixme: should be "bool" for ksh93v
  146.         # fixme: Need better text layout for $ mount_sshnfs mount --man #
  147.         typeset -r mount_sshnfs_cmdumount_usage=$'+
  148. -       [-?\n@(#)\$Id: mount_sshnfs umount (Roland Mainz) 2023-07-24 \$\n]
  149. +       [-?\n@(#)\$Id: mount_sshnfs umount (Roland Mainz) 2023-12-08 \$\n]
  150.         [-author?Roland Mainz <roland.mainz@nrubsig.org>]
  151.         [+NAME?mount_sshnfs umount - unmount NFSv4 filesystem mounted
  152.                 via mount_sshnfs mount]
  153. @@ -772,7 +772,7 @@ function main
  154.  
  155.         # fixme: Need better text layout for $ mount_sshnfs --man #
  156.         typeset -r mount_sshnfs_usage=$'+
  157. -       [-?\n@(#)\$Id: mount_sshnfs (Roland Mainz) 2023-07-24 \$\n]
  158. +       [-?\n@(#)\$Id: mount_sshnfs (Roland Mainz) 2023-12-08 \$\n]
  159.         [-author?Roland Mainz <roland.mainz@nrubsig.org>]
  160.         [+NAME?mount_sshnfs - mount/umount NFSv4 filesystem via ssh
  161.                 tunnel]
  162. @@ -809,8 +809,8 @@ function main
  163.         if [[ "${ uname -o ;}" == 'Cygwin' ]] ; then
  164.                 integer c.is_ccygwin=1
  165.  
  166. -               # only for testing!!
  167. -               PATH+=':/cygdrive/c/Users/roland_mainz/Downloads/ms-nfs41-client-x64/ms-nfs41-client-x64/'
  168. +               # Cygwin has nfs_mount.exe in /sbin
  169. +               PATH+=':/sbin:/usr/sbin:/usr/bin:/bin'
  170.  
  171.                 typeset c.msnfsv41_nfsmountcmd="$(which 'nfs_mount.exe')"
  172.  
  173. --
  174. 2.42.1
  175.  
  176. From 9111f150ab34453985f00f1b933ebf0abe6e9cf4 Mon Sep 17 00:00:00 2001
  177. From: Roland Mainz <roland.mainz@nrubsig.org>
  178. Date: Mon, 11 Dec 2023 15:11:37 +0100
  179. Subject: [PATCH 4/4] cygwin: Rework binary tarball layout
  180.  
  181. Rework binary tarball layout, so "internal" files are
  182. in /usr/lib/msnfs41client. Also drop *.bash suffix from
  183. /sbin/msnfs41client script, remove obsolete comments,
  184. and make sure it can find its files regardless what $PWD
  185. is.
  186.  
  187. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  188. ---
  189. cygwin/Makefile                 | 25 ++++++++++++++-----------
  190.  cygwin/devel/msnfs41client.bash | 24 ++++++++++++++----------
  191.  2 files changed, 28 insertions(+), 21 deletions(-)
  192.  
  193. diff --git a/cygwin/Makefile b/cygwin/Makefile
  194. index e423d6f..07f84a5 100644
  195. --- a/cygwin/Makefile
  196. +++ b/cygwin/Makefile
  197. @@ -68,13 +68,15 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  198.         cp -r $(VS_BUILD_DIR)/nfs_mount.*       $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  199.         cp -r $(VS_BUILD_DIR)/nfsd.*            $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  200.         cp -r $(VS_BUILD_DIR)/nfs_install.*     $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  201. -       cp -r $(VS_BUILD_DIR)/nfs41_np.*        $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  202. -       cp -r $(VS_BUILD_DIR)/nfs41_driver.*    $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  203.         cp -r $(VS_BUILD_DIR)/libtirpc.*        $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  204. -       cp $(PROJECT_BASEDIR_DIR)/nfs41rdr.inf  $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  205. -       cp $(PROJECT_BASEDIR_DIR)/etc_netconfig $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  206. -       cp $(PROJECT_BASEDIR_DIR)/ms-nfs41-idmap.conf           $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  207. -       cp $(CYGWIN_MAKEFILE_DIR)/devel/msnfs41client.bash      $(DESTDIR)/cygdrive/c/cygwin64/sbin/.
  208. +       cp -r $(VS_BUILD_DIR)/nfs41_np.*        $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  209. +       cp -r $(VS_BUILD_DIR)/nfs41_driver.*    $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  210. +       cp $(PROJECT_BASEDIR_DIR)/nfs41rdr.inf  $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  211. +       cp $(PROJECT_BASEDIR_DIR)/etc_netconfig $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  212. +       cp $(PROJECT_BASEDIR_DIR)/ms-nfs41-idmap.conf           $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  213. +       cp $(CYGWIN_MAKEFILE_DIR)/devel/msnfs41client.bash      $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/msnfs41client
  214. +       chmod a+x "$(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/msnfs41client"
  215. +       (cd "$(DESTDIR)/cygdrive/c/cygwin64/sbin/" && ln -sf ../lib/msnfs41client/msnfs41client .)
  216.         cp $(PROJECT_BASEDIR_DIR)/cygwin_idmapper.ksh           $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/.
  217.         @ printf "# Package sources and diffs\n"
  218.         git bundle create "$(DESTDIR)/cygdrive/c/cygwin64/src/msnfs41client/msnfs41client_git.bundle" HEAD
  219. @@ -91,19 +93,20 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  220.         [[ -x /usr/bin/ksh93.exe ]] && cp /usr/bin/ksh93.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/ksh93.exe
  221.         [[ -x /usr/bin/shcomp.exe ]] && cp /usr/bin/shcomp.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/shcomp.exe
  222.         @ printf "# Set file flags\n"
  223. -       (cd $(DESTDIR)/cygdrive/c/cygwin64/sbin/ ; chmod a+x *.exe *.dll *.sys *.bash)
  224. +       (cd $(DESTDIR)/cygdrive/c/cygwin64/sbin/ && chmod a+x *.exe *.dll)
  225. +       (cd $(DESTDIR)/cygdrive/c/cygwin64/lib/msnfs41client/ && chmod a+x *.dll)
  226.         @printf "\n#\n# TEST sbin dir is %s\n#\n" "$(DESTDIR)/cygdrive/c/cygwin64/sbin/"
  227.         @printf '\n'
  228. -       @printf "\n#\n# Now use\n# $$ cd '%s' && bash ./msnfs41client.bash install #\n# to install the kernel driver as Admin\n#\n" \
  229. +       @printf "\n#\n# Now use\n# $$ cd '%s' && ./msnfs41client install #\n# to install the kernel driver as Admin\n#\n" \
  230.                 "$(DESTDIR)/cygdrive/c/cygwin64/sbin/"
  231.  
  232.  bintarball: installdest
  233.         (cd destdir && \
  234.         tar -cvf - \
  235. -               --owner=SYSTEM \
  236. -               --group=SYSTEM \
  237. +               --owner=SYSTEM:18 \
  238. +               --group=SYSTEM:18 \
  239.                 cygdrive/c/cygwin64 | \
  240. -                       bzip2 -9 >msnfs41client_cygwin_binaries.tar.bz2)
  241. +                       bzip2 -9 >'msnfs41client_cygwin_binaries.tar.bz2')
  242.  
  243.  #
  244.  # clean destdir/, but only if nfsd*.exe does not use it right now
  245. diff --git a/cygwin/devel/msnfs41client.bash b/cygwin/devel/msnfs41client.bash
  246. index a9782bb..9bb2523 100644
  247. --- a/cygwin/devel/msnfs41client.bash
  248. +++ b/cygwin/devel/msnfs41client.bash
  249. @@ -50,6 +50,11 @@ function nfsclient_install
  250.         set -o xtrace
  251.         set -o errexit
  252.  
  253. +       # switch to the location where this script is installed,
  254. +       # because on Cygwin the script will be installed
  255. +       # in /cygdrive/c/cygwin64/lib/msnfs41client/
  256. +       cd -P "$(dirname -- "$(realpath "${BASH_SOURCE[0]}")")"
  257. +
  258.         if ! is_windows_admin_account ; then
  259.                 printf $"%s: Install requires Windows Adminstator permissions.\n" "$0"
  260.                 return 1
  261. @@ -58,7 +63,8 @@ function nfsclient_install
  262.         # make sure all binaries are executable, Windows cmd does
  263.         # not care, but Cygwin&bash do.
  264.         # If *.ddl are not executable nfs*.exe fail with 0xc0000022
  265. -       chmod a+x *.exe *.dll
  266. +       chmod a+x *.dll
  267. +       chmod a+x ../../sbin/nfs*.exe ../../sbin/libtirpc*.dll
  268.  
  269.         if false ; then
  270.                 # install.bat needs PATH to include $PWD
  271. @@ -297,10 +303,6 @@ function nfsclient_mount_homedir
  272.         set -o errexit
  273.  
  274.         #nfs_mount -p -o sec=sys H 'derfwpc5131:/export/home/rmainz'
  275. -       # fixme: Specifying IPv6 addresses do not work yet, as soon as
  276. -       # they come as UNC paths (e.g.
  277. -       # $ cd '//[fe80::219:99ff:feae:73ce]@2049/nfs4/export/home/rmainz' #
  278. -       # they get corrupted once they arrive in nfsd_debug.exe)
  279.         #nfs_mount -p -o sec=sys H '[fe80::219:99ff:feae:73ce]:/export/home/rmainz'
  280.         nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6:/export/home/rmainz'
  281.         mkdir -p '/home/rmainz'
  282. @@ -318,10 +320,6 @@ function nfsclient_system_mount_homedir
  283.         su_system net use H: /delete || true
  284.  
  285.         #su_system nfs_mount -p -o sec=sys H 'derfwpc5131:/export/home/rmainz'
  286. -       # fixme: Specifying IPv6 addresses do not work yet, as soon as
  287. -       # they come as UNC paths (e.g.
  288. -       # $ cd '//[fe80::219:99ff:feae:73ce]@2049/nfs4/export/home/rmainz' #
  289. -       # they get corrupted once they arrive in nfsd_debug.exe)
  290.         #su_system nfs_mount -p -o sec=sys H '[fe80::219:99ff:feae:73ce]:/export/home/rmainz'
  291.         su_system nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6:/export/home/rmainz'
  292.  
  293. @@ -388,8 +386,13 @@ function main
  294.  {
  295.         typeset cmd="$1"
  296.  
  297. +       # path where this script is installed
  298. +       typeset scriptpath="$(dirname -- "$(realpath "${BASH_SOURCE[0]}")")"
  299. +
  300.         # "$PATH:/usr/bin:/bin" is used for PsExec where $PATH might be empty
  301. -       export PATH="$PWD:$PATH:/usr/bin:/bin"
  302. +       PATH="$PWD:$PATH:${scriptpath}../../usr/bin:${scriptpath}/../../bin:${scriptpath}/../../sbin:${scriptpath}/../../usr/sbin"
  303. +       # add defauft system path for POSIX utilities
  304. +       PATH+=':/sbin:/usr/sbin:/bin:/usr/bin'
  305.  
  306.         # path to WinDBG cdb (fixme: 64bit x86-specific)
  307.         PATH+=':/cygdrive/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/'
  308. @@ -457,6 +460,7 @@ function main
  309.                         ;;
  310.                 'sys_terminal')
  311.                         require_cmd 'mintty.exe' || return 1
  312. +                       require_cmd 'PsExec.exe' || return 1
  313.                         if ! is_windows_admin_account ; then
  314.                                 printf $"%s: %q requires Windows Adminstator permissions.\n" "$0" "$cmd"
  315.                                 return 1
  316. --
  317. 2.42.1

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at