Dmitry Marakasov writes:
> * Ashish Shukla आशीष शुक्ल ([EMAIL PROTECTED]) wrote:

>> > Current DESTDIR implementation uses chroot and obviously requires
>> > complete system installed in DESTDIR. Also installing a port will
>> > install all dependencies in the chroot as well.
>> 
>> The Debian package building system, also expects the package files in a
>> directory named ${packageroot}/debian/${packagename}/ which you can
>> install by doing 'make install DESTDIR=debian/${packagename}' in
>> ${packageroot} directory (the directory where you've extracted the
>> package tarball, similar to the FreeBSD's ${WRKSRC} directory.
>> 
>> So, my idea is to specify "make -C ${WRKSRC} install 
>> DESTDIR=/var/tmp/${PORTNAME}"
>> in the "install" target of port's Makefile, not to be confused with
>> upstream package's Makefile. And I think you confused it with passing
>> 'DESTDIR' variable to 'make' commandline to start port building
>> procedure:

> How do you expect all ports to respect DESTDIR in their Makefiles,
> while many ports don't even use make? As I've said, that will require
> tremendous amount of hacking and is not even possible sometimes.

How about adding a variable like REQUIRES_DYNAMIC_INSTALLATION=yes,
which will then generate a plist on the basis of "/var/tmp/${PORTNAME}",
so now it is the port's responsibility to install all contents to
"/var/tmp/${PORTNAME}" either by "make install DESTDIR=..." or by some
other way. Having that REQUIRES_DYNAMIC_INSTALLATION also includes a
'post-install' target which will copy all files from
/var/tmp/${PORTNAME} to ${PREFIX}.

-- 
Ashish Shukla

Attachment: pgplWmDn8BjDr.pgp
Description: PGP signature

Reply via email to