pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS


README updates
Posted by Anonymous on Fri 22nd Mar 2024 16:16
raw | new post

  1. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  2. index a5ea187..d2316ca 100644
  3. --- a/cygwin/README.bintarball.txt
  4. +++ b/cygwin/README.bintarball.txt
  5. @@ -88,6 +88,7 @@ NFSv4.1 client and filesystem driver for Windows 10/11
  6.          util-linux
  7.          wget
  8.      - Packages (recommended):
  9. +        libnfs (for /usr/bin/nfs-ls)
  10.          make
  11.          git
  12.          dos2unix
  13. @@ -321,4 +322,13 @@ $ /sbin/nfs_mount
  14.    might require $ chmod a+rw /dev/vmnet0 # on VMware host, so that
  15.    the VM can use "Promiscuous Mode".
  16.  
  17. +
  18. +#
  19. +# 11. Source code:
  20. +#
  21. +- Source code can be obtained from https://github.com/kofemann/ms-nfs41-client
  22. +- Build instructions can be found at
  23. +https://github.com/kofemann/ms-nfs41-client/tree/master/cygwin
  24. +
  25. +
  26.  # EOF.
  27. diff --git a/cygwin/README.txt b/cygwin/README.txt
  28. index 39dd517..f008d7a 100644
  29. --- a/cygwin/README.txt
  30. +++ b/cygwin/README.txt
  31. @@ -15,8 +15,7 @@
  32.  export PATH+=":/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/"
  33.  git clone https://github.com/kofemann/ms-nfs41-client.git
  34.  cd ms-nfs41-client
  35. -cd cygwin
  36. -make installdest
  37. +make -f cygwin/Makefile installdest
  38.  
  39.  
  40.  #### Install the software (requires mintty.exe running as "Adminstrator"):
  41. @@ -86,6 +85,9 @@ bash ../cygwin/devel/msnfs41client.bash mount_homedir
  42.  
  43.  
  44.  ######## Testing:
  45. +** Manual testing:
  46. +See ms-nfs41-client/tests/manual_testing.txt
  47. +
  48.  ** "cthon04" test suite:
  49.  # mount a NFSv4 filesystem, and then execute this
  50.  # on this filesystem
  51. diff --git a/cygwin/cygwin_ksh93/cygwin_ksh93.readme b/cygwin/cygwin_ksh93/cygwin_ksh93.readme
  52. new file mode 100644
  53. index 0000000..d0ca429
  54. --- /dev/null
  55. +++ b/cygwin/cygwin_ksh93/cygwin_ksh93.readme
  56. @@ -0,0 +1,11 @@
  57. +#
  58. +# Cygwin ast-ksh/ksh93 README
  59. +#
  60. +
  61. +# Build sequence
  62. +cygport --64 ksh93.cygport download
  63. +cygport --64 ksh93.cygport prep
  64. +cygport --64 ksh93.cygport compile
  65. +cygport --64 ksh93.cygport install
  66. +cygport --64 ksh93.cygport package
  67. +# EOF.
  68. diff --git a/cygwin/cygwin_ksh93/ksh93.cygport b/cygwin/cygwin_ksh93/ksh93.cygport
  69. new file mode 100644
  70. index 0000000..a052035
  71. --- /dev/null
  72. +++ b/cygwin/cygwin_ksh93/ksh93.cygport
  73. @@ -0,0 +1,300 @@
  74. +#
  75. +# ksh93.cygport
  76. +#
  77. +# Copyright (C) 2024 Roland Mainz <roland.mainz@nrubsig.org>
  78. +#
  79. +# This file is free software; I give unlimited permission to copy and/or
  80. +# distribute it, with or without modifications, as long as this notice is
  81. +# preserved.
  82. +#
  83. +
  84. +NAME=astksh
  85. +LICENSE="Eclipse Public License - v 2.0"
  86. +HOMEPAGE="https://github.com/ksh93/ksh"
  87. +VERSION=1.0.8
  88. +RELEASE=0
  89. +
  90. +PKG_NAMES="astksh astksh_devel"
  91. +
  92. +astksh_SUMMARY="The AT&T Korn Shell"
  93. +astksh_DESCRIPTION="Original version of the AT&T AST Korn Shell 93."
  94. +astksh_CATEGORY="Base Shells"
  95. +astksh_CONTENTS=" \
  96. +       bin/ksh.exe \
  97. +       bin/ksh93.exe \
  98. +       bin/rksh.exe \
  99. +       bin/rksh93.exe \
  100. +       etc/ksh.kshrc \
  101. +       usr/share/doc/astksh \
  102. +       usr/share/man/man1 \
  103. +"
  104. +
  105. +astksh_devel_SUMMARY="Development files for AT&T ksh"
  106. +astksh_devel_DESCRIPTION="This package contains development tools and scripts for AT&T ksh"
  107. +astksh_devel_CATEGORY="Devel"
  108. +astksh_devel_CONTENTS="usr/share/ksh \
  109. +       bin/shcomp.exe \
  110. +"
  111. +
  112. +SRC_URI="https://github.com/ksh93/ksh/archive/refs/tags/v1.0.8.zip"
  113. +SRC_DIR='./ksh-1.0.8/'
  114. +PATCH_URI="ksh_1_0_8_libast_Cygwin_set_PATH_LEADING_SLASHES_for_UNC_paths.patch"
  115. +
  116. +BUILD_REQUIRES=" \
  117. +    bash \
  118. +    coreutils \
  119. +    bison \
  120. +    gcc-g++ \
  121. +    libiconv-devel \
  122. +    libintl-devel \
  123. +    libncurses-devel \
  124. +    make \
  125. +    sed \
  126. +    texinfo \
  127. +"
  128. +
  129. +CPPFLAGS=
  130. +CYGCONF_ARGS=
  131. +DIFF_EXCLUDES=
  132. +DOCS=
  133. +
  134. +function print_gnulinux_builtin_header
  135. +{
  136. +# Make sure to use \\ instead of \ for continuations
  137. +cat <<ENDOFTEXT
  138. +
  139. +#ifndef _GNULINUX_KSH_CMDLIST_H
  140. +#define        _GNULINUX_KSH_CMDLIST_H
  141. +
  142. +#ifdef __cplusplus
  143. +extern "C" {
  144. +#endif
  145. +
  146. +/*
  147. + * List builtins for Linux.
  148. + * The list here is partially autogenerated and partially hand-picked
  149. + * based on compatibility with the native GNU coreutils versions of
  150. + * these tools
  151. + */
  152. +
  153. +/* GNU coreutils compatible commands.
  154. + * Be careful, some are in /bin while others are in /usr/bin
  155. + */
  156. +#define        ASTCMDLIST(f) \
  157. +       { "/usr/ast/bin/"       #f,     NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },
  158. +#define        BINCMDLIST(f)   \
  159. +       { "/bin/"               #f,     NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) }, \
  160. +       { "/usr/bin/"           #f,     NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },
  161. +/* undo ast_map.h #defines to avoid collision */
  162. +#undef basename
  163. +#undef chmod
  164. +#undef chown
  165. +#undef dirname
  166. +#undef mkdir
  167. +#undef mkfifo
  168. +#undef mktemp
  169. +#undef readlink
  170. +#undef realpath
  171. +#undef rmdir
  172. +
  173. +
  174. +/* Generated data, do not edit. */
  175. +BINCMDLIST(basename)
  176. +BINCMDLIST(cksum)
  177. +BINCMDLIST(comm)
  178. +BINCMDLIST(cut)
  179. +BINCMDLIST(dirname)
  180. +BINCMDLIST(expr)
  181. +BINCMDLIST(fold)
  182. +BINCMDLIST(join)
  183. +BINCMDLIST(logname)
  184. +BINCMDLIST(mkdir)
  185. +BINCMDLIST(mkfifo)
  186. +BINCMDLIST(mktemp)
  187. +BINCMDLIST(paste)
  188. +BINCMDLIST(pathchk)
  189. +BINCMDLIST(rev)
  190. +BINCMDLIST(rmdir)
  191. +BINCMDLIST(sleep)
  192. +BINCMDLIST(sync)
  193. +BINCMDLIST(tee)
  194. +BINCMDLIST(tty)
  195. +BINCMDLIST(uniq)
  196. +BINCMDLIST(wc)
  197. +
  198. +/* Mandatory for ksh93 test suite and AST scripts */
  199. +BINCMDLIST(getconf)
  200. +
  201. +ASTCMDLIST(basename)
  202. +ASTCMDLIST(cat)
  203. +ASTCMDLIST(chgrp)
  204. +ASTCMDLIST(chmod)
  205. +ASTCMDLIST(chown)
  206. +ASTCMDLIST(cksum)
  207. +ASTCMDLIST(cmp)
  208. +ASTCMDLIST(comm)
  209. +ASTCMDLIST(cp)
  210. +ASTCMDLIST(cut)
  211. +ASTCMDLIST(date)
  212. +ASTCMDLIST(dirname)
  213. +//BINCMDLIST(egrep)
  214. +//ASTCMDLIST(egrep)
  215. +ASTCMDLIST(expr)
  216. +ASTCMDLIST(fds)
  217. +//BINCMDLIST(fgrep)
  218. +//ASTCMDLIST(fgrep)
  219. +ASTCMDLIST(fmt)
  220. +ASTCMDLIST(fold)
  221. +//BINCMDLIST(grep)
  222. +//ASTCMDLIST(grep)
  223. +ASTCMDLIST(head)
  224. +ASTCMDLIST(id)
  225. +//BINCMDLIST(iconv)
  226. +//ASTCMDLIST(iconv)
  227. +ASTCMDLIST(join)
  228. +ASTCMDLIST(ln)
  229. +ASTCMDLIST(logname)
  230. +//ASTCMDLIST(ls)
  231. +ASTCMDLIST(md5sum)
  232. +BINCMDLIST(md5sum)
  233. +ASTCMDLIST(mkdir)
  234. +ASTCMDLIST(mkfifo)
  235. +ASTCMDLIST(mktemp)
  236. +ASTCMDLIST(mv)
  237. +ASTCMDLIST(paste)
  238. +ASTCMDLIST(pathchk)
  239. +ASTCMDLIST(pids)
  240. +//BINCMDLIST(od)
  241. +//ASTCMDLIST(od)
  242. +//BINCMDLIST(readlink)
  243. +//ASTCMDLIST(readlink)
  244. +//BINCMDLIST(realpath)
  245. +//ASTCMDLIST(realpath)
  246. +ASTCMDLIST(rev)
  247. +ASTCMDLIST(rm)
  248. +ASTCMDLIST(rmdir)
  249. +ASTCMDLIST(stty)
  250. +//ASTCMDLIST(sha1sum)
  251. +//BINCMDLIST(sha1sum)
  252. +//ASTCMDLIST(sha256sum)
  253. +//BINCMDLIST(sha256sum)
  254. +//ASTCMDLIST(sha384sum)
  255. +//BINCMDLIST(sha384sum)
  256. +//ASTCMDLIST(sha512sum)
  257. +//BINCMDLIST(sha512sum)
  258. +ASTCMDLIST(sum)
  259. +ASTCMDLIST(sync)
  260. +ASTCMDLIST(tail)
  261. +ASTCMDLIST(tee)
  262. +//BINCMDLIST(tr)
  263. +//ASTCMDLIST(tr)
  264. +ASTCMDLIST(tty)
  265. +ASTCMDLIST(uname)
  266. +ASTCMDLIST(uniq)
  267. +//ASTCMDLIST(vmstate)
  268. +ASTCMDLIST(wc)
  269. +// ASTCMDLIST(xgrep)
  270. +//BINCMDLIST(xargs)
  271. +//ASTCMDLIST(xargs)
  272. +
  273. +#ifdef __cplusplus
  274. +}
  275. +#endif
  276. +
  277. +#endif /* !_GNULINUX_KSH_CMDLIST_H */
  278. +ENDOFTEXT
  279. +       return 0
  280. +}
  281. +
  282. +src_compile()
  283. +{
  284. +       cd ${S}
  285. +
  286. +       #
  287. +       # prepare build
  288. +       #
  289. +
  290. +       # translate cygport ARCH to AST hosttype
  291. +       if [[ "$ARCH" == 'i686' ]] ; then
  292. +               ast_hosttype='cygwin.i386'
  293. +       elif [[ "$ARCH" == 'x86_64' ]] ; then
  294. +               ast_hosttype='cygwin.i386-64'
  295. +       else
  296. +               false
  297. +       fi
  298. +
  299. +       gnulinux_builtin_header="${PWD}/tmp_gnulinux_builtin_header.h"
  300. +       print_gnulinux_builtin_header >"${gnulinux_builtin_header}"
  301. +
  302. +       # ksh93+AST config flags
  303. +       bast_flags="-DSHOPT_CMDLIB_BLTIN=0 -DSH_CMDLIB_DIR=\\\"/usr/ast/bin\\\" -DSHOPT_CMDLIB_HDR=\\\"${gnulinux_builtin_header}\\\" -DSHOPT_SYSRC"
  304. +
  305. +       # build debug
  306. +       #export IFFEFLAGS=-d1
  307. +
  308. +       # fix build issues with mkfifo
  309. +       sed -i -r 's/mkfifo.+?(-m [[:digit:]]+)/mkfifo /g' ./src/cmd/INIT/package.sh ./bin/package
  310. +      
  311. +      
  312. +       #      
  313. +       # build AT&T AST ksh
  314. +       #
  315. +       if [[ "$ARCH" == 'i686' ]] ; then
  316. +                    export SHELL=/bin/bash HOSTTYPE="${ast_hosttype}"; \
  317. +                       /bin/bash ./bin/package make \
  318. +                               CC="/usr/bin/gcc -m32 -std=gnu17" CCFLAGS="-Os -g ${bast_flags}" SHELL="$SHELL" HOSTTYPE="$HOSTTYPE"
  319. +       elif [[ "$ARCH" == 'x86_64' ]] ; then
  320. +               export SHELL=/bin/bash HOSTTYPE="${ast_hosttype}"; \
  321. +                       /bin/bash ./bin/package make \
  322. +                               CC="/usr/bin/gcc -m64 -std=gnu17" CCFLAGS="-Os -g ${bast_flags}" SHELL="$SHELL" HOSTTYPE="$HOSTTYPE"
  323. +       else
  324. +               # unsupported arch!
  325. +               false
  326. +       fi
  327. +
  328. +
  329. +       #
  330. +       # create ksh.kshrc
  331. +       #
  332. +       {
  333. +               printf '#\n# /etc/ksh.kshrc+~/.kshrc are sourced only for interactive shells\n#\n\n'
  334. +               printf '# default prompt\n'
  335. +               printf 'PS1=%q\n' $'\E[32m$(/usr/bin/logname)@$(/usr/bin/hostname) \E[33m${PWD/~(Sl-r)$HOME/"~"}\E[0m\n$ '
  336. +               printf '# default editor mode\n'
  337. +               printf 'set -o gmacs\n'
  338. +       } >${S}/etc_ksh_kshrc
  339. +}
  340. +
  341. +#
  342. +# install ksh, rksh, shcomp
  343. +#
  344. +src_install()
  345. +{
  346. +       if [[ "$ARCH" == 'i686' ]] ; then
  347. +               ast_hosttype='cygwin.i386'
  348. +       elif [[ "$ARCH" == 'x86_64' ]] ; then
  349. +               ast_hosttype='cygwin.i386-64'
  350. +       else
  351. +               false
  352. +       fi
  353. +
  354. +       /usr/bin/install -D -m0755 ${S}/arch/${ast_hosttype}/bin/ksh.exe ${D}/bin/ksh.exe
  355. +       ln ${D}/bin/ksh.exe ${D}/bin/rksh.exe
  356. +       ln ${D}/bin/ksh.exe ${D}/bin/ksh93.exe
  357. +       ln ${D}/bin/ksh.exe ${D}/bin/rksh93.exe
  358. +       /usr/bin/install -D -m0755 ${S}/arch/${ast_hosttype}/bin/ksh.exe ${D}/bin/shcomp.exe
  359. +       /usr/bin/install -D -m0644 ${S}/arch/${ast_hosttype}/man/man1/sh.1 ${D}/usr/share/man/man1/ksh.1
  360. +       /usr/bin/install -D -m0644 ${S}/etc_ksh_kshrc ${D}/etc/ksh.kshrc
  361. +
  362. +       for i in ${S}/src/cmd/ksh93/tests/* ; do
  363. +               /usr/bin/install -D -m0644 $i ${D}/usr/share/ksh/tests/$(basename "$i")
  364. +       done
  365. +}
  366. +
  367. +CYGWIN_MAINTAINER=Roland%20Mainz
  368. +CYGWIN_MAINTAINER_EMAIL=roland.mainz@nrubsig.org
  369. +
  370. +CYGWIN_CO_MAINTAINER=Cedric%20Blancher
  371. +CYGWIN_CO_MAINTAINER_EMAIL=cedric.blancher@gmail.com
  372. +
  373. +# EOF.
  374. diff --git a/cygwin/cygwin_ksh93/ksh_1_0_8_libast_Cygwin_set_PATH_LEADING_SLASHES_for_UNC_paths.patch b/cygwin/cygwin_ksh93/ksh_1_0_8_libast_Cygwin_set_PATH_LEADING_SLASHES_for_UNC_paths.patch
  375. new file mode 100644
  376. index 0000000..2c193c8
  377. --- /dev/null
  378. +++ b/cygwin/cygwin_ksh93/ksh_1_0_8_libast_Cygwin_set_PATH_LEADING_SLASHES_for_UNC_paths.patch
  379. @@ -0,0 +1,29 @@
  380. +diff --git a/src/lib/libast/port/astconf.c b/src/lib/libast/port/astconf.c
  381. +index b6b58027..396cd46d 100644
  382. +--- a/src/lib/libast/port/astconf.c
  383. ++++ b/src/lib/libast/port/astconf.c
  384. +@@ -1355,6 +1355,24 @@ astgetconf(const char* name, const char* path, const char* value, int flags, Err
  385. +       Lookup_t        look;
  386. +       Sfio_t*         tmp;
  387. +
  388. ++#ifdef __CYGWIN__
  389. ++      /*
  390. ++       * hack for Cygwin to make Cygwin UNC paths (with leading
  391. ++       * two slashes) work.
  392. ++       *
  393. ++       * Testcase:
  394. ++       * cd into UNC path, print "pwd -P", result must start with
  395. ++       * "//<hostname>/<path>"
  396. ++       * ---- snip ----
  397. ++       * $ bash -c 'cd "//derfw1fs10.global.loc/rfw" ; path_to_kshdir/ksh.exe -c "pwd -P ; true" ; true'
  398. ++       * //derfw1fs10.global.loc/rfw
  399. ++       * ---- snip ----
  400. ++       *
  401. ++       */
  402. ++      if (!strcmp(name, "PATH_LEADING_SLASHES")) {
  403. ++              return "1";
  404. ++      }
  405. ++#endif /* __CYGWIN__ */
  406. +       if (!name)
  407. +       {
  408. +               if (path)
  409. diff --git a/cygwin/cygwin_libnfs/buildlibnfs.ksh b/cygwin/cygwin_libnfs/buildlibnfs.ksh
  410. new file mode 100644
  411. index 0000000..5eccc66
  412. --- /dev/null
  413. +++ b/cygwin/cygwin_libnfs/buildlibnfs.ksh
  414. @@ -0,0 +1,41 @@
  415. +#!/bin/ksh93
  416. +
  417. +#
  418. +# buildlibnfs.ksh - build libnfs for Cygwin 3.6.x
  419. +#
  420. +# Written by roland.mainz@nrubsig.org
  421. +#
  422. +
  423. +set -o xtrace
  424. +set -o errexit
  425. +
  426. +#
  427. +# get sources and patch them
  428. +#
  429. +git clone https://github.com/sahlberg/libnfs.git
  430. +# fix "nfs_v4.c:436:29: error: array subscript has type 'char' [-Werror=char-subscripts]"
  431. +sed -i -E 's/if \(isdigit\(\*buf\)\) \{/if (isdigit((int)*buf)) {/' libnfs/lib/nfs_v4.c
  432. +
  433. +# workaround for ms-nfs41-client
  434. +git config --global --add safe.directory "$PWD/libnfs"
  435. +
  436. +cd libnfs
  437. +
  438. +#
  439. +# configure
  440. +#
  441. +autoupdate
  442. +ln -s /usr/share/libtool/build-aux/ltmain.sh .
  443. +autoreconf || true
  444. +automake --add-missing
  445. +autoreconf
  446. +./configure --without-libkrb5 --enable-utils
  447. +
  448. +#
  449. +# build
  450. +#
  451. +make -j8 all
  452. +
  453. +print '# done.'
  454. +
  455. +# EOF.
  456. diff --git a/tests/manual_testing.txt b/tests/manual_testing.txt
  457. index f8fc3b8..1410a88 100644
  458. --- a/tests/manual_testing.txt
  459. +++ b/tests/manual_testing.txt
  460. @@ -1,5 +1,5 @@
  461.  #
  462. -# ms-nfs41-client manual testing sequence, 2024-02-26
  463. +# ms-nfs41-client/tests/manual_testing.txt - manual testing sequence, 2024-03-24
  464.  #
  465.  # Draft version, needs to be turned into automated tests
  466.  # if possible
  467. @@ -64,6 +64,7 @@ ksh93 -c 'builtin id ; rm -f x ; touch x ; chgrp "$(id -g -n)" x && print OK'
  468.  
  469.  #
  470.  # Tests for groups
  471. +#
  472.  # (Add groups "cygwingrp1" and "cygwingrp2" to both Linux NFSv4 server
  473.  # and Windows machine, after that $ chgrp cygwingrp2 # should work)
  474.  #
  475. @@ -93,6 +94,7 @@ root@DERFWNB4966:~# usermod -a -G cygwingrp1 roland_mainz
  476.  root@DERFWNB4966:~# usermod -a -G cygwingrp2 roland_mainz
  477.  ---- snip ---
  478.  
  479. +
  480.  #
  481.  # Test for group ACLs
  482.  #
  483. @@ -145,9 +147,11 @@ git clone -b 'v1.0.8' https://github.com/ksh93/ksh.git
  484.  cd ksh
  485.  git config --global --add safe.directory "$PWD"
  486.  sed -i -r 's/mkfifo.+?(-m [[:digit:]]+)/mkfifo /g' ./src/cmd/INIT/package.sh ./bin/package
  487. +# add patch so UNC path support is enabled (e.g. "cd cd //derfwnb4966_ipv6linklocal@2049/nfs4/net_tmpfs")
  488. +patch -p1 <'../cygwin/cygwin_ksh93/ksh_1_0_8_libast_Cygwin_set_PATH_LEADING_SLASHES_for_UNC_paths.patch'
  489.  # repeat:
  490.  rm -Rf arch
  491. -time ksh93 -c 'export SHELL=/bin/bash HOSTTYPE="cygwin.i386-64"; /bin/bash ./bin/package make CC="/usr/bin/cc -std=gnu17" CCFLAGS="-Os -g" SHELL="$SHELL" HOSTTYPE="$HOSTTYPE"' 2>&1 | tee buildlog.log
  492. +time bash -c 'export SHELL=/bin/bash HOSTTYPE="cygwin.i386-64"; /bin/bash ./bin/package make CC="/usr/bin/cc -std=gnu17" CCFLAGS="-Os -g" SHELL="$SHELL" HOSTTYPE="$HOSTTYPE"' 2>&1 | tee buildlog.log
  493.  
  494.  
  495.  #
  496. @@ -166,6 +170,7 @@ printf "path_len=%d\n" "${#PWD}"
  497.  
  498.  git clone https://git.savannah.gnu.org/git/bash.git
  499.  cd bash/
  500. +git config --global --add safe.directory "$PWD"
  501.  # Cygwin: workaround for configure using cp -p where ln -s should be used
  502.  # (this is an automake/autoconf issue, they should trust Cygwin and not use
  503.  # ancient workarounds for issues which no longer exists)
  504. @@ -179,8 +184,10 @@ make clean && make -j4 all
  505.  #
  506.  # ms-nfs41-client
  507.  #
  508. +
  509.  git clone https://github.com/kofemann/ms-nfs41-client.git
  510.  cd ms-nfs41-client
  511. +git config --global --add safe.directory "$PWD"
  512.  export PATH+=":/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/"
  513.  # repeat:
  514.  # clean
  515. @@ -193,6 +200,7 @@ MSBuild.exe build.vc19/nfs41-client.sln -t:Build  -p:Configuration=Release -p:Pl
  516.  #
  517.  # gcc
  518.  #
  519. +
  520.  # * Notes:
  521.  # - The build requires that there are at least 131 characters left in
  522.  #   the path, e.g. $ echo $((260-${#PWD} > 131)) # should be "1",
  523. @@ -210,6 +218,7 @@ MSBuild.exe build.vc19/nfs41-client.sln -t:Build  -p:Configuration=Release -p:Pl
  524.  #
  525.  git clone -b 'releases/gcc-13.2.0' git://gcc.gnu.org/git/gcc.git
  526.  cd gcc/
  527. +git config --global --add safe.directory "$PWD"
  528.  # Cygwin: workaround for configure using cp -p where ln -s should be used
  529.  # (this is an automake/autoconf issue, they should trust Cygwin and not use
  530.  # ancient workarounds for issues which no longer exists)
  531. @@ -220,4 +229,24 @@ cd gcc/
  532.  make -j4 clean
  533.  (yes | make -j32 all)
  534.  
  535. +
  536. +#
  537. +# libnfs
  538. +#
  539. +
  540. +# get sources and patch them
  541. +git clone https://github.com/sahlberg/libnfs.git
  542. +# fix "nfs_v4.c:436:29: error: array subscript has type 'char' [-Werror=char-subscripts]"
  543. +sed -i -E 's/if \(isdigit\(\*buf\)\) \{/if (isdigit((int)*buf)) {/' libnfs/lib/nfs_v4.c
  544. +
  545. +cd libnfs
  546. +git config --global --add safe.directory "$PWD"
  547. +autoupdate
  548. +ln -s /usr/share/libtool/build-aux/ltmain.sh .
  549. +autoreconf || true
  550. +automake --add-missing
  551. +autoreconf
  552. +./configure --without-libkrb5 --enable-utils
  553. +make -j8 all
  554. +
  555.  # EOF.

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