On Thu, Oct 31, 2013 at 10:30:03AM +0200, Kimmo Paasiala wrote: > Could we have this as an example what not to in the Makefile. It is > from the latest change to the Makefile of sysutils/kiconvtool. > > > MAKE_ARGS= PREFIX="${STAGEDIR}${PREFIX}" > > This breaks stuff that edits scripts in place trying to replace paths > that depend on the value of PREFIX.
The proper way to do this - and the way it's done on other OSs and other packaging systems that have the staging directory feature - is to: 1. Pass ${STAGEDIR} as a separate build option to the actual build; it's traditional to pass it as the DESTDIR option: MAKE_ARGS+= DESTDIR="${STAGEDIR}" 2. Make sure that the actual build honors DESTDIR. Yes, this does mean that in some cases you have to patch the upstream build system; please do this, and please forward the patches to the upstream authors, so that their piece of software builds properly everywhere and is that much easier to package for everyone :) Yes, this does involve a bit more work for the port maintainer in cases when the upstream build system is not yet DESTDIR-aware. Yes, this is actually a good thing, this is practically an omission of the upstream authors that will be corrected sooner or later by somebody, either the FreeBSD port maintainer or some other packager :) G'luck, Peter -- Peter Pentchev r...@ringlet.net r...@freebsd.org p.penc...@storpool.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13 If you think this sentence is confusing, then change one pig.
signature.asc
Description: Digital signature