Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 2008 03:32:12 +0530
From:      wahjava.ml@gmail.com (Ashish Shukla =?utf-8?B?4KSG4KS24KWA4KS3IA==?= =?utf-8?B?4KS24KWB4KSV4KWN4KSy?=)
To:        Dmitry Marakasov <amdmi3@amdmi3.ru>
Cc:        FreeBSD Ports Mailing List <freebsd-ports@freebsd.org>
Subject:   Re: [PROPOSAL] Ports using SCM repositories as source instead of distfiles
Message-ID:  <87zlj3heor.fsf@chateau.d.lf>
In-Reply-To: <20081210181125.GA86341@hades.panopticon> (Dmitry Marakasov's message of "Wed, 10 Dec 2008 21:11:25 %2B0300")
References:  <87fxkxjywk.fsf@chateau.d.lf> <20081209143052.GA29817@hades.panopticon> <873agxjn1x.fsf@chateau.d.lf> <20081209181354.GB29817@hades.panopticon> <87tz9di38u.fsf@chateau.d.lf> <20081209222042.GC29817@hades.panopticon> <8763lsi10m.fsf@chateau.d.lf> <20081210181125.GA86341@hades.panopticon>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain; charset=utf-8

Dmitry Marakasov writes:
> * Ashish Shukla आशीष शुक्ल (wahjava.ml@gmail.com) 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

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAklAPGkACgkQHy+EEHYuXnRDBwCg0ySHngPoGFctQT2oGApU1w6h
J2sAoJZ5TR+5Au5ovb9RJ0lzDQ/Y/fNJ
=KANp
-----END PGP SIGNATURE-----
--=-=-=--



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