public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* Fix for php
@ 2020-07-21 21:24 Ken Brown
  2020-08-04 14:08 ` Ken Brown
  0 siblings, 1 reply; 3+ messages in thread
From: Ken Brown @ 2020-07-21 21:24 UTC (permalink / raw)
  To: cygwin-apps; +Cc: km2z7kca0oge

[-- Attachment #1: Type: text/plain, Size: 864 bytes --]

This is a follow-up to

   https://sourceware.org/pipermail/cygwin/2020-July/245623.html

As I explained there, a patch applied to the Cygwin build causes php to often 
call mmap with MAP_FIXED, and some of these calls fail.  Removing the relevant 
hunk of the patch fixes the reported problem, and I don't see any reason why 
that hunk should be needed.

Obviously Yaakov had a reason for applying that hunk, and I'm guessing (hoping) 
that the reason is no longer applicable.

Ideally, someone should ITA php and deal with this.  That person will not be me. 
  I don't use php and I know nothing about it.  If no one steps forward, I would 
be willing to do a one-time non-maintainer upload.

I'm attaching the revised patch and a revised cygport file.  (It's Yaakov's 
cygport file, modified to account for the patch change, with a BUILD_REQUIRES 
added.)

Ken

[-- Attachment #2: php.cygport --]
[-- Type: text/plain, Size: 14604 bytes --]

inherit httpd

NAME="php"
VERSION=7.3.7
RELEASE=2
CATEGORY="PHP"
SUMMARY="PHP Hypertext Preprocessor"
DESCRIPTION="PHP (recursive acronym for 'PHP: Hypertext Preprocessor')
is a widely-used Open Source general-purpose scripting language that is
especially suited for Web development and can be embedded into HTML."
HOMEPAGE="http://www.php.net/"
SRC_URI="http://www.php.net/distributions/php-${VERSION}.tar.xz"
SRC_URI+=" template-builtin.reg template-ext.reg php-fpm.init"
PATCH_URI="
	fedora/php-7.2.0-includedir.patch
	fedora/php-5.3.0-recode.patch
	fedora/php-7.2.0-libdb.patch
	fedora/php-7.3.3-systzdata-v18.patch
	fedora/php-7.2.3-ldap_r.patch
	fedora/php-7.3.0-phpize.patch
	fedora/php-5.6.3-phpinfo.patch
	fedora/php-5.6.3-datetests.patch
	fedora/php-7.2.4-fixheader.patch
	7.0.13-cygwin-build.patch
	7.2.4-curl-ssl.patch
	5.3.4-dba-gdbm_compat.patch
	5.4.10-imap-cygwin.patch
	7.2.5-intl-libstdc.patch
	7.2.5-intl-icu61.patch
	7.2.5-mbstring-onig.patch
	5.3.4-pspell-libpspell.patch
	5.3.10-sybase-cygwin.patch
	7.3.3-posix-ttyname_r.patch
	7.3.3-configure-implicit-decls.patch
	5.4.20-libmbfl-implicit-decls.patch
	5.6.6-fix-libtoolize.patch
	5.6.9-apache2handler-zts.patch
	7.0.17-pcre-jit-off.patch
	7.3.7-malloc-cygwin.patch
	7.2.4-zip-pcre.patch
"

# From https://sourceware.org/pipermail/cygwin/2017-May/232903.html,
# with some additions/corrections.
BUILD_REQUIRES=" \
httpd-devel \
libGL-devel \
libLASi-devel \
libapr1-devel \
libaprutil1-devel \
libargon2-devel \
libaspell-devel \
libattr-devel \
libc-client-devel \
libcroco0.6-devel \
libcurl-devel \
libedit-devel \
libenchant-devel \
libfam-devel \
libffi-devel \
libgd-devel \
libgdbm-devel \
libgnutls-devel \
libgs-devel \
libgtk2.0-devel \
libgts-devel \
libguile1.8-devel \
libguile2.0-devel \
libgvc-devel \
libhunspell-devel \
libicu-devel \
libidn2-devel \
libisl-devel \
libjasper-devel \
libkrb5-devel \
liblcms-devel \
liblmdb-devel \
libllvm-devel \
liblzo2-devel \
libmcrypt-devel \
libming-devel \
libmpc-devel \
libmpfr-devel \
libnghttp2-devel \
libnss-devel \
libonig-devel \
libopenjp2-devel \
libopenjpeg-devel \
libpcre2-devel \
libpng12-devel \
libpoppler-devel \
libpq-devel \
libpsl-devel \
libreadline-devel \
librsvg2-devel \
libsigsegv-devel \
libsodium-devel \
libsqlite3-devel \
libssh2-devel \
libsybdb-devel \
libthai-devel \
libtidy-devel \
libtxc_dxtn-devel \
libunistring-devel \
libvoikko-devel \
libwebp-devel \
libxslt-devel \
libzip-devel \
recode \
"

DIFF_EXCLUDES="aclocal.m4 configure generated_lists libtool.m4 lt*.m4 ltmain.sh php_config.h.in php_version.h tests zend_ini_parser.*"

# EXTENSIONS:
#
# The following modules are deps for others, and hence MUST be builtin:
# date: intl
# dom: xmlreader
# filter, hash, spl: (mandatory built-in)
# hash: phar, session
# libxml: dom, simplexml, soap, xml, xmlreader, xsl
# mysqlnd: mysqli, pdo_mysql (if configured to use mysqlnd)
# openssl: phar
# pcre: filter, opcache, spl, zip
# pdo: pdo_*
# readline: phpdbg
# session: hash, soap, wddx, memcache (PECL)
# xml: xmlrpc

# location of php.ini files
inidir=/etc/php.d

# required for all configure runs
common_args="
  --cache-file=../config.cache
  --libdir=/usr/lib/php
  --datadir=/usr/share/php

  --disable-static
  --disable-rpath
  --with-config-file-path=/etc
  --with-config-file-scan-dir=${inidir}
  --with-layout=GNU
  --with-system-tzdata

  --enable-dom=yes
  --enable-filter=yes
  --enable-hash=yes
  --with-mhash
  --enable-libxml=yes
  --with-openssl=yes
  --with-system-ciphers
  --enable-pdo=yes
  --with-readline=no
  --with-libedit=yes
  --enable-session=yes
  --enable-xml=yes
  --with-password-argon2=/usr
  --with-libxml-dir=/usr
  --with-openssl-dir=/usr
  --with-pcre-dir=/usr
  --with-pcre-regex=/usr

  ac_cv_func_ttyname_r_works=yes
"

cli_args="
  --without-pear

  --enable-bcmath=shared
  --with-bz2=shared,/usr
  --enable-calendar=shared
  --enable-ctype=shared
  --with-curl=shared,/usr
  --enable-dba=shared
  --with-gdbm=/usr
  --with-ndbm=/usr
  --with-db4=/usr
  --with-dbm=/usr
  --with-lmdb=/usr
  --with-cdb
  --enable-inifile
  --enable-flatfile
  --with-enchant=shared,/usr
  --enable-exif=shared
  --enable-fileinfo=shared
  --enable-ftp=shared
  --with-gd=shared,/usr
  --with-webp-dir=/usr
  --with-jpeg-dir=/usr
  --with-png-dir=/usr
  --with-zlib-dir=/usr
  --with-xpm-dir=/usr
  --with-freetype-dir=/usr
  --with-gettext=shared
  --with-gmp=shared,/usr
  --with-iconv=shared,/usr
  --with-imap=shared,/usr
  --with-kerberos=yes
  --with-imap-ssl=yes
  --with-interbase=no
  --enable-json=shared
  --with-ldap=shared,/usr
  --with-ldap-sasl=/usr
  --enable-intl=shared
  --with-icu-dir=/usr
  --enable-mbstring=shared
  --with-onig=/usr
  --enable-mbregex=yes
  --enable-mbregex_backtrack=yes
  --with-mysql-sock=/var/run/mysql.sock
  --with-mysqli=shared,mysqlnd
  --enable-embedded_mysqli=no
  --with-oci8=no
  --with-adabas=no
  --with-sapdb=no
  --with-solid=no
  --with-ibm-db2=no
  --with-ODBCRouter=no
  --with-empress=no
  --with-empress-bcs=no
  --with-birdstep=no
  --with-custom-odbc=no
  --with-iodbc=shared,/usr
  --with-esoob=no
  --with-unixODBC=no
  --with-dbmaker=no
  --enable-opcache=shared
  --enable-pcntl=no
  --with-pdo-dblib=shared,/usr
  --with-pdo-firebird=no
  --with-pdo-mysql=shared,mysqlnd
  --with-pdo-oci=no
  --with-pdo-odbc=shared,iodbc,/usr
  --with-pdo-pgsql=shared,/usr
  --with-pdo-sqlite=shared,/usr
  --with-pgsql=shared,/usr
  --enable-phar=shared
  --enable-posix=shared
  --with-pspell=shared,/usr
  --with-recode=shared,/usr
  --with-mm=no
  --enable-shmop=shared
  --enable-simplexml=shared
  --with-snmp=no
  --enable-soap=shared
  --with-sodium=shared,/usr
  --with-sqlite3=shared,/usr
  --enable-sockets=shared
  --enable-sysvmsg=shared
  --enable-sysvsem=shared
  --enable-sysvshm=shared
  --with-tidy=shared,/usr
  --enable-tokenizer=shared
  --enable-wddx=shared
  --enable-xmlreader=shared
  --with-xmlrpc=shared
  --with-iconv-dir=/usr
  --enable-xmlwriter=shared
  --with-xsl=shared,/usr
  --enable-zip=shared
  --with-libzip=/usr
  --with-zlib=shared
"

# packaging
#
PKG_NAMES="${NAME} ${NAME}-devel httpd-mod_php${VERSION%%.*}"
php_CATEGORY="Interpreters PHP"
# previously shared extensions moved into core, or obsolete
php_OBSOLETES="php-mcrypt php-readline php-session"
php_CONTENTS="
	--exclude=${inidir#/}/*.ini
	etc/defaults${HTTPD_SYSCONFDIR}/php7.conf
	etc/defaults/etc/php*
	${inidir#/}
	etc/p*/php.sh
	etc/rc.d/init.d/php-fpm
	usr/bin/cygphp7-*.dll
	usr/bin/php.exe
	usr/bin/php-cgi.exe
	usr/bin/phpdbg.exe
	usr/sbin/php-fpm.exe
	usr/share/doc/php/
	usr/share/man/man1/php.1*
	usr/share/man/man1/php-cgi.1*
	usr/share/man/man1/phpdbg.1*
	usr/share/man/man8/php-fpm.8*
	usr/share/php/
	usr/share/doc/pear/filter/CREDITS
	usr/share/doc/pear/hash/CREDITS
	usr/share/doc/pear/pdo/CREDITS
	usr/share/doc/pear/readline/CREDITS
	usr/share/doc/pear/session/CREDITS
	var/lib/pear/.registry/.channel.*/filter.reg
	var/lib/pear/.registry/.channel.*/hash.reg
	var/lib/pear/.registry/.channel.*/pdo.reg
	var/lib/pear/.registry/.channel.*/readline.reg
	var/lib/pear/.registry/.channel.*/session.reg
	var/lib/rebase/dynpath.d/php
"
php_devel_CATEGORY=${php_CATEGORY}
php_devel_REQUIRES="autoconf gcc-core make"
php_devel_CONTENTS="
	usr/bin/php-config
	usr/bin/phpize
	usr/include/php/
	usr/lib/libphp7.dll.a
	usr/lib/php/build/
	usr/share/man/man1/php-config.*
	usr/share/man/man1/phpize.*
"
httpd_mod_php7_OBSOLETES="httpd-mod_php5"
httpd_mod_php7_CONTENTS="${HTTPD_SYSCONFMODULESDIR#/} ${HTTPD_LIBEXECDIR#/}"
httpd_mod_php7_SUMMARY="Embedded PHP for Apache HTTP Server"

# This method provides 50+ modules, so better automate this:
for ext in $(echo ${cli_args} | sed -e 's# #\n#g' | grep shared \
             | sed -e 's#^--[a-z]*-##g' -e 's#=.*##g' -e 's#-#_#g' -e 's#[a-z]*odbc#odbc#')
do
	PKG_NAMES+=" php-${ext}"
	declare php_${ext}_CONTENTS="${inidir#/}/${ext}.ini
				     usr/lib/php/*/${ext}.dll
				     usr/share/doc/pear/${ext}/
				     var/lib/pear/.registry/.channel.*/${ext}.reg"
	declare php_${ext}_SUMMARY="PHP ${ext} extension"
done
unset ext
php_phar_CONTENTS+=" usr/bin/phar* usr/share/man/man1/phar*"
# obsoleted by php7
php_debuginfo_OBSOLETES="php-jsonc-debuginfo"
php_json_OBSOLETES="php-jsonc"
php_mysqli_OBSOLETES="php-mysql"
php_pdo_dblib_OBSOLETES="php-mssql php-sybase_ct"

src_compile() {
	cd ${S}

	#
	# autotoolize
	#
	rm -f build/libtool.m4
	libtoolize --copy --force || error "libtoolize failed"
	cat /usr/share/aclocal/libtool.m4 /usr/share/aclocal/lt{options,sugar,version,~obsolete}.m4 > build/libtool.m4

	cygmake -j1 -B -f build/build.mk ZENDDIR="Zend"
	# these are shipped and used by phpize
	gnuconfigize .

	# Hack to work around configure adding to hard-coded include_path
	# only when bundled PEAR is enabled (we package it separately)
	export PEAR_INSTALLDIR=/usr/share/pear

	#
	# build runtime and executable SAPIs (CLI, CGI, FPM)
	#
	mkdir -p ${B}/embed
	cd ${B}/embed
	CYGCONF_SOURCE="${S}" cygconf ${common_args} ${cli_args} \
		--enable-cgi --enable-cli \
		--enable-fpm --with-fpm-acl \
		--enable-embed --enable-phpdbg

	sed -e '/^LTCFLAGS=/d' -i libtool
	sed -e 's/ -lphp7 / libphp7.la /g' -i Makefile

	# first make the common sources library
	# enabling zip with system libzip somehow clobbers -lpcre
	cygmake libphp${VERSION%%.*}.la \
		EXTRA_LDFLAGS="-release ${VERSION%.*} -avoid-version -module -no-undefined -lpcre2-8"

	sed -e 's#link=yes#link=no#' -i libphp${VERSION%%.*}.la

	# then make everything else
	# c-client is static only so we need to circumvent libtool to link
	cygmake -j1 \
		IMAP_SHARED_LIBADD='-Wl,-lc-client,-lssl,-lcrypto,-lgssapi_krb5,-lkrb5' \
		PHP_GLOBAL_OBJS='' \
		ZEND_EXTRA_LIBS="${B}/embed/libphp${VERSION%%.*}.la"


	#
	# Apache2 mod_php7 SAPI
	#
	mkdir -p ${B}/apache2
	cd ${B}/apache2

	CYGCONF_SOURCE="${S}" cygconf \
		--disable-all --disable-cli --with-apxs2=${HTTPD_APXS} ${common_args}

	# the -a flag adds the module to httpd.conf
	sed -e 's#-prefer-non-pic -static##g' \
		-e 's#-prefer-pic##g' \
		-e 's#-i -a -n#-i -n#g' \
		-i Makefile

	# HTTPD expects mods to have .so suffix on all platforms
	cygmake libphp${VERSION%%.*}.la \
		PHP_GLOBAL_OBJS='' \
		ZEND_EXTRA_LIBS="${B}/embed/libphp${VERSION%%.*}.la"
}

src_test() {
	export PATH="${B}/embed/.libs:$PATH"

	cd ${B}/embed
	cygmake -j1 test
}

src_install() {
	local n sapi x xdir

	# install the Apache SAPI
	cd ${B}/apache2
	cygmake -j1 install-sapi INSTALL_ROOT=${D} PHP_GLOBAL_OBJS=''

	# install the other SAPIs, build environment, and everything else
	cd ${B}/embed
	cygmake -j1 install INSTALL_ROOT=${D} INSTALL_IT=
	# install the shared lib (normally done by INSTALL_IT)
	dobin libs/cygphp7-*.dll
	dolib libs/libphp7.dll.a

	# install the real executables, not the libtool stubs
	cd ${B}
	dobin embed/sapi/[cp]*/*.exe
	dosbin embed/sapi/fpm/php-fpm.exe

	# sanitize php-config
	sed -e "s#^libs=.*#libs=\"-lphp${VERSION%%.*}\"#" \
		-e 's#^php_sapis=.*#php_sapis="cli cgi embed fpm apache2handler"#' \
		-i ${D}/usr/bin/php-config

	# provide default php.ini
	insinto /etc
	newins ${S}/php.ini-production php.ini
	make_etc_defaults /etc/php.ini

	mv ${D}/etc/php-fpm.conf{.default,}
	mv ${D}/etc/php-fpm.d/www.conf{.default,}
	make_etc_defaults /etc/php-fpm.{conf,d}

	exeinto /etc/rc.d/init.d
	newexe ${S}/php-fpm.init php-fpm

	# add .ini files for each extension, so that it's loaded once installed
	local date=$(date +%F)
	local time=$(date +%T)
	local timestamp=$(date +%s)
	local regdir=/var/lib/pear/.registry/.channel.pecl.php.net
	local xdir=$(${D}/usr/bin/php-config --extension-dir)
	local dll ext docdir path_len summary_len p

	keepdir ${inidir}
	dodir ${regdir}

	for x in ${D}${xdir}/*.dll
	do
		dll=${x##*/}
		ext=${dll%.dll}
		docdir=/usr/share/doc/pear/${ext}
		doc_len=$((${#docdir} + 8))	# /CREDITS
		path_len=$((${#xdir} + ${#dll} + 1))
		summary_len=$((${#ext} + 14))	# PHP ___ extension

		# create .ini file for automatic extension loading
		if $(${OBJDUMP} -p ${x} | grep -q zend_startup_module)
		then
			echo "zend_extension = ${xdir}/${dll}" >> ${D}${inidir}/${ext}.ini
		else
			echo "extension = ${dll}" >> ${D}${inidir}/${ext}.ini
		fi

		# register extension with pecl to prevent accidental
		# installation of obsolete versions
		insinto ${docdir}
		touch ${S}/ext/${ext}/CREDITS
		doins ${S}/ext/${ext}/CREDITS

		sed -e "s,@DATE@,${date},g;
			s,@DOCDIR@,${docdir},g;
			s,@DOC_LEN@,${doc_len},g;
			s,@DLL@,${dll},g;
			s,@DLL_LEN@,${#dll},g;
			s,@EXT@,${ext},g;
			s,@EXT_LEN@,${#ext},g;
			s,@PATH@,${xdir}/${dll},g;
			s,@PATH_LEN@,${path_len},g;
			s,@SUMMARY_LEN@,${summary_len},g;
			s,@TIME@,${time},g;
			s,@VERSION@,${VERSION},g;
			s,@VERSION_LEN@,${#VERSION},g;
			s,@TIMESTAMP@,${timestamp}," \
			${S}/template-ext.reg > ${D}${regdir}/${ext}.reg
	done

	# builtin extensions
	# when adding, be sure to update php_CONTENTS
	for ext in filter hash pdo readline session
	do
		docdir=/usr/share/doc/pear/${ext}
		doc_len=$((${#docdir} + 8))	# /CREDITS
		summary_len=$((${#ext} + 22))	# PHP ___ builtin extension

		# register extension with pecl to prevent accidental
		# installation of obsolete versions
		insinto ${docdir}
		doins ${S}/ext/${ext}/CREDITS

		sed -e "s,@DATE@,${date},g;
			s,@DOCDIR@,${docdir},g;
			s,@DOC_LEN@,${doc_len},g;
			s,@EXT@,${ext},g;
			s,@EXT_LEN@,${#ext},g;
			s,@SUMMARY_LEN@,${summary_len},g;
			s,@TIME@,${time},g;
			s,@VERSION@,${VERSION},g;
			s,@VERSION_LEN@,${#VERSION},g;
			s,@TIMESTAMP@,${timestamp}," \
			${S}/template-builtin.reg > ${D}${regdir}/${ext}.reg
	done

	dodir ${HTTPD_SYSCONFMODULESDIR}
	cat > ${D}${HTTPD_SYSCONFMODULESDIR}/mod_php7.conf <<_EOF
# mod_php7 is not thread-safe
<IfModule prefork.c>
  LoadModule php7_module modules/libphp7.so
</IfModule>
_EOF

	# Add httpd.conf snippet
	dodir ${HTTPD_SYSCONFDIR}
	cat > ${D}${HTTPD_SYSCONFDIR}/php7.conf <<_EOF
AddType text/html .php
DirectoryIndex index.php

<IfModule mod_php7.c>
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch \.phps$>
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

# if using a thread-safe MPM, or mod_php7 is not installed, use php-fpm instead
# requires: mod_proxy, mod_proxy_fcgi
<IfModule !mod_php7.c>
    <FilesMatch \.php$>
        # value depends on /etc/php-fpm.conf:listen=; this is the default
        SetHandler "proxy:fcgi://localhost:9000"
    </FilesMatch>
</IfModule>
_EOF
	make_etc_defaults ${HTTPD_SYSCONFDIR}/php7.conf

	dodir /var/lib/rebase/dynpath.d
	echo $(${D}/usr/bin/php-config --extension-dir) > ${D}/var/lib/rebase/dynpath.d/php
}

[-- Attachment #3: 7.3.7-malloc-cygwin.patch --]
[-- Type: text/plain, Size: 1026 bytes --]

https://cygwin.com/ml/cygwin/2017-05/msg00350.html

--- origsrc/php-7.1.13/Zend/zend_stream.c	2018-01-02 20:32:22.000000000 -0600
+++ src/php-7.1.13/Zend/zend_stream.c	2018-01-09 01:42:30.871472500 -0600
@@ -29,7 +29,9 @@
 #if HAVE_MMAP
 # if HAVE_UNISTD_H
 #  include <unistd.h>
-#  if defined(_SC_PAGESIZE)
+#  if defined(__CYGWIN__)
+#    define REAL_PAGE_SIZE 4096
+#  elif defined(_SC_PAGESIZE)
 #    define REAL_PAGE_SIZE sysconf(_SC_PAGESIZE);
 #  elif defined(_SC_PAGE_SIZE)
 #    define REAL_PAGE_SIZE sysconf(_SC_PAGE_SIZE);
--- origsrc/php-7.1.13/main/main.c	2018-01-02 20:32:22.000000000 -0600
+++ src/php-7.1.13/main/main.c	2018-01-09 01:42:57.670125500 -0600
@@ -97,7 +97,9 @@
 #if HAVE_MMAP || defined(PHP_WIN32)
 # if HAVE_UNISTD_H
 #  include <unistd.h>
-#  if defined(_SC_PAGESIZE)
+#  if defined(__CYGWIN__)
+#    define REAL_PAGE_SIZE 4096
+#  elif defined(_SC_PAGESIZE)
 #    define REAL_PAGE_SIZE sysconf(_SC_PAGESIZE);
 #  elif defined(_SC_PAGE_SIZE)
 #    define REAL_PAGE_SIZE sysconf(_SC_PAGE_SIZE);

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

* Re: Fix for php
  2020-07-21 21:24 Fix for php Ken Brown
@ 2020-08-04 14:08 ` Ken Brown
  2020-08-04 15:07   ` Jon Turney
  0 siblings, 1 reply; 3+ messages in thread
From: Ken Brown @ 2020-08-04 14:08 UTC (permalink / raw)
  To: cygwin-apps

On 7/21/2020 5:24 PM, Ken Brown via Cygwin-apps wrote:
> This is a follow-up to
> 
>    https://sourceware.org/pipermail/cygwin/2020-July/245623.html
> 
> As I explained there, a patch applied to the Cygwin build causes php to often 
> call mmap with MAP_FIXED, and some of these calls fail.  Removing the relevant 
> hunk of the patch fixes the reported problem, and I don't see any reason why 
> that hunk should be needed.
> 
> Obviously Yaakov had a reason for applying that hunk, and I'm guessing (hoping) 
> that the reason is no longer applicable.
> 
> Ideally, someone should ITA php and deal with this.  That person will not be me. 
>   I don't use php and I know nothing about it.  If no one steps forward, I would 
> be willing to do a one-time non-maintainer upload.

No one has stepped forward, and Yaakov hasn't responded to say why he needed the 
problematic portion of the patch.  In view of the recent post on the cygwin list

   https://sourceware.org/pipermail/cygwin/2020-August/245752.html

I think I should probably go ahead with an NMU.  Any opinions?  Jon, are you now 
the de facto packaging czar who can authorize this?

Ken

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

* Re: Fix for php
  2020-08-04 14:08 ` Ken Brown
@ 2020-08-04 15:07   ` Jon Turney
  0 siblings, 0 replies; 3+ messages in thread
From: Jon Turney @ 2020-08-04 15:07 UTC (permalink / raw)
  To: cygwin-apps

On 04/08/2020 15:08, Ken Brown via Cygwin-apps wrote:
> On 7/21/2020 5:24 PM, Ken Brown via Cygwin-apps wrote:
>> This is a follow-up to
>>
>>    https://sourceware.org/pipermail/cygwin/2020-July/245623.html
>>
>> As I explained there, a patch applied to the Cygwin build causes php 
>> to often call mmap with MAP_FIXED, and some of these calls fail.  
>> Removing the relevant hunk of the patch fixes the reported problem, 
>> and I don't see any reason why that hunk should be needed.
>>
>> Obviously Yaakov had a reason for applying that hunk, and I'm guessing 
>> (hoping) that the reason is no longer applicable.
>>
>> Ideally, someone should ITA php and deal with this.  That person will 
>> not be me.   I don't use php and I know nothing about it.  If no one 
>> steps forward, I would be willing to do a one-time non-maintainer upload.
> 
> No one has stepped forward, and Yaakov hasn't responded to say why he 
> needed the problematic portion of the patch.  In view of the recent post 
> on the cygwin list
> 
>    https://sourceware.org/pipermail/cygwin/2020-August/245752.html
> 
> I think I should probably go ahead with an NMU.  Any opinions?

As a practical matter, anyone who can change cygwin-pkg-maint could 
upload anything, after jumping through sufficient hoops.

(In the interest of making life easier for those people, calm doesn't 
usually require them to jump through those hoops (see [1]), allowing 
them to:

- upload orphaned packages
- push to any packaging repository

[1] https://cygwin.com/pipermail/cygwin-apps/2020-February/039819.html)

 > Jon, are you now the de facto packaging czar who can authorize this?

No, I don't think so.

My perspective is that, by virtue of having the necessary access and 
being trusted to use it sensibly, you are already authorized.

Thanks for looking into this issue.

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

end of thread, other threads:[~2020-08-04 15:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-21 21:24 Fix for php Ken Brown
2020-08-04 14:08 ` Ken Brown
2020-08-04 15:07   ` Jon Turney

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