From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id 986CE385840B; Mon, 7 Aug 2023 15:46:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 986CE385840B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1691423172; bh=+wEzK8j8UtAMWfSH70RgQRC45cGc8C+jWdKEqNleQfo=; h=To:Subject:Date:From:From; b=tNGKTWy4Sm6qvn2qn1qtuUu1s6zi71tpYXQ1O3RFeeLDg9yNWlynqsn/C10qOWMPi abVYEgJY+nju9DcNMOVejnwucYPGD2v+h3XLgoTgMY9Vb3NwvhsZEDShg3dIAtjEYt JmToupbnbckqvABbFdzc7fcbd9xWonrJV5O04ZeM= To: cygwin-apps-cvs@sourceware.org Subject: [cygport - the Cygwin packaging tool] branch master, updated. 0.36.6-5-ge0867b0f X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 3589bf83ec14ce30f41fa6df96ae7f449499aa4f X-Git-Newrev: e0867b0f862c8cf3e2eb4fcfdfd4e40fcdbd5cc7 Message-Id: <20230807154612.986CE385840B@sourceware.org> Date: Mon, 7 Aug 2023 15:46:12 +0000 (GMT) From: Jon Turney List-Id: https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=e0867b0f862c8cf3e2eb4fcfdfd4e40fcdbd5cc7 commit e0867b0f862c8cf3e2eb4fcfdfd4e40fcdbd5cc7 Author: Jon Turney 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 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 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 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 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:'' \ + /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." +