Index: postinstall =================================================================== --- postinstall 12 Aug 2014 09:12:18 -0000 1.179 +++ postinstall 14 Aug 2014 09:15:58 -0000 @@ -728,7 +728,22 @@ get_makevar() detect_x11() { if $SOURCEMODE; then - get_makevar MKX11 X11ROOTDIR X11SRCDIR + if [ -n "${XSRC_DIR}" ]; then + # -x XSRC_DIR on command line forces MKX11=yes + # and forces X11SRCDIR, but X11ROOTDIR comes + # from get_makevar. + MKX11=yes + X11SRCDIR="${XSRC_DIR}" + get_makevar X11ROOTDIR + else + # No -x on command line. Use get_makevar, and + # set XSRC_DIR according to the result. + get_makevar MKX11 X11ROOTDIR X11SRCDIR + case "${MKX11:-no}" in + [yY][eE][sS]) XSRC_DIR="${X11SRCDIR}" ;; + esac + + fi else if [ -f "${SRC_DIR}/etc/mtree/set.xetc" ]; then MKX11=yes @@ -738,6 +753,9 @@ detect_x11() X11ROOTDIR= fi X11SRCDIR=/nonexistent/xsrc + if [ -n "${XSRC_DIR}" ]; then + err 2 "-x option is allowed only in source mode" + fi fi } @@ -938,6 +956,9 @@ do_fontconfig() if ! $SOURCEMODE; then FONTCONFIG_DIR="${SRC_DIR}/etc/fonts/conf.avail" else + if [ -z "${XSRC_DIR}" ]; then + msg "No xsrc dir; skipping fontconfig check" + fi FONTCONFIG_DIR="${XSRC_DIR}/external/mit/fontconfig/dist/conf.d" fi @@ -2053,7 +2074,7 @@ Usage: ${PROGNAME} [-s srcdir] [-x xsrcd [${SRC_DIR:-/usr/src}] -x xsrcdir Location of the X11 source files. This must be a directory that contains a NetBSD xsrc tree. - [${XSRC_DIR:-/usr/src/../xsrc}] + [automatic] -d destdir Destination directory to check. [${DEST_DIR:-/}] -m mach MACHINE. [${MACHINE}] -a arch MACHINE_ARCH. [${MACHINE_ARCH}] @@ -2096,7 +2117,7 @@ main() TGZLIST= # quoted list list of tgz files SRC_ARGLIST= # quoted list of one or more "-s" args SRC_DIR="${SRC_ARG}" # set default value for early usage() - XSRC_DIR="${SRC_ARG}/../xsrc" + XSRC_DIR="" N_SRC_ARGS=0 # number of "-s" args TGZMODE=false # true if "-s" specifies a tgz file DIRMODE=false # true if "-s" specified a directory Index: postinstall.8 =================================================================== --- postinstall.8 15 Aug 2012 16:21:41 -0000 1.16 +++ postinstall.8 14 Aug 2014 09:25:43 -0000 @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 15, 2012 +.Dd August 14, 2014 .Dt POSTINSTALL 8 .Os .Sh NAME @@ -39,6 +39,7 @@ .Op Fl d Ar destdir .Op Fl m Ar machine .Op Fl s Brq Ar srcdir | Ar tgzdir | Ar tgzfile +.Op Fl x Ar xsrcdir .Ar operation .Op Ar item Op ... .Sh DESCRIPTION @@ -118,6 +119,24 @@ The .Dq Pa xetc.tgz set file is optional. .El +.It Fl x Ar xsrcdir +Location of the X11 source files. +If specified, this must be a directory that contains a +.Nx +.Sy xsrc +tree. +This option is valid only in source mode (when the +.Fl s +option specifies a directory that contains a +.Nx +.Sy src +tree). +By default, this is derived from the +.Ev MKX11 +and +.Ev X11SRCDIR +variables in the environment and +.Xr mk.conf 5 . .El .Pp The