Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Nov 2013 05:41:16 +0000
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        Danilo Egea Gondolfo <danilo@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r332477 - in head/x11/xnodecor: . files
Message-ID:  <20131106054116.GA52391@FreeBSD.org>
In-Reply-To: <201311021258.rA2Cwb9v075590@svn.freebsd.org>
References:  <201311021258.rA2Cwb9v075590@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 02, 2013 at 12:58:37PM +0000, Danilo Egea Gondolfo wrote:
> New Revision: 332477
> URL: http://svnweb.freebsd.org/changeset/ports/332477
> 
> Log:
>   - Add stage support
> 
> @@ -14,8 +14,8 @@ COMMENT=	Utility to set override_redirec
>  NO_WRKSUBDIR=	yes
>  USE_XORG=	x11
>  PLIST_FILES=	bin/xnodecor
> +MAKE_ARGS=	PREFIX=${STAGEDIR}${PREFIX}

This approach, while seemingly works (here), is wrong by design.  PREFIX
should never contain STAGEDIR (or however it is spelled).  PREFIX assumed
be a real path during software runtime, e.g. open("$prefix/foo/bar", ...)
must work after package was installed (and staging directory long gone).

Moreover, once you remove NO_STAGE, you'll get correct DESTDIR *already*
set via MAKE_ARGS, easy to check:

  % make -V MAKE_ARGS
  DESTDIR=/usr/ports/x11/xnodecor/work/stage

Ergo you do not need that line in Makefile at all.

> -NO_STAGE=	yes
> 
> @@ -9,7 +9,7 @@ xnodecor:
>  	$(CC) -o xnodecor xnodecor.c $(CFLAGS) $(LDFLAGS) $(LIBS)
>  
>  install:
> -	${BSD_INSTALL_PROGRAM} xnodecor ${LOCALBASE}/bin
> +	${BSD_INSTALL_PROGRAM} xnodecor ${PREFIX}/bin

Now this is the place of the real bug: it should be ${DESTDIR}${PREFIX}.

./danfe



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131106054116.GA52391>