Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Oct 2013 10:41:31 -0500
From:      Scot Hetzel <swhetzel@gmail.com>
To:        Dewayne <dewayne.geraghty@heuristicsystems.com.au>
Cc:        Ekkehard Gehm <gehm@doom-labs.net>, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: stagedir vs. jail
Message-ID:  <CACdU%2Bf-FZnTER4UvpuTh3wpbQjvyPTiui0SGut7h2_A37xQDjg@mail.gmail.com>
In-Reply-To: <525AADE4.6010007@heuristicsystems.com.au>
References:  <20131013105853.GA63463@doom-labs.net> <525A8AB5.9000102@FreeBSD.org> <20131013122217.GA87222@doom-labs.net> <20131013131901.GA55678@doom-labs.net> <525AADE4.6010007@heuristicsystems.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 13, 2013 at 9:27 AM, Dewayne
<dewayne.geraghty@heuristicsystems.com.au> wrote:
> My setup is slightly different, where I do use as Matthew recommends,
> nullfs is used without symlinks; and pkg_* and portmaster are used for
> the build process.  We've been using jails to build ports for different
> architectures for years, the builds are currently on a FreeBSD 9.2Stable
> (Built from source on Oct 8) system.
>
> Building all ports after a complete wipe,  using the portmaster commands
> fails due to missing file
> + portmaster --no-term-title --no-confirm -H -K -D -g -G -B -v -m
> __MAKE_CONF=/etc/make_P3.conf -m -DBUILD__PRODUCTION mail/sendmail
> tar: etc/rc.d/saslauthd: Cannot stat: No such file or directory
> tar: Error exit delayed from previous errors.
> pkg_create: make_dist: tar command failed with code 256
>
> In fact the file does exist:
> # ls -lh /usr/staging/usr/local/etc/rc.d/saslauthd
> -r-xr-xr-x  1 root  wheel   940B Oct 14 00:55
> /usr/staging/usr/local/etc/rc.d/saslauthd
> and not in /usr/local/etc/rc.d/
>
> As you can see sendmail builds saslauthd as a prerequisite.  The build
> process also fails in the same way, missing file in etc/rc.d/... for
> samba36, samba4, isc-dhcp42-server and cyrus-sasl2-saslauthd, but works
> correctly for some 40 other packages.
>
> The make.conf includes:
> WRKDIRPREFIX=/var/ports
> DISTDIR=/distfiles
> TMPDIR=/tmp
> PACKAGES=/packages
> STAGEDIR=/usr/staging
> FAVORITE_COMPILER=gcc
> DEFAULT_VERSIONS=perl5=5.16 python=2.7 python2=2.7 apache=22
> DISABLE_LICENSES=yes  # Not that I want to, only that it prevented the
> build (a PR existed for this)
> WITH_CCACHE_BUILD=yes
> MAKE_JOBS_UNSAFE=yes
>
> I suspect the problem lies within the if/then block ".if
> !target(install-rc-script)" in bsd.port.mk, but lack the know-how to
> proceed further.
>
I have sent PR 182972 regarding this issue:

http://www.freebsd.org/cgi/query-pr.cgi?pr=182972

The cause of the issue is due to setting STAGEDIR in /etc/make.conf
and Mk/bsd.port.mk not undefining STAGEDIR when NO_STAGE is set. Which
causes the install-rc-script to look in the STAGEDIR for the file.

Scot



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf-FZnTER4UvpuTh3wpbQjvyPTiui0SGut7h2_A37xQDjg>