Bug 181658 - misc/freebsd-doc-en fails to build if the user is running a Korn shell.
Summary: misc/freebsd-doc-en fails to build if the user is running a Korn shell.
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Document Engineering Group (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-29 19:20 UTC by Paul Keusemann
Modified: 2018-02-18 22:30 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Keusemann 2013-08-29 19:20:00 UTC
The freebsd-doc-en port will not build if the user is logged in using a Korn shell.  The build tries to use the value of the ENV environment variable as a shell to run the jade command on article.parsed.print.xml.  I worked around this by doing an 'su - root' and re-running the make.

Portupgrade output follows:

--->  Building '/usr/ports/misc/freebsd-doc-en'
===>  Cleaning for en-freebsd-doc-42489,1
===>  Found saved configuration for en-freebsd-doc-39016
=> freebsd-doc-42489.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/blackend/freebsd-doc-42489.tar.gz
===> Fetching all distfiles required by en-freebsd-doc-42489,1 for building
===>  Extracting for en-freebsd-doc-42489,1
=> SHA256 Checksum OK for freebsd-doc-42489.tar.gz.
===>  Patching for en-freebsd-doc-42489,1
===>   en-freebsd-doc-42489,1 depends on package: docproj>=1.17 - found
===>  Configuring for en-freebsd-doc-42489,1
===>  Building for en-freebsd-doc-42489,1
/bin/cat /usr/ports/misc/freebsd-doc-en/pkg-plist.html-split /usr/ports/misc/freebsd-doc-en/pkg-plist.pdf /usr/ports/misc/freebsd-doc-en/pkg-plist.txt /usr/ports/misc/freebsd-doc-en/pkg-plist.html-common /usr/ports/misc/freebsd-doc-en/pkg-plist.extras /usr/ports/misc/freebsd-doc-en/pkg-plist.common > /usr/ports/misc/freebsd-doc-en/work/pkg-plist
===> en_US.ISO8859-1 (all)
===> en_US.ISO8859-1/articles (all)
===> en_US.ISO8859-1/articles/bsdl-gpl (all)
/usr/bin/grep '^<?xml version=.*?>' article.xml > article.parsed.xml.tmp
echo '<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN" "../../../share/xml/freebsd45.dtd">' >> article.parsed.xml.tmp
==> Basic validation
env XML_CATALOG_FILES="file:///usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl/catalog-cwd.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/share/xml/catalog.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/share/xml/catalog.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/share/xml/catalog-common.xml  file:///usr/local/share/xml/catalog" /usr/local/bin/xmllint --nonet --noent --valid --xinclude --dropdtd /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl/article.xml |  /usr/bin/grep -v '^<?xml version=.*?>' >> article.parsed.xml.tmp
/bin/mv article.parsed.xml.tmp article.parsed.xml
/usr/bin/sed 's|@@URL_RELPREFIX@@|http://www.FreeBSD.org|g' < article.parsed.xml > article.parsed.print.xml
/usr/bin/sed -i '' 's|@@URL_RELPREFIX@@|../../../..|g' article.parsed.xml
/bin/rm -f docbook.css
/bin/cat /usr/ports/misc/freebsd-doc-en/work/doc/share/misc/docbook.css > docbook.css
env XML_CATALOG_FILES="file:///usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl/catalog-cwd.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/share/xml/catalog.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/share/xml/catalog.xml  file:///usr/ports/misc/freebsd-doc-en/work/doc/share/xml/catalog-common.xml  file:///usr/local/share/xml/catalog" /usr/local/bin/xsltproc  --xinclude --nonet /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/share/xsl/freebsd-xhtml-chunk.xsl article.parsed.xml
Writing trademarks.html for legalnotice(trademarks)
Writing history.html for sect1(history)
Writing unix-license.html for sect1(unix-license)
Writing current-bsdl.html for sect1(current-bsdl)
Writing origins-gpl.html for sect1(origins-gpl)
Writing origins-lgpl.html for sect1(origins-lgpl)
Writing orphaning.html for sect1(orphaning)
Writing license-cannot.html for sect1(license-cannot)
Writing gpl-advantages.html for sect1(gpl-advantages)
Writing bsd-advantages.html for sect1(bsd-advantages)
Writing recommendations.html for sect1(recommendations)
Writing conclusion.html for sect1(conclusion)
Writing addenda.html for sect1(addenda)
Writing index.html for article
Writing HTML.manifest
/root/.shrc SP_ENCODING=XML /usr/local/bin/jade -V tex-backend -ioutput.print -d /usr/ports/misc/freebsd-doc-en/work/doc/share/xml/default.dsl -ifreebsd.urls.absolute -V %generate-article-toc%  -ijade.compat -w no-valid   -D /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl/../../../share/images/articles/bsdl-gpl -D /usr/obj/usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl  -c /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/share/xml/catalog -c /usr/ports/misc/freebsd-doc-en/work/doc/share/xml/catalog -c /usr/local/share/sgml/docbook/dsssl/modular/catalog -c /usr/local/share/sgml/jade/catalog -t tex -o article.tex /usr/local/share/sgml/docbook/dsssl/modular/dtds/decls/xml.dcl article.parsed.print.xml
/usr/bin/sed -i '' -e 's|{1}\\def\\ScaleY%|{0.5}\\def\\ScaleY%|g'  -e 's|{1}\\def\\EntitySystemId%|{0.5}\\def\\EntitySystemId%|g'  article.tex
sed: article.tex: No such file or directory
*** Error code 1

Stop in /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles/bsdl-gpl.
*** Error code 1

Stop in /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1/articles.
*** Error code 1

Stop in /usr/ports/misc/freebsd-doc-en/work/doc/en_US.ISO8859-1.
*** Error code 1

Stop in /usr/ports/misc/freebsd-doc-en/work/doc.
*** Error code 1

Stop in /usr/ports/misc/freebsd-doc-en.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20130829-46666-1lrjlpj env UPGRADE_TOOL=portupgrade UPGRADE_PORT=en-freebsd-doc-42326,1 UPGRADE_PORT_VER=42326,1 make BATCH=yes
** Fix the problem and try again.

Fix: 

I cannot find where it is supposed to be set but I presume the Make macro ENV is meant to contain the path the the env command.  Unfortunately, this conflicts with the Korn shell ENV variable, so the easiest fix would be to change the name of the Make macro to something else, e.g.: ENV_CMD.
How-To-Repeat: Attempt to build the /usr/ports/misc/freebsd-doc-en port while logged in as a user with the Korn shell (ksh) as your shell.

In addition, the ENV environment variable should be set to the path of a Korn shell .kshrc  file.
Note:  In my case, ENV=/root/.shrc
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-08-30 04:11:17 UTC
Responsible Changed
From-To: freebsd-ports-bugs->doceng

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Carlo Strub freebsd_committer freebsd_triage 2014-09-14 10:43:46 UTC
Is this PR still relevant?
Comment 3 Walter Schwarzenfeld freebsd_triage 2018-01-11 18:10:23 UTC
No maintainer feedback till now. Respective is this still a problem?
Comment 4 Walter Schwarzenfeld freebsd_triage 2018-02-18 22:30:12 UTC
They problem still existed with no PATH setting.

I was able build it in two ways: 
with setting the PATH variable in  .shrc
or
adding localbase to the Makefile.

It is always needed to set a PATH in "shellrc". 
So I assume it is no bug and close here.