ports/153286: WRKDIRPREFIX not working

Oliver stony at gmx.org
Sat Dec 18 23:00:18 UTC 2010


>Number:         153286
>Category:       ports
>Synopsis:       WRKDIRPREFIX not working
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 18 23:00:18 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Oliver
>Release:        8.1-RELEASE
>Organization:
N/A
>Environment:
FreeBSD foo 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Hello,

I'm using ports inside ezjails and the ports tree is in the basejail's image. After building and installing a port the creation of the package, invoked by "make package" fails, because tar can't open the file in "/usr/ports/$category/$package/$package-$version.tbz". As the ports directory is mounted via nullfs to the jail, it's ok that the system is missing the write access there. 

The manual states that the environment variable "WRKDIRPREFIX" is used to point to a folder where the temporary files of a package are stored/created. So the "build" of the package should be stored in $WRKDIRPREFIX/$category/package" before it is moved to the packages folder, but it isn't.

Here a snipplet from a screen build inside the jail:

foo# pwd                 
/basejail/usr/ports/sysutils/screen
foo# cat /etc/make.conf
WRKDIRPREFIX=           /var/ports
DISTDIR=                /var/ports/distfiles
PACKAGES=               /var/ports/packages
INDEXDIR=               /var/ports
foo# set WRKDIRPREFIX=/var/ports
foo# echo $WRKDIRPREFIX
/var/ports
foo# make package
===>  Building package for screen-4.0.3_9
tar: Failed to open '/basejail/usr/ports/sysutils/screen/screen-4.0.3_9.tbz'
pkg_create: make_dist: tar command failed with code 256
*** Error code 1

Stop in /basejail/usr/ports/sysutils/screen.
*** Error code 1

Stop in /basejail/usr/ports/sysutils/screen.
foo# 

>How-To-Repeat:
# create an ezjail basejail with ports directory included
$ ezjail-admin install -m -p

# create a jail
$ ezjail-admin create foo 1.2.3.4

# get a console inside the jail
$ ezjail-console foo

# go to /usr/ports/sysutils/screen
$ cd /usr/ports/sysutils/screen

# build and install the package
$ make install

# create the package
$ make package

# see the error
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list