On Thu, Dec 20, 2001 at 01:31:04PM -0500, The Anarcat wrote: > [posted to -arch, and CC'd to hackers since I have no idea as to where > this belongs, please redirect if necessary] > > Hi. > > As a developper working in the FreeBSD/ports paradigm, and developping > exclusively for FreeBSD through the libh project, it has come to my > attention that applications developped through /usr/share/mk Makefiles > (in particular bsd.prog.mk and bsd.lib.mk) do not respect PREFIX. > > That is, the libh Makefiles, as set now, install in /usr no matter what. > There is no real alternative. Setting DESTDIR will install in > /${DESTDIR}/usr, without changing the PREFIX (/usr). > > In other words, apps developped using /usr/share/mk makefiles are > incompatible with the ports collection PREFIX-independance paradigm. > > That sucks. > > This is a problem which must be solved. As a hack, the libh port uses a > custom install target in the ports skeleton (ie, it doesn't use libh > install targets). > > How I see it, the .mk files must be hacked. One could try such a replace > pattern, I guess: s!install(.*)${DESTDIR}!install\1${PREFIX}/${DESTDIR}! > > I tried to produce a significant patch, and I failed. I do not > understand how some files end up in /bin and some other in /usr/bin. > > If someone can help me with that, I will happily start hacking on the mk > files, but in the meantime, I'm lost. > I'm against PREFIX in share/mk files. Instead, just setting DESTDIR=${PREFIX} should (almost) be enough. Another set of "hacks" might be required for *DIR settings, like LIBDIR=/lib, MANDIR=/man, etc. Just adding the PREFIX wouldn't solve these differences between / and /usr/local anyway.
Cheers, -- Ruslan Ermilov Oracle Developer/DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message