Bug 211075 - www/rubygem-passenger: fails to patch
Summary: www/rubygem-passenger: fails to patch
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Many People
Assignee: Sergey A. Osokin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-13 09:08 UTC by sirdice
Modified: 2016-07-14 00:18 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (osa)


Attachments
Poudriere build log for rubygem-passenger-5.0.29 (103.74 KB, text/plain)
2016-07-13 11:40 UTC, sirdice
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description sirdice 2016-07-13 09:08:51 UTC
www/rubygem-passenger was updated to 5.0.29 a few hours ago. Unfortunately it now fails to apply the cxx_portality patch. Attached is the poudriere build log.

====>> Building www/rubygem-passenger
build started at Wed Jul 13 10:45:46 CEST 2016
port directory: /usr/ports/www/rubygem-passenger
building for: FreeBSD TC103-RELEASE-default-job-02 10.3-RELEASE-p5 FreeBSD 10.3-RELEASE-p5 amd64
maintained by: osa@FreeBSD.org
Makefile ident:      $FreeBSD: head/www/rubygem-passenger/Makefile 418452 2016-07-13 00:36:11Z osa $
Poudriere version: 3.2-pre
Host OSVERSION: 1003000
Jail OSVERSION: 1003000

---Begin Environment---
SHELL=/bin/csh
UNAME_v=FreeBSD 10.3-RELEASE-p5
UNAME_r=10.3-RELEASE-p5
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
ARCH=amd64
SAVED_TERM=screen
MASTERMNT=/usr/local/poudriere/data/.m/TC103-RELEASE-default/ref
FORCE_PACKAGE=yes
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
_JAVA_VERSION_LIST_REGEXP=1.6\|1.7\|1.8\|1.6+\|1.7+\|1.8+
POUDRIERE_BUILD_TYPE=bulk
PKGNAME=rubygem-passenger-5.0.29
OSREL=10.3
_OSRELEASE=10.3-RELEASE-p5
PYTHONBASE=/usr/local
OLDPWD=/
_SMP_CPUS=24
PWD=/usr/local/poudriere/data/.m/TC103-RELEASE-default/ref/.p/pool
HAVE_COMPAT_IA32_KERN=YES OPSYS=FreeBSD
MASTERNAME=TC103-RELEASE-default
SCRIPTPREFIX=/usr/local/share/poudriere
_JAVA_VENDOR_LIST_REGEXP=openjdk\|oracle\|sun
USER=root
HOME=/root
POUDRIERE_VERSION=3.2-pre
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
CONFIGURE_MAX_CMD_LEN=262144
LIBEXECPREFIX=/usr/local/libexec/poudriere
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
_JAVA_OS_LIST_REGEXP=native\|linux
OSVERSION=1003000
---End Environment---

---Begin OPTIONS List---
===> The following configuration options are available for rubygem-passenger-5.0.29:
     DEBUG=off: Build with debugging support
     SYMLINK=on: Create passenger symlink
====> Options available for the single SERVER: you have to select exactly one of them
     APACHE22=on: Build with apache22 support
     NGINX=off: Build with nginx support
===> Use 'make config' to modify these settings
---End OPTIONS List---

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work  HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work  HOME=/wrkdirs/usr/ports/www/rubygem-passenger/work TMPDIR="/tmp" NO_PIE=yes WITHOUT_DEBUG_FILES=yes WITHOUT_KERNEL_SYMBOLS=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing"  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector" LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
RUBY_LIBDIR="lib/ruby/2.3"
RUBY_ARCHLIBDIR="lib/ruby/2.3/amd64-freebsd10"
RUBY_SITELIBDIR="lib/ruby/site_ruby/2.3"
RUBY_SITEARCHLIBDIR="lib/ruby/site_ruby/2.3/amd64-freebsd10"
RUBY_VENDORLIBDIR="lib/ruby/vendor_ruby/2.3"
RUBY_VENDORARCHLIBDIR="lib/ruby/vendor_ruby/2.3/amd64-freebsd10"
RUBY_MODDOCDIR="share/doc/ruby23/passenger"
RUBY_MODEXAMPLESDIR="share/examples/ruby23/passenger"
RUBY_DOCDIR="share/doc/ruby23"
RUBY_EXAMPLESDIR="share/examples/ruby23"
RUBY_RIDIR="share/ri/2.3/system"
RUBY_SITERIDIR="share/ri/2.3/site"
RUBY_ELISPDIR="lib/ruby/elisp"
RUBY_VERSION="2.3.1"
RUBY_VER="2.3"
RUBY_SHLIBVER="23"
RUBY_ARCH="amd64-freebsd10"
RUBY_SUFFIX="23"
RUBY_NAME="ruby23"
RUBY_DEFAULT_SUFFIX="23"
RUBY21="@comment
"
RUBY22="@comment
"
RUBY23=""
RUBY_RD_HTML_FILES="@comment
"
APACHEMODDIR="libexec/apache22"
APACHEINCLUDEDIR="include/apache22"
APACHEETCDIR="etc/apache22"
APACHE_VERSION="22"
AP_NAME="passenger"
AP_MODULE="passenger.so"
PORTVERSION="5.0.29"
REV=""
GEMS_BASE_DIR="lib/ruby/gems/2.3"
GEMS_DIR="lib/ruby/gems/2.3/gems"
DOC_DIR="lib/ruby/gems/2.3/doc"
CACHE_DIR="lib/ruby/gems/2.3/cache"
SPEC_DIR="lib/ruby/gems/2.3/specifications"
EXT_DIR="lib/ruby/gems/2.3/extensions"
PORT="passenger-5.0.29"
GEM_NAME="passenger-5.0.29"
GEM_LIB_DIR="lib/ruby/gems/2.3/gems/passenger-5.0.29"
GEM_DOC_DIR="lib/ruby/gems/2.3/doc/passenger-5.0.29"
GEM_SPEC="lib/ruby/gems/2.3/specifications/passenger-5.0.29.gemspec"
GEM_CACHE="lib/ruby/gems/2.3/cache/passenger-5.0.29.gem"
EXTRACT_SUFX=".gem"
OSREL=10.3
PREFIX=%D
LOCALBASE=/usr/local
RESETPREFIX=/usr/local
PORTDOCS="@comment
"
PORTEXAMPLES=""
LIB32DIR=lib
AP_MOD_EN="-A"
DOCSDIR="share/doc/passenger"
EXAMPLESDIR="share/examples/passenger"
DATADIR="share/passenger"
WWWDIR="www/passenger"
ETCDIR="etc/passenger"
--End PLIST_SUB--

--SUB_LIST--
GEM_LIB_DIR=lib/ruby/gems/2.3/gems/passenger-5.0.29
RUBY=/usr/local/bin/ruby23
PASSENGER_INSTALL_DIR="/usr/local/lib/ruby/gems/2.3/gems/passenger"
APACHEMODDIR="libexec/apache22"
APACHEETCDIR="etc/apache22"
APACHE_VERSION="22"
PREFIX=/usr/local
LOCALBASE=/usr/local
DATADIR=/usr/local/share/passenger
DOCSDIR=/usr/local/share/doc/passenger
EXAMPLESDIR=/usr/local/share/examples/passenger
WWWDIR=/usr/local/www/passenger
ETCDIR=/usr/local/etc/passenger
--End SUB_LIST--

---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
#### /usr/local/etc/poudriere.d/make.conf ####

# We do not want X11
OPTIONS_UNSET+= X11

DEFAULT_VERSIONS= mysql=5.5 apache=2.2 ruby=2.3

WANT_OPENLDAP_SASL=

# MySQL 5.1
#WITH_CHARSET=utf8
#WITH_COLLATION=utf8_general_ci
#WITH_LINUXTHREADS=yes
#WITH_PROC_SCOPE_PTH=yes
#WITH_FAST_MUTEXES=yes
#BUILD_OPTIMIZED=yes

# MySQL 5.5
#DEFAULT_CHARSET=utf8
#DEFAULT_COLLATION=utf8_general_ci

# Net-SNMP
#NET_SNMP_SYS_CONTACT="server@vivazz.com"
#NET_SNMP_SYS_LOCATION="DCG_179"

# Needed for Puppet
#WITH_ETCSYMLINK=on

---End make.conf---
=======================<phase: check-sanity   >============================
/!\ WARNING /!\
You are using the following deprecated options: NOPORTDOCS
If you added them on the command line, you should replace them by
WITH="" WITHOUT="DOCS"

If they are global options set in your make.conf, you should replace them with:
OPTIONS_UNSET=DOCS

If they are local to this port, you should use:
www_rubygem-passenger_UNSET=DOCS

===>  Found saved configuration for rubygem-passenger-5.0.28
===========================================================================
=======================<phase: pkg-depends    >============================
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.8.7.txz
[TC103-RELEASE-default-job-02] Installing pkg-1.8.7...
[TC103-RELEASE-default-job-02] Extracting pkg-1.8.7: .......... done
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of rubygem-passenger-5.0.29
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
/!\ WARNING /!\
You are using the following deprecated options: NOPORTDOCS
If you added them on the command line, you should replace them by
WITH="" WITHOUT="DOCS"

If they are global options set in your make.conf, you should replace them with:
OPTIONS_UNSET=DOCS

If they are local to this port, you should use:
www_rubygem-passenger_UNSET=DOCS

===>  Found saved configuration for rubygem-passenger-5.0.28
=> passenger-5.0.29.gem doesn't seem to exist in /portdistfiles/rubygem.
=> Attempting to fetch https://rubygems.global.ssl.fastly.net/gems/passenger-5.0.29.gem
passenger-5.0.29.gem                                     0  B    0  Bps
===> Fetching all distfiles required by rubygem-passenger-5.0.29 for building
===========================================================================
=======================<phase: checksum       >============================
/!\ WARNING /!\
You are using the following deprecated options: NOPORTDOCS
If you added them on the command line, you should replace them by
WITH="" WITHOUT="DOCS"

If they are global options set in your make.conf, you should replace them with:
OPTIONS_UNSET=DOCS

If they are local to this port, you should use:
www_rubygem-passenger_UNSET=DOCS

===>  Found saved configuration for rubygem-passenger-5.0.28
===> Fetching all distfiles required by rubygem-passenger-5.0.29 for building
=> SHA256 Checksum OK for rubygem/passenger-5.0.29.gem.
===========================================================================
=======================<phase: extract-depends>============================
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/bin/ruby23 - not found
===>   Installing existing package /packages/All/ruby-2.3.1,1.txz
[TC103-RELEASE-default-job-02] Installing ruby-2.3.1,1...
[TC103-RELEASE-default-job-02] `-- Installing libffi-3.2.1...
[TC103-RELEASE-default-job-02] |   `-- Installing indexinfo-0.2.4...
[TC103-RELEASE-default-job-02] |   `-- Extracting indexinfo-0.2.4: .... done
[TC103-RELEASE-default-job-02] `-- Extracting libffi-3.2.1: .......... done
[TC103-RELEASE-default-job-02] `-- Installing libyaml-0.1.6_2...
[TC103-RELEASE-default-job-02] `-- Extracting libyaml-0.1.6_2: ......... done
[TC103-RELEASE-default-job-02] `-- Installing libedit-3.1.20150325_2,1...
[TC103-RELEASE-default-job-02] `-- Extracting libedit-3.1.20150325_2,1: .......... done
[TC103-RELEASE-default-job-02] Extracting ruby-2.3.1,1: .......... done
Message from ruby-2.3.1,1:
====
Some of the standard commands are provided as separate ports for ease
of upgrading:

	devel/ruby-gems:	gem - RubyGems package manager
	devel/rubygem-rake:	rake - Ruby Make

And some of the standard libraries are provided as separate ports
since they require extra dependencies:

	databases/ruby-gdbm:	GDBM module

Install them as occasion demands.
====
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/bin/ruby23 - found
===>   Returning to build of rubygem-passenger-5.0.29
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/bin/gem23 - not found
===>   Installing existing package /packages/All/ruby23-gems-2.6.4.txz
[TC103-RELEASE-default-job-02] Installing ruby23-gems-2.6.4...
[TC103-RELEASE-default-job-02] Extracting ruby23-gems-2.6.4: .......... done
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/bin/gem23 - found
===>   Returning to build of rubygem-passenger-5.0.29
===========================================================================
=======================<phase: extract        >============================
/!\ WARNING /!\
You are using the following deprecated options: NOPORTDOCS
If you added them on the command line, you should replace them by
WITH="" WITHOUT="DOCS"

If they are global options set in your make.conf, you should replace them with:
OPTIONS_UNSET=DOCS

If they are local to this port, you should use:
www_rubygem-passenger_UNSET=DOCS

===>  Found saved configuration for rubygem-passenger-5.0.28
===> Fetching all distfiles required by rubygem-passenger-5.0.29 for building
===>  Extracting for rubygem-passenger-5.0.29
=> SHA256 Checksum OK for rubygem/passenger-5.0.29.gem.
Unpacked gem: '/wrkdirs/usr/ports/www/rubygem-passenger/work/passenger-5.0.29'
===========================================================================
=======================<phase: patch-depends  >============================
===>   rubygem-passenger-5.0.29 depends on file: /usr/local/bin/ruby23 - found
===========================================================================
=======================<phase: patch          >============================
===>  Patching for rubygem-passenger-5.0.29
===>  Applying FreeBSD patches for rubygem-passenger-5.0.29
1 out of 1 hunks failed--saving rejects to src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb.rej
=> Patch patch-cxx_portality.rb failed to apply cleanly.
*** Error code 1

Stop.
make: stopped in /usr/ports/www/rubygem-passenger
====>> Cleaning up wrkdir
===>  Cleaning for rubygem-passenger-5.0.29
build of www/rubygem-passenger ended at Wed Jul 13 10:47:03 CEST 2016
build time: 00:01:17
!!! build failure encountered !!!
Comment 1 sirdice 2016-07-13 09:58:59 UTC
Looking through the code, the patch and the reject, it looks like the patch isn't needed anymore. Removing it seems to work, the port builds again.
Comment 2 Walter Schwarzenfeld freebsd_triage 2016-07-13 10:31:06 UTC
I renamed the patch. Seems this patch is no more needed. The files does not exist.
Seems there are more changes needed, fails near the end with:
Warning: 'lib/ruby/gems/2.2/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Error: .la libraries found, port needs USES=libtool
Error: /usr/local/lib/ruby/gems/2.2/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so is linked to /usr/local/lib/libapr-1.so.0 from devel/apr1 but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libapr-1.so:devel/apr1
Error: /usr/local/lib/ruby/gems/2.2/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so is linked to /usr/local/lib/libaprutil-1.so.0 from devel/apr1 but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libaprutil-1.so:devel/apr1
Error: /usr/local/lib/ruby/gems/2.2/gems/passenger-5.0.29/buildout/ruby/ruby-2.2.5-x86_64-freebsd/passenger_native_support.so is linked to /usr/local/lib/libunwind.so.8 from devel/libunwind but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libunwind.so:devel/libunwind
*** Error code 1

If add the LIB_DEPENDS and USES=libtool it compiles  fien to the end and installs.
Comment 3 sirdice 2016-07-13 11:39:24 UTC
It doesn't fail for me, it builds fine. I am getting some warnings about NOPORTDOCS but this doesn't seem to have an impact. Port is now actually running on several production machines. 

One major difference is that we use Ruby 2.3 as default. For completeness sake I've attached the full, successful, build logs.
Comment 4 sirdice 2016-07-13 11:40:00 UTC
Created attachment 172458 [details]
Poudriere build log for rubygem-passenger-5.0.29
Comment 5 Walter Schwarzenfeld freebsd_triage 2016-07-13 11:52:40 UTC
The error messages were in the port. Both the patch error and the other. But I have DEVELOPER=yes in /etc/make.conf.
Comment 6 commit-hook freebsd_committer 2016-07-13 17:03:54 UTC
A commit references this bug:

Author: osa
Date: Wed Jul 13 17:03:01 UTC 2016
New revision: 418494
URL: https://svnweb.freebsd.org/changeset/ports/418494

Log:
  Actually remove needless patch.

  PR:	211075

Changes:
  head/www/rubygem-passenger/files/patch-cxx_portality.rb
Comment 7 Sergey A. Osokin freebsd_committer 2016-07-14 00:18:37 UTC
Thanks for report, the needless patch has been removed.