Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jan 2014 11:22:31 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Alexey Dokuchaev <danfe@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r341341 - head/devel/xwpe
Message-ID:  <20140127102231.GD30300@ithaqua.etoilebsd.net>
In-Reply-To: <20140127092855.GA88072@FreeBSD.org>
References:  <201401270841.s0R8fjq3007225@svn.freebsd.org> <20140127092855.GA88072@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--BI5RvnYi6R4T2M87
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jan 27, 2014 at 09:28:55AM +0000, Alexey Dokuchaev wrote:
> On Mon, Jan 27, 2014 at 08:41:45AM +0000, Baptiste Daroussin wrote:
> > New Revision: 341341
> > URL: http://svnweb.freebsd.org/changeset/ports/341341
> > QAT: https://qat.redports.org/buildarchive/r341341/
> >=20
> > +CONFIGURE_ARGS=3D	--libdir=3D\$${STAGEDIR}${PREFIX}/share
>=20
> Just a heads-up, not implying that you did not check it; but in many cases
> it can be wrong: passing ${STAGEDIR} directly to configure script argumen=
ts
> like this, there is a risk of ${STAGEDIR} getting embedded in the resulti=
ng
> binaries, which is not what we want.
>=20
> To verify if it's OK, one should grep the source code to see if there are
> any references to STAGEDIR (DESTDIR) passed via -D... (preprocessor or in
> the config.h), and finally, running something like "strings bin/* lib/* |
> grep stage" to verify that ${STAGEDIR} does not remain in what would get
> installed on users' systems.
>=20
> In general, every time you see the need to pass --libdir=3D\$${STAGEDIR} =
or
> even PREFIX=3D${STAGEDIR}${PREFIX} is an indication that ported software =
is
> not quite DESTDIR-ready, and should be checked more thoroughly.
>=20
stage-qa is checking for that. if you not how this is constructed this is w=
ay
different from PREFIX=3D${STAGEDIR}${PREFIX} basically the Makefile will en=
dup
with
prefix=3D ${STAGEDIR}/usr/local
STAGEDIR is not expanded at all here (like in deskhack.mk) so we are just
injecting in the port what it should have nothing more.

This particular port is a bit special as the DESTDIR variable is already de=
fine
it but for something totally different, thus I decided to inject a variable
named STAGEDIR instead that is why I defined DESTDIRNAME to STAGEDIR in the
makefile.

Your remark is valid is still valid for ports doing
--prefix=3D${STAGEDIR}${PREFIX} which is often wrong but not for those doing
--prefix=3D\$${STAGEDIR}${PREFIX} :)

regards,
Bapt


--BI5RvnYi6R4T2M87
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (FreeBSD)

iEYEARECAAYFAlLmM2cACgkQ8kTtMUmk6ExpKQCfbqDl9J4amS/3tNRVNVNXgCiL
I9AAnijihW4a+O+rUQim/jmsZKmcR7Qz
=IwyN
-----END PGP SIGNATURE-----

--BI5RvnYi6R4T2M87--



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