[cygport - the Cygwin packaging tool] branch master, updated. 0.36.6-5-ge0867b0f

Jon Turney jturney@sourceware.org
Mon Aug 7 15:46:12 GMT 2023




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

commit e0867b0f862c8cf3e2eb4fcfdfd4e40fcdbd5cc7
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 6 21:10:35 2023 +0100

    CI: Preserve logs as a build artifact

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

commit 15bcfacd55168e61f216076cd44dfb2c2891d603
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 6 15:34:13 2023 +0100

    testsuite: Add qt4 projects hint files
    
    Also, install needed Qt4 build prerequisites (libQtCore4-devel,
    libQtGui4-devel, libQtNetwork4-devel, libQtXml4-devel and libqca-devel)
    in CI, so Qt4 projects get built.

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

commit 8d23b0a49b3eb844dbc1ee67d61eb0a92e522bbf
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 6 19:27:04 2023 +0100

    CI: stop testing bzr download
    
    bzr is no longer installable, since it requires python2, so stop
    pretending to test it.

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

commit 2c853e7b49d0a107d6e6d4d0fdd88e0914c4bed4
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 6 16:52:53 2023 +0100

    testsuite: Add unfs3 as a test for svn download
    
    This appears to be the only current package with an svn upstream!

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

commit 1cb0c4941ff0c77b3bc3904138fc7b385344d0bd
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 6 16:41:43 2023 +0100

    testsuite: Use git for python-clang bindings upstream
    
    github will sunset it's svn service at the start of 2024, so start using
    git to retrieve the upstream source.


Diff:
---
 .github/workflows/cygwin.yml                       |  15 +-
 .../dist/attica/attica-0.4.2-1-src.hint            |  10 +
 .../attica-debuginfo/attica-debuginfo-0.4.2-1.hint |   7 +
 .../libattica-devel/libattica-devel-0.4.2-1.hint   |   9 +
 .../attica/libattica0.4/libattica0.4-0.4.2-1.hint  |   9 +
 testsuite/download/svn/0.9.22-libtirpc.patch       |  50 ++++
 testsuite/download/svn/0.9.22-nobody-guest.patch   |  14 ++
 .../unfs3/unfs3-0.9.23-0.1.20151008git-src.hint    |   9 +
 .../dist/unfs3/unfs3-0.9.23-0.1.20151008git.hint   |   7 +
 .../unfs3-debuginfo-0.9.23-0.1.20151008git.hint    |   7 +
 testsuite/download/svn/unfs3.cygport               |  42 ++++
 testsuite/download/svn/unfs3.list                  |   8 +
 testsuite/download/svn/unfsd-config                | 255 +++++++++++++++++++++
 testsuite/download/svn/unfsd.init                  | 133 +++++++++++
 testsuite/download/svn/vars                        |   4 +-
 testsuite/python/meson.build                       |   1 +
 .../python-clang}/3.7.1-cygwin-ctypes.patch        |   0
 .../python-clang/python-clang-9.0.1-1-src.hint     |   0
 .../python3-clang/python3-clang-9.0.1-1.hint       |   0
 .../python38-clang/python38-clang-9.0.1-1.hint     |   0
 .../python39-clang/python39-clang-9.0.1-1.hint     |   0
 .../python-clang}/python-clang.cygport             |  16 +-
 .../svn => python/python-clang}/python-clang.list  |   0
 testsuite/python/python-clang/vars                 |   3 +
 .../libqoauth-devel/libqoauth-devel-2.0.0-1.hint   |   7 +
 .../dist/qoauth/libqoauth1/libqoauth1-2.0.0-1.hint |   7 +
 .../dist/qoauth/qoauth-2.0.0-1-src.hint            |   8 +
 .../qoauth-debuginfo/qoauth-debuginfo-2.0.0-1.hint |   7 +
 28 files changed, 620 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index ebb3c4f8..ecde59b0 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -38,12 +38,13 @@ jobs:
         R,^
         aspell,^
         automake,^
-        bzr,^
+        bison,^
         cmake,^
         cvs,^
         diffstat,^
         dos2unix,^
         extra-cmake-modules,^
+        flex,^
         flexdll,^
         fontforge,^
         gcc-g++,^
@@ -59,7 +60,11 @@ jobs:
         libKF5XmlGui-devel,^
         libQt5Core-devel,^
         libQt5Svg-devel,^
+        libQtCore4-devel,^
+        libQtGui4-devel,^
+        libQtNetwork4-devel,^
         libQtTest4-devel,^
+        libQtXml4-devel,^
         libRmath,^
         libbz2-devel,^
         libcairomm1.0-devel,^
@@ -73,6 +78,7 @@ jobs:
         libnotify-devel,^
         libpango1.0-devel,^
         libpcre2-devel,^
+        libqca-devel,^
         libqca-qt5-devel,^
         libtirpc-devel,^
         libxfce4ui1-devel,^
@@ -125,7 +131,6 @@ jobs:
         bash -c '/usr/sbin/alternatives --set python3 /usr/bin/python3.8'
         bash -c '/usr/sbin/alternatives --set python3-config /usr/bin/python3.8-config'
         bash -c 'sed -i s#/usr/bin/python\$#/usr/bin/python3.9# /usr/bin/pip3.9'
-        bash -c 'sed -i s@#!/bin/python\$@#!/bin/python2@ /usr/bin/bzr'
         bash -c 'git config --system --add safe.directory /cygdrive/d/a/cygport/cygport'
         bash -c 'git config --system --add safe.directory /cygdrive/d/a/cygport/cygport/data/gnuconfig'
       continue-on-error: true
@@ -135,3 +140,9 @@ jobs:
     - name: Test
       run: |
         bash -c 'meson test -C _build --print-errorlogs'
+    - name: Upload test logs
+      uses: actions/upload-artifact@v3
+      with:
+        name: testlogs
+        path: _build/meson-logs/*
+      if: ${{ !cancelled() }}
diff --git a/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-0.4.2-1-src.hint b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-0.4.2-1-src.hint
new file mode 100644
index 00000000..29516ad6
--- /dev/null
+++ b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-0.4.2-1-src.hint
@@ -0,0 +1,10 @@
+category: Libs
+build-depends: cygport 
+sdesc: "Qt Open Collaboration Services library"
+ldesc: "Attica is a Qt library that implements the Open Collaboration
+Services API version 1.4. It grants easy access to the services such as
+querying information about persons and contents. The library is used in
+KNewStuff3 as content provider."
+skip:
+
+homepage: http://www.kde.org/
diff --git a/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-debuginfo/attica-debuginfo-0.4.2-1.hint b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-debuginfo/attica-debuginfo-0.4.2-1.hint
new file mode 100644
index 00000000..87f968f9
--- /dev/null
+++ b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/attica-debuginfo/attica-debuginfo-0.4.2-1.hint
@@ -0,0 +1,7 @@
+category: Debug
+requires: cygwin-debuginfo
+external-source: attica
+sdesc: "Debug info for attica"
+ldesc: "This package contains files necessary for debugging the
+attica package with gdb."
+
diff --git a/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica-devel/libattica-devel-0.4.2-1.hint b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica-devel/libattica-devel-0.4.2-1.hint
new file mode 100644
index 00000000..da17778d
--- /dev/null
+++ b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica-devel/libattica-devel-0.4.2-1.hint
@@ -0,0 +1,9 @@
+category: Libs
+requires: libattica0.4 pkg-config libQtCore4-devel libQtNetwork4-devel
+sdesc: "Qt Open Collaboration Services library"
+ldesc: "Attica is a Qt library that implements the Open Collaboration
+Services API version 1.4. It grants easy access to the services such as
+querying information about persons and contents. The library is used in
+KNewStuff3 as content provider."
+external-source: attica
+
diff --git a/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica0.4/libattica0.4-0.4.2-1.hint b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica0.4/libattica0.4-0.4.2-1.hint
new file mode 100644
index 00000000..e57ba254
--- /dev/null
+++ b/testsuite/cmake/qt4/hints/attica-0.4.2-1.x86_64/dist/attica/libattica0.4/libattica0.4-0.4.2-1.hint
@@ -0,0 +1,9 @@
+category: Libs
+requires: cygwin libgcc1 libQtCore4 libQtNetwork4 libstdc++6
+sdesc: "Qt Open Collaboration Services library"
+ldesc: "Attica is a Qt library that implements the Open Collaboration
+Services API version 1.4. It grants easy access to the services such as
+querying information about persons and contents. The library is used in
+KNewStuff3 as content provider."
+external-source: attica
+
diff --git a/testsuite/download/svn/0.9.22-libtirpc.patch b/testsuite/download/svn/0.9.22-libtirpc.patch
new file mode 100644
index 00000000..ae159375
--- /dev/null
+++ b/testsuite/download/svn/0.9.22-libtirpc.patch
@@ -0,0 +1,50 @@
+--- origsrc/unfs3-0.9.22/aclocal.m4	2008-12-31 09:52:09.000000000 -0600
++++ src/unfs3-0.9.22/aclocal.m4	2016-04-14 17:29:40.915417000 -0500
+@@ -3,7 +3,6 @@ dnl
+ AC_DEFUN([UNFS3_SOLARIS_RPC],[
+   AC_CHECK_FUNC(svc_tli_create, [
+     # On Solaris, you must link with librpcsoc, or the binaries won't work. 
+-    LDFLAGS="-L=/usr/ucblib -R/usr/ucblib $LDFLAGS"
+     AC_CHECK_LIB(rpcsoc, svctcp_create, 
+         [ LIBS="-lrpcsoc $LIBS" ],
+         [ AC_MSG_WARN([*** Cannot find librpcsoc. On Solaris, install package SUNWscpu. ***]) ]
+--- origsrc/unfs3-0.9.22/daemon.c	2008-12-31 09:52:09.000000000 -0600
++++ src/unfs3-0.9.22/daemon.c	2016-04-14 17:27:13.664218500 -0500
+@@ -110,7 +110,7 @@ void logmsg(int prio, const char *fmt, .
+  */
+ struct in_addr get_remote(struct svc_req *rqstp)
+ {
+-    return (svc_getcaller(rqstp->rq_xprt))->sin_addr;
++    return ((struct sockaddr_in*)svc_getcaller(rqstp->rq_xprt))->sin_addr;
+ }
+ 
+ /*
+@@ -118,7 +118,7 @@ struct in_addr get_remote(struct svc_req
+  */
+ short get_port(struct svc_req *rqstp)
+ {
+-    return (svc_getcaller(rqstp->rq_xprt))->sin_port;
++    return ((struct sockaddr_in*)svc_getcaller(rqstp->rq_xprt))->sin_port;
+ }
+ 
+ /*
+--- origsrc/unfs3/nfs.c	2015-07-14 09:35:26.000000000 -0500
++++ src/unfs3/nfs.c	2017-06-27 02:27:06.452449300 -0500
+@@ -333,7 +333,7 @@ READ3res *nfsproc3_read_3_svc(READ3args
+ 	fd = fd_open(path, argp->file, UNFS3_FD_READ, TRUE);
+ 	if (fd != -1) {
+ 	    /* read one more to check for eof */
+-	    res = backend_pread(fd, buf, argp->count + 1, (off64_t)argp->offset);
++	    res = backend_pread(fd, buf, argp->count + 1, (off_t)argp->offset);
+ 
+ 	    /* eof if we could not read one more */
+ 	    result.READ3res_u.resok.eof = (res <= (int64) argp->count);
+@@ -394,7 +394,7 @@ WRITE3res *nfsproc3_write_3_svc(WRITE3ar
+ 	if (fd != -1) {
+ 	    res =
+ 		backend_pwrite(fd, argp->data.data_val, argp->data.data_len,
+-			       (off64_t)argp->offset);
++			       (off_t)argp->offset);
+ 
+ 	    /* close for real if not UNSTABLE write */
+ 	    if (argp->stable == UNSTABLE)
diff --git a/testsuite/download/svn/0.9.22-nobody-guest.patch b/testsuite/download/svn/0.9.22-nobody-guest.patch
new file mode 100644
index 00000000..8b6cb2e1
--- /dev/null
+++ b/testsuite/download/svn/0.9.22-nobody-guest.patch
@@ -0,0 +1,14 @@
+--- origsrc/unfs3-0.9.22/user.c	2008-02-16 13:49:50.000000000 -0600
++++ src/unfs3-0.9.22/user.c	2016-04-28 01:52:33.254893400 -0500
+@@ -44,6 +44,11 @@ void get_squash_ids(void)
+ 	if (passwd) {
+ 	    squash_uid = passwd->pw_uid;
+ 	    squash_gid = passwd->pw_gid;
++#ifdef __CYGWIN__
++	} else if ((passwd = backend_getpwnam("Guest"))) {
++	    squash_uid = passwd->pw_uid;
++	    squash_gid = passwd->pw_gid;
++#endif
+ 	} else {
+ 	    squash_uid = 65534;
+ 	    squash_gid = 65534;
diff --git a/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git-src.hint b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git-src.hint
new file mode 100644
index 00000000..2c019fca
--- /dev/null
+++ b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git-src.hint
@@ -0,0 +1,9 @@
+category: Net
+build-depends: cygport 
+sdesc: "NFSv3 server"
+ldesc: "UNFS3 is a user-space implementation of the NFSv3 server
+specification. It provides a daemon for the MOUNT and NFS protocols, which
+are used by NFS clients for accessing files on the server."
+skip:
+
+homepage: http://unfs3.sourceforge.net/
diff --git a/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git.hint b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git.hint
new file mode 100644
index 00000000..f21c0f6b
--- /dev/null
+++ b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-0.9.23-0.1.20151008git.hint
@@ -0,0 +1,7 @@
+category: Net
+requires: bash cygwin libtirpc3 rpcbind
+sdesc: "NFSv3 server"
+ldesc: "UNFS3 is a user-space implementation of the NFSv3 server
+specification. It provides a daemon for the MOUNT and NFS protocols, which
+are used by NFS clients for accessing files on the server."
+
diff --git a/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-debuginfo/unfs3-debuginfo-0.9.23-0.1.20151008git.hint b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-debuginfo/unfs3-debuginfo-0.9.23-0.1.20151008git.hint
new file mode 100644
index 00000000..4cd42377
--- /dev/null
+++ b/testsuite/download/svn/hints/unfs3-0.9.23-0.1.20151008git.x86_64/dist/unfs3/unfs3-debuginfo/unfs3-debuginfo-0.9.23-0.1.20151008git.hint
@@ -0,0 +1,7 @@
+category: Debug
+requires: cygwin-debuginfo
+external-source: unfs3
+sdesc: "Debug info for unfs3"
+ldesc: "This package contains files necessary for debugging the
+unfs3 package with gdb."
+
diff --git a/testsuite/download/svn/unfs3.cygport b/testsuite/download/svn/unfs3.cygport
new file mode 100644
index 00000000..bef6457d
--- /dev/null
+++ b/testsuite/download/svn/unfs3.cygport
@@ -0,0 +1,42 @@
+SVN_URI="svn://svn.code.sf.net/p/unfs3"
+SVN_BRANCH="code/trunk"
+inherit svn
+
+NAME="unfs3"
+VERSION=0.9.23
+RELEASE=0.1.20151008git
+CATEGORY="Net"
+SUMMARY="NFSv3 server"
+DESCRIPTION="UNFS3 is a user-space implementation of the NFSv3 server
+specification. It provides a daemon for the MOUNT and NFS protocols, which
+are used by NFS clients for accessing files on the server."
+HOMEPAGE="http://unfs3.sourceforge.net/"
+#SRC_URI="mirror://sourceforge/unfs3/unfs3-${VERSION}.tar.gz"
+SRC_URI+=" unfsd-config"
+PATCH_URI="
+	0.9.22-libtirpc.patch
+	0.9.22-nobody-guest.patch
+"
+
+REQUIRES="rpcbind"
+
+CFLAGS+=" -I/usr/include/tirpc"
+LIBS="-ltirpc"
+
+src_compile() {
+	cd ${S}
+	cygautoreconf
+	lndirs
+	cd ${B}
+	cygconf
+	cygmake
+}
+
+src_install() {
+	cd ${B}
+	cyginstall
+
+#	exeinto /etc/rc.d/init.d
+#	newexe ${S}/unfsd.init unfsd
+	dosbin ${S}/unfsd-config
+}
diff --git a/testsuite/download/svn/unfs3.list b/testsuite/download/svn/unfs3.list
new file mode 100644
index 00000000..e1ff13a2
--- /dev/null
+++ b/testsuite/download/svn/unfs3.list
@@ -0,0 +1,8 @@
+/usr/sbin/unfsd-config
+/usr/sbin/unfsd.exe
+/usr/share/doc/unfs3/CREDITS
+/usr/share/doc/unfs3/LICENSE
+/usr/share/doc/unfs3/NEWS
+/usr/share/doc/unfs3/README
+/usr/share/man/man7/tags.7.gz
+/usr/share/man/man8/unfsd.8.gz
diff --git a/testsuite/download/svn/unfsd-config b/testsuite/download/svn/unfsd-config
new file mode 100644
index 00000000..cf4fdd73
--- /dev/null
+++ b/testsuite/download/svn/unfsd-config
@@ -0,0 +1,255 @@
+#!/bin/sh
+#
+# unfsd-config
+#
+# This file is part of the Cygwin port of the Universal NFS Server
+#
+# TODO: Should ask the user how they would like to install
+# the NFS server - as Windows service, or under inetd.
+#
+# For now, assumes an NT/W2K install, and installs things
+# as services.
+
+
+# Variables
+
+README="/usr/share/doc/Cygwin/unfs3.README"
+
+NFSD_USER=
+NFSD_PASS=
+
+PMAP_D='Cygwin rpcbind'
+PMAP_F='Cygwin RPC Port Mapping service'
+NFSD_D='Cygwin unfsd'
+NFSD_F='Cygwin Network File System version 3 (NFSv3) service'
+
+
+# Functions
+
+request()
+{
+	answer=""
+	while [ "X${answer}" != "Xyes" -a "X${answer}" != "Xno" ] ; do
+		echo -n "$1 (yes/no) "
+		read answer
+	done
+	if [ "X${answer}" = "Xyes" ]; then
+		return 0
+	else
+		return 1
+	fi
+}
+
+# $1 - name
+# $2 - short description
+# $3 - full description
+# $4 - dependencies
+# $5 - executable name
+# $6 - executable argument
+install_service()
+{
+	do_install=1
+	echo ''
+	if cygrunsrv.exe --query "$1" > /dev/null 2>&1 ; then
+		echo "A service named \"$1\" already exists on this machine."
+		if request "Do you want to re-install the $1 service?" ; then
+			echo ''
+			echo "Stopping $1 service ..."
+			cygrunsrv.exe --stop "$1" > /dev/null 2>&1
+			echo "Uninstalling $1 service ..."
+			cygrunsrv.exe --remove "$1" > /dev/null 2>&1
+		else
+			do_install=0
+		fi
+	fi
+	if [ "${do_install}" = "1" ] ; then
+		echo "Installing $1 service ..."
+		DEPS=""
+		if [ "" != "$4" ]; then
+			DEPS="--dep $4"	
+		fi
+		USER=""
+		if [ "" != "${NFSD_USER}" ]; then
+			USER="${DEPS} -u ${NFSD_USER} -w ${NFSD_PASS}"
+		fi
+		cygrunsrv.exe -I "$1" -d "$2" -f "$3" ${DEPS} ${USER} -p /usr/sbin/$5 -e CYGWIN=ntsec -a "$6"
+	fi
+}
+
+
+# Start of execution
+
+cat <<-EOF
+	This script sets up a default configuration for running an NFS server under
+	Cygwin.  As part of this setup, the script will do the following:
+
+	  1) Create a user account to run the services under. [OPTIONAL]
+	  2) Install rpcbind, mountd, and nfsd as Windows services.
+	  3) Create a sample exports file.
+	  4) Create a sample uid/gid mapping file.
+
+	After installing, please read the unfsd README for Cygwin:
+
+	  ${README}
+
+	This document contains notes on installation and documents known problems
+	and workarounds with the NFS server; ex:
+
+	$(grep ISSUE ${README})
+
+EOF
+
+if request 'Do you want to continue?' ; then
+	:
+else
+	exit
+fi
+
+# Ask user if they want to run unfsd under a user account
+
+if true ; then
+
+	echo ''
+	echo -n "User name : "
+	read NFSD_USER
+	echo -n "Password  : "
+	read NFSD_PASS
+	echo ''
+
+	if editrights -u ${NFSD_USER} -l > /dev/null 2>&1 ; then
+		echo "User ${NFSD_USER} already exists"
+	else
+		echo "Creating user ${NFSD_USER} ..."
+		net user ${NFSD_USER} ${NFSD_PASS} \
+                  /fullname:"NFS server" \
+                  /homedir:"$(cygpath -w /var/empty)" \
+                  /comment:'<cygwin home="/var/empty" shell="/bin/false"/>' \
+                  /add /yes
+
+		echo "Adding ${NFSD_USER} to Administrators group ..."
+		net localgroup Administrators ${NFSD_USER} /add
+	fi
+
+	echo "Assigning required privileges to user ${NFSD_USER} ..."
+
+	editrights -u ${NFSD_USER} -a SeAssignPrimaryTokenPrivilege
+	editrights -u ${NFSD_USER} -a SeCreateTokenPrivilege
+	editrights -u ${NFSD_USER} -a SeIncreaseQuotaPrivilege
+	editrights -u ${NFSD_USER} -a SeDenyInteractiveLogonRight
+	editrights -u ${NFSD_USER} -a SeDenyRemoteInteractiveLogonRight
+	editrights -u ${NFSD_USER} -a SeServiceLogonRight
+
+	echo "Adding user ${NFSD_USER} to /etc/passwd ..."
+
+	mkpasswd -l -u ${NFSD_USER} >> /etc/passwd
+
+	echo "Ensuring user ${NFSD_USER} has write persmissions in /var/log ..."
+
+	chmod a+w /var/log
+
+fi
+
+
+# Install services
+
+install_service "rpcbind" "$PMAP_D" "$PMAP_F" ""        rpcbind    "-f"
+install_service "unfsd"   "$NFSD_D" "$NFSD_F" "rpcbind" unfsd   "-d -i /var/run/unfsd.pid"
+
+
+# Create sample /etc/exports (only if it does not already exist)
+
+EXPORTS=/etc/exports
+if [ ! -f ${EXPORTS} ]; then
+	echo ''
+	echo "Creating sample ${EXPORTS} file ..."
+	mkdir -p /etc
+	cat > ${EXPORTS} <<-EOF
+		# sample /etc/exports file
+
+		# Export the entire Cygwin filesystem to machines master and
+		# trusty. In addition to write access, all uid squashing is
+		# turned off for host trusty.
+
+		# /					master(rw) trusty(rw,no_root_squash)
+
+		# Example of wildcard hostnames.
+
+		# /projects			proj*.local.domain(rw)
+
+		# Example of wildcard netgroups (this is the entry '@trusted').
+
+		# /usr				*.local.domain(ro) @trusted(rw)
+
+		# Gives read-only access to the host grimjack.  The UID and GID
+		# for anonymous requests are explicitly set, and all requests
+		# are forced to use the anonymous UID/GID.
+
+		# /home/joe			grimjack(ro,all_squash,anonuid=501,anongid=546)
+
+		# Give read-write access to anyone, and force all requests to
+		# use the default anonymous UID/GID. The insecure option in this
+		# entry also allows clients with NFS implementations that don't
+		# use a reserved port for NFS.
+
+		# /pub				(ro,all_squash)
+
+		# Deny all NFS users access to the private directory that exists
+		# under the public directory.
+
+		# /pub/private		(noaccess)
+	EOF
+	# chmod 664 ${EXPORTS}
+	# chown 18:544 ${EXPORTS}
+fi
+
+
+# Create sample /etc/nfs/server.map (ony if it does not already exist)
+
+SERVERMAP=/etc/nfs/server.map
+if [ ! -f ${SERVERMAP} ]; then
+	echo ''
+	echo "Creating sample ${SERVERMAP} file ..."
+	mkdir -p /etc/nfs
+	cat > ${SERVERMAP} <<-EOF
+		# Sample server map for nfsd
+		#
+		# This file maps 500/500 on an NFS client to the uid/gid of the
+		# user who ran unfsd-config, and maps 0/0 on an NFS client
+		# the uid/gid of the Administrator account.
+		#
+		# Note that a server map is host-specific (which makes sense,
+		# if you think about it ...)  So you can only use a plain IP
+		# address or DNS name to specify a client that uses a map_static.
+		# directive.
+		#
+		# Examples of valid /etc/exports lines using map_static:
+		# 
+		#   /gaunt   192.168.1.42(map_static=/etc/nfs/server.map)
+		#   /chaney  twilley(map_static=/etc/nfs/server.map)
+		#
+	EOF
+	printf "uid\t500\t$(id -u)\t# user id for $(whoami)\n" >> ${SERVERMAP}
+	printf "gid\t500\t$(id -g)\t# group id for $(whoami)\n" >> ${SERVERMAP}
+	printf "uid\t0\t$(id -u Administrator)	# user id for Administrator\n" >> ${SERVERMAP}
+	printf "gid\t0\t$(id -g Administrator)	# group id for Administrator\n\n" >> ${SERVERMAP}
+fi
+
+
+# Check to see if /etc/passwd contains a 'nobody' or 'Guest' user
+
+if [ "" = "`/bin/grep nobody /etc/passwd`" ]; then
+    if [ "" = "`grep Guest /etc/passwd`" ]; then
+	cat <<-EOF
+
+	Could not find user 'Guest' in /etc/passwd
+
+	In order for mountd and nfsd to function properly, you should add the user
+	'Guest' to your /etc/passwd, for example:
+
+	  mkpasswd.exe -l -u Guest >> /etc/passwd
+
+	EOF
+    fi
+fi
+
+
diff --git a/testsuite/download/svn/unfsd.init b/testsuite/download/svn/unfsd.init
new file mode 100644
index 00000000..e0ec1a72
--- /dev/null
+++ b/testsuite/download/svn/unfsd.init
@@ -0,0 +1,133 @@
+#! /bin/bash
+#
+# unfsd   Start/Stop the userspace NFSv3 daemon
+#
+# chkconfig: 2345 90 60
+# description: unfsd is a userspace NFSv3 daemon.
+# processname: unfsd
+# config: /etc/exports
+# pidfile: /var/run/unfsd.pid
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+PREFIX=/usr
+CONFIG=/etc/exports
+PIDFILE=/var/run/unfsd.pid
+LOGFILE=/var/log/unfsd.log
+
+# Source function library.
+if [ -f /etc/init.d/functions ] ; then
+  . /etc/init.d/functions
+fi
+
+RETVAL=0
+
+# See how we were called.
+
+prog="unfsd"
+progdir="/usr/sbin"
+DAEMON="$progdir/$prog.exe"
+
+test -f $DAEMON || exit 0
+
+# Source configuration
+if [ -f /etc/sysconfig/$prog ] ; then
+    . /etc/sysconfig/$prog
+fi
+
+start() {
+        echo -n $"Starting $prog: "
+	# check if cygrunsrv process
+        cygrunsrv --start $prog
+        RETVAL=$?
+        echo
+        [ $RETVAL -eq 0 ] && touch $PIDFILE  && echo "done."
+        return $RETVAL
+}
+
+stop() {
+        echo -n $"Stopping $prog: "
+	cygrunsrv --stop $prog
+        if test -r $PIDFILE; then
+            kill `cat $PIDFILE` 2> /dev/null || echo -n " failed"
+        else
+            echo -n " no PID file"
+        fi
+	# this really needs a long time to stop.
+        RETVAL=$?
+        echo "."
+        [ $RETVAL -eq 0 ] && rm -f $PIDFILE $SOCKET && echo "done."
+        return $RETVAL
+}
+
+rhstatus() {
+        # service status
+        cygrunsrv -Q $prog
+}
+
+restart() {
+        echo -n $"Restarting $prog: "
+        $0 stop
+        sleep 1
+        $0 start
+        echo "done."
+}
+
+install() {
+        echo -n $"Installing $prog daemon: "
+	# some safety measures
+	touch $LOGFILE $PIDFILE
+	chgrp 18 $LOGFILE $PIDFILE
+	chmod g+w $LOGFILE $PIDFILE
+	#it was compiled with uid=18
+	cygrunsrv --install $prog --path $DAEMON -e CYGWIN="$CYGWIN" --dep cygserver --dep rpcbind --disp "CYGWIN Userspace NFSv3 daemon" --args "-d -i $PIDFILE"
+        echo "done."
+}
+uninstall() {
+        echo -n $"Uninstalling $prog daemon: "
+	stop
+	cygrunsrv --remove $prog
+        echo "done."
+}
+reload() {
+        echo -n $"Reloading $prog daemon configuration: "
+	echo "unsupported. $0 restart"
+	return 1
+
+	/usr/bin/kill -HUP `cat $PIDFILE`
+        RETVAL=$?
+        [ $RETVAL -eq 0 ] && echo "done."
+        RETVAL=$?
+        return $RETVAL
+}
+
+case "$1" in
+  start)
+        start
+        ;;
+  stop)
+        stop
+        ;;
+  restart)
+        restart
+        ;;
+  reload)
+        reload
+        ;;
+  install)
+        install
+        ;;
+  uninstall)
+        uninstall
+        ;;
+  status)
+        rhstatus
+        ;;
+  condrestart)
+        [ -f $PIDFILE ] && restart || :
+        ;;
+  *)
+        echo $"Usage: $0 {start|stop|status|install|uninstall|restart|condrestart}"
+        exit 1
+esac
+
+exit $?
diff --git a/testsuite/download/svn/vars b/testsuite/download/svn/vars
index ce08dcba..39961237 100644
--- a/testsuite/download/svn/vars
+++ b/testsuite/download/svn/vars
@@ -1,3 +1,3 @@
-declare -r ARCHES="noarch"
+declare -r ARCHES="all"
 declare -- CROSS_HOST=""
-declare -- INHERITED="svn python.org python-wheel autotools "
+declare -- INHERITED="svn autotools "
diff --git a/testsuite/python/meson.build b/testsuite/python/meson.build
index b30347f4..abf33b66 100644
--- a/testsuite/python/meson.build
+++ b/testsuite/python/meson.build
@@ -3,6 +3,7 @@ pip38 = find_program('pip3.8', required: false)
 
 if python3.found()
 tests += [['python/distutils']]
+tests += [['python/python-clang', 480]]
 endif
 
 if pip37.found() and pip38.found()
diff --git a/testsuite/download/svn/3.7.1-cygwin-ctypes.patch b/testsuite/python/python-clang/3.7.1-cygwin-ctypes.patch
similarity index 100%
rename from testsuite/download/svn/3.7.1-cygwin-ctypes.patch
rename to testsuite/python/python-clang/3.7.1-cygwin-ctypes.patch
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python-clang-9.0.1-1-src.hint b/testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python-clang-9.0.1-1-src.hint
similarity index 100%
rename from testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python-clang-9.0.1-1-src.hint
rename to testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python-clang-9.0.1-1-src.hint
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint b/testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
similarity index 100%
rename from testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
rename to testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python38-clang/python38-clang-9.0.1-1.hint b/testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python38-clang/python38-clang-9.0.1-1.hint
similarity index 100%
rename from testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python38-clang/python38-clang-9.0.1-1.hint
rename to testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python38-clang/python38-clang-9.0.1-1.hint
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python39-clang/python39-clang-9.0.1-1.hint b/testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python39-clang/python39-clang-9.0.1-1.hint
similarity index 100%
rename from testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python39-clang/python39-clang-9.0.1-1.hint
rename to testsuite/python/python-clang/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python39-clang/python39-clang-9.0.1-1.hint
diff --git a/testsuite/download/svn/python-clang.cygport b/testsuite/python/python-clang/python-clang.cygport
similarity index 79%
rename from testsuite/download/svn/python-clang.cygport
rename to testsuite/python/python-clang/python-clang.cygport
index 612d94ec..7379bcd6 100644
--- a/testsuite/download/svn/python-clang.cygport
+++ b/testsuite/python/python-clang/python-clang.cygport
@@ -1,8 +1,7 @@
-SVN_URI="https://github.com/llvm/llvm-project"
-SVN_BRANCH="tags/llvmorg-${PV}/clang/bindings/python"
-SVN_MODULE="python-clang"
+GIT_URI="https://github.com/llvm/llvm-project"
+GIT_TAG="llvmorg-${PV}"
 PYTHON_WHEEL_VERSIONS="default"
-inherit python-wheel svn
+inherit python-wheel git
 
 NAME="python-clang"
 VERSION=9.0.1
@@ -23,6 +22,15 @@ python38_clang_REQUIRES="libclang${VERSION%%.*}" # ctypes
 python39_clang_REQUIRES="libclang${VERSION%%.*}" # ctypes
 
 CYGPORT_USE_UNSTABLE_API=1
+
+# extract just the clang/bindings/python/ subdir from the archive
+src_unpack_hook() {
+	mkdir tmp
+	mv * tmp
+	mv tmp/clang/bindings/python/* .
+	rm -r tmp
+}
+
 src_patch_hook() {
 	sed -i -e "s|\@CLANG_LIB_VERSION\@|${VERSION%%.*}|" clang/cindex.py
 	cat > setup.py <<_EOF
diff --git a/testsuite/download/svn/python-clang.list b/testsuite/python/python-clang/python-clang.list
similarity index 100%
rename from testsuite/download/svn/python-clang.list
rename to testsuite/python/python-clang/python-clang.list
diff --git a/testsuite/python/python-clang/vars b/testsuite/python/python-clang/vars
new file mode 100644
index 00000000..fecdae91
--- /dev/null
+++ b/testsuite/python/python-clang/vars
@@ -0,0 +1,3 @@
+declare -r ARCHES="noarch"
+declare -- CROSS_HOST=""
+declare -- INHERITED="git python.org python-wheel autotools "
diff --git a/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth-devel/libqoauth-devel-2.0.0-1.hint b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth-devel/libqoauth-devel-2.0.0-1.hint
new file mode 100644
index 00000000..92220752
--- /dev/null
+++ b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth-devel/libqoauth-devel-2.0.0-1.hint
@@ -0,0 +1,7 @@
+category: Libs
+requires: libqca-devel libqoauth1 libQtCore4-devel libQtNetwork4-devel pkg-config
+sdesc: "Qt4 OAuth library"
+ldesc: "QOAuth is an attempt to support interaction with OAuth-powered
+network services in a Qt way, i.e. simply, clearly and efficiently."
+external-source: qoauth
+
diff --git a/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth1/libqoauth1-2.0.0-1.hint b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth1/libqoauth1-2.0.0-1.hint
new file mode 100644
index 00000000..9a0c52b6
--- /dev/null
+++ b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/libqoauth1/libqoauth1-2.0.0-1.hint
@@ -0,0 +1,7 @@
+category: Libs
+requires: cygwin libgcc1 libqca2 libQtCore4 libQtNetwork4 libstdc++6
+sdesc: "Qt4 OAuth library"
+ldesc: "QOAuth is an attempt to support interaction with OAuth-powered
+network services in a Qt way, i.e. simply, clearly and efficiently."
+external-source: qoauth
+
diff --git a/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-2.0.0-1-src.hint b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-2.0.0-1-src.hint
new file mode 100644
index 00000000..522f6314
--- /dev/null
+++ b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-2.0.0-1-src.hint
@@ -0,0 +1,8 @@
+category: Libs
+build-depends: cygport 
+sdesc: "Qt4 OAuth library"
+ldesc: "QOAuth is an attempt to support interaction with OAuth-powered
+network services in a Qt way, i.e. simply, clearly and efficiently."
+skip:
+
+homepage: http://github.com/ayoy/qoauth
diff --git a/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-debuginfo/qoauth-debuginfo-2.0.0-1.hint b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-debuginfo/qoauth-debuginfo-2.0.0-1.hint
new file mode 100644
index 00000000..98480a4c
--- /dev/null
+++ b/testsuite/qmake/qt4/hints/qoauth-2.0.0-1.x86_64/dist/qoauth/qoauth-debuginfo/qoauth-debuginfo-2.0.0-1.hint
@@ -0,0 +1,7 @@
+category: Debug
+requires: cygwin-debuginfo
+external-source: qoauth
+sdesc: "Debug info for qoauth"
+ldesc: "This package contains files necessary for debugging the
+qoauth package with gdb."
+



More information about the Cygwin-apps-cvs mailing list